Государственная политика продвижения инновационных подходов направлена, прежде всего, на создание и освоение новых технологий.
Основа инновационного процесса – качество принимаемого решения, которое зависит от используемых научных подходов, методов моделирования, уровня автоматизации управления, мотивации принимаемых решений.
Мировая экономическая система давно уже вступила в эпоху формирования информационного общества, и совершенно очевидно, что на современном этапе информационные технологии наиболее существенно влияют на развитие общества и государства.
Важной составляющей информатизации является управления этим сложным процессом – информационный менеджмент как самостоятельно выделившаяся область менеджмента бизнеса информационных ресурсов.
Приоритетной задачей информационного менеджмента на сегодняшний день является формирование и осуществление инновационной политики в области информатизации.
Как известно, основными принципами инновационного менеджмента являются: ориентация на будущих потребителей; лидерство в инновациях; партнёрские взаимоотношения с работниками; проектный подход; системный подход к менеджменту: непрерывные инновации; поиск нереализованных возможностей; стратегическое партнёрство. В тоже время, поле приложения информационного менеджмента – все этапы жизненного цикла информационной системы (ЖЦ ИС).
Таким образом, уже не должна вызывать сомнения актуальность вопросов проектного менеджмента применительно к разработке сложного программного обеспечения информационных систем (ПО ИС).
Из анализа литературы, международных стандартов, интернет-источников следует, что современные технологии реализации программных проектов существенно опираются на перечисленные принципы инновационных подходов в менеджменте.
Технологии учитывают рекомендации Computer Curricula международной Ассоциации по вычислительной технике (АСМ) и Международного Института инженеров по электротехнике и электронике (IEEE).
В основе актуальных технологий разработки ПО ИС лежит объединение положений программной инженерии и положений управления проектами.
Технологии опираются на следующие основополагающие документы: Руководства к Своду Знаний по Программной Инженерии (Guide to the Software Engineering Body of Knowledge SWEBOK) и к Своду Знаний по Управлению Проектами PMBOK (Project Management Body of Knowledge). Они поддерживаются такими международными стандартами как: ISO/IEC 12207:2008 «Информационные технологии. Процессы жизненного цикла программного обеспечения»; ISO/IEC TR 15026-1:2010 «Проектирование систем и разработка программного обеспечения. Гарантирование систем и программного обеспечения»; ISO/IEC/IEEE 16326:2009 «Разработка систем и программного обеспечения. Процессы жизненного цикла. Управление проектом»; ISO/IEC TR 24748:2011 «Разработка систем программного обеспечения. Менеджмент жизненного цикла» и многими другими.
В настоящее время развитие и совершенствование технологических подходов ведётся по двум направлениям, которые достаточно сильно отличаются друг от друга своими задачами: максимизация качества – ориентирована, например, на военные разработки, системы реального времени, где наиболее важными являются обеспечения надёжности, в том числе за счёт высокой степени формализации уже на стадии формирования требований к ПО ИС; максимизация скорости разработки, – направление, развитие которого обеспечивают гибкие и адаптивные технологии, в основе которых лежит «творческий» итеративный процесс разработки ПО ИС.
Разработка сложного ПО ИС, нуждается в обязательной реализации первого стандартного подготовительного этапа – выбора и документирования подхода, модели жизненного цикла (ЖЦ ПО ИС), стандарта, метода, технологий и т. д.
Таким образом, с одной стороны модель ЖЦ программного проекта должна быть увязана с конкретными методами разработки и соответствующими стандартами в области программной инженерии, каждый процесс ЖЦ подкреплён выбранными для реализации задач средствами и методиками, с другой – сложным итеративным процессом разработки, в который вовлечены ресурсы и которым необходимо эффективно управлять.
Современные технологии разработки ПО ИС можно условно разделить согласно известным моделям ЖЦ.
Жёстко-последовательная реализация программного проекта основана на каскадной, иначе «водопадной» модели (Falls model), которую в России регламентирует стандарт ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания».
Наиболее актуальными являются семейство гибких технологий (Agile software development), основанных на итерационной модели, далее получившей стремительное развитие как спиральной, или эволюционной.
Регламентирование гибких технологий реализации программных проектов поддерживает Agile-манифест разработки программного обеспечения. К сожалению, в России сегодня очень тяжело происходит адаптация данных технологий, и только в 2011 году активно продвинулось принятие международных стандартов, регламентирующих данные вопросы.
Принципы манифеста согласованы с принципами проектного управления (PMI), их основное содержание заключается в следующем: наивысшим приоритетом является удовлетворение потребностей заказчика; изменение требований приветствуется, даже на поздних стадиях разработки; Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества; инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно; на протяжении всего проекта разработчики и представители бизнеса должны работать вместе; над проектом должны работать мотивированные профессионалы; работающий продукт следует выпускать как можно чаще; работающий продукт – основной показатель прогресса; постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
Наиболее актуальные технологии поддерживают и программные проекты, и их управление методами и инструментальными средствами. Такими технологиями являются: Rapid Application Development, Extreme Programming, Rational Unified Process, Custom Development Method, Microsoft Solution Framework.
Например, управление программным проектом согласно RAD (Rapid Application Development) – быстрая разработка приложений, ориентированная на максимально быстрое получение первых версий разрабатываемого ПО) и EP (Extreme Programming – экстремальное программирование, когда разработка ведётся с использованием последовательно дорабатываемых прототипов в купе с эффективной коммуникацией между заказчиком и исполнителем) регламентируются согласно Agile-манифесту.
Популярым инструментам RAD являются: Microsoft Visual Basic, Borland Delphi. Может осуществляться поддержка полного ЖЦ ПО ИС CASE-II-средством, таким, например, как Embarcadero RAD Studio. Компания Borland в результате развития собственных разработок и приобретения ряда компаний представила интегрированный комплекс инструментальных средств, реализующих управление полным жизненным циклом приложений (Application Life Cycle Management, ALM).
CDM (Custom Development Method) реализует методическую основу технологии разработки ПО ИС корпорации Oracle. В состав комплекса входят: CDM (Custom Development Method) – разработка прикладного ПО; PJM (Project Management Method) – управление проектом; AIM (Application Implementation Method) – внедрение прикладного ПО; BPR (Business Process Reengineering) – реинжиниринг бизнес-процессов; OCM (Organizational Change Management) – управление изменениями, и др.
PJM – это определённая дисциплина ведения проекта, позволяющая гарантировать, что цели проекта, чётко определённые в его начале, остаются в центре внимания на протяжении всего проекта. В основе PJM лежит метод, ориентированный на выполнение самостоятельных процессов (под процессом понимается набор связанных задач, выполнением которых достигается определённая цель проекта).
CASE-II-средство Oracle Designer является интегрированным средством, обеспечивающим в совокупности со средствами разработки приложений поддержку ЖЦ ПО.
MSF (Microsoft Solution Framework) реализует гибкую методологию разработки ПО Scrum от Microsoft, которая опирается на практический опыт корпорации Microsoft и описывает управление людьми и рабочими процессами. Scrum – это набор принципов управления программными проектами, на которых строится процесс разработки, позволяющий в жёстко фиксированные небольшие промежутки времени (от 2 до 4 недель) предоставлять конечному пользователю работающее ПО с новыми возможностями, для которых определён наибольший приоритет.
Инструментом управления программным проектом, облегчающим создание планов и календарных графиков, является WBS (Work Breakdown Structure) – иерархическая структура работ, обеспечивающая структуризацию работ проекта, отражающая его основные результаты и определяющая его рамки идеологию которой полностью поддерживает лидер программного обеспечения процессов управления проектами – Microsoft Project.
Одна из наиболее совершенных технологий, претендующих на роль мирового корпоративного стандарта – это RUP (Rational Unified Process). RUP является результатом объединения подходов Rational Approach и Objectory Process и представляет собой программный продукт, разработанный компанией Rational Software, которая в настоящее время входит в состав IBM.
Управление проектом включает в себя непосредственное формирование условий для эффективного хода всего проекта, определение руководств и руководящих принципов для планирования, формирования команды и мониторинга проекта, выявление и управление рисками, организацию работы участников проекта, формирование бюджета, планирование фаз и итераций.
RUP как продукт входит в состав комплекса Rational Suite. Физическая реализация RUP представляет собой Web-сайт, включающий в том числе шаблоны в формате Microsoft Word, предназначенные для поддержки документации по всем процессам и действиям ЖЦ ПО и планы в формате Microsoft Project, отражающие итерационный характер разработки.
Таким образом, на сегодняшний день разработаны успешные технологии управления программными проектами, опирающиеся на передовой мировой опыт разработки сложного ПО ИС, которые реализуют положения программной инженерии, полностью обеспечены интегрированными инструментальными средствами и реализуются известными мировыми лидерами в области разработки и поддержки программных продуктов.
___________________________
1. Брукс Ф. Мифический человеко-месяц или как создаются программные системы: пер. с англ. / Ф. Брукс и др. – М.: Символ-Плюс, 2010. – 304 с.
2. Гринфилд Д. Фабрики разработки программ: потоковая сборка типовых приложений, моделирование, структуры и инструменты: пер. с англ. / Д. Гринфилд и др. – М.: Диалектика, 2007. – 592 с.
3. Гелмерс Скотт А. Microsoft Project 2010. Шаг за шагом: пер. с англ. / Скотт А. Гелмерс – М.: ЭКОМ Паблишерз, 2011. – 576 с.
4. Якобсон А. Унифицированный процесс разработки программного обеспечения: пер. с англ. / А. Якобсон, Г. Буч и др. – СПб.: Питер, 2002. – 496 с.
5. Программная инженерия. Теоретический и прикладной научно-технический журнал [Электронный ресурс] Режим доступа: http://novtex.ru/pi.html
6. ISO Международная организация по стандартизации [Электронный ресурс] Режим доступа: http://www.iso.org/iso/ru/home.htm
© Е.Ю. Андиева, 2012