Приглашаем всех желающих посетить бесплатные пробные занятия по курсам МВА и профессиональной подготовки. Занятия проходят в реальных группах, никаких постановочных занятий. Ознакомиться с расписанием пробных занятий, выбрать заинтересовавшее и зарегистрироваться на него можно здесь
Создание гибридной системы управления проектами разработки программных продуктов, Зорин А.В.
Зорин Алексей Валерьевич
Слушатель группы MBA CIO-66
Школы IT-менеджмента
РАНХиГС при Президенте РФ
Тезисы к работе: "Создание гибридной системы управления проектами разработки программных продуктов"
Современный программный продукт всегда является результатом коллективного труда специалистов как в области программной инженерии, так и в целевой предметной области продукта, который требует координации усилий для получения результата необходимого уровня качества в условиях ограничения временны́х, финансовых, человеческих и технических ресурсов. Поэтому разработка конкурентоспособного программного обеспечения носит проектный характер, а ввиду характерных особенностей программных проектов управление разработкой программного обеспечения принято выделять в особый вид управления проектами.
Использование коллективных методов разработки требует структурированного подхода к построению модели жизненного цикла программного продукта, при этом правильный выбор модели жизненного цикла является одним из ключевых условий успеха.
В последние десятилетия специалистами в области проектного управления, а также в области теории и практики программного обеспечения активно ведутся работы по созданию, развитию и усовершенствованию подходов к управлению разработкой программных продуктов, что привело к появлению достаточно большого количества весьма разнообразных методологий. Но современное программное обеспечение настолько разнообразно по области применения, масштабу, требованиям к безопасности, культурной среде организаций, в которых оно создается и используется, а также по многим другим критериям, что оказывается невозможным оптимально сбалансировать потребности всех заинтересованных лиц программного проекта в рамках какой-то единой методологии.
В результате после периода конфронтации и противопоставления различных методологий профессиональное сообщество пришло к пониманию того, что различные методы и инструменты традиционного и гибкого проектного управления, а также продуктового подхода можно успешно совмещать и комбинировать, добиваясь более высоких результатов, недоступных при использовании каждой из методологий по отдельности. Это привело к появлению нового направления в теории и практике проектного направления, получившего название гибридного управления проектами, и в течение ряда последних лет гибридные подходы, основанные на традиционных методологиях в сочетании с адаптивными подходами, являются одним из самых активно развивающихся трендов проектного управления.
В компаниях, занимающихся разработкой программного обеспечения, как правило, одновременно выполняется большое количество проектов, что создает предпосылки для организации процесса управления проектной деятельностью в рамках единой организационно-технологической системы, называемой системой управления проектной деятельностью (СУПД).
Цель исследования – разработка предложений по совершенствованию СУПД компании «Майтисофт», специализирующейся на разработке программных продуктов, путем системного внедрения гибридного жизненного цикла управления разработкой.
Практическая значимость исследования для Компании обусловлена следующими причинами.
Во-первых, единого универсального гибридного подхода не существует. На практике требуется адаптировать комбинацию инструментов, техник и методов к уникальной проектной среде, свойственной конкретной компании с учетом существующих ресурсов и активов, а также корпоративной культуры и сложившихся практик проектного управления.
Во-вторых, в условиях большого количества одновременно выполняемых проектов выбор и адаптация методологического подхода каждым руководителем проекта по отдельности чреваты организационным хаосом. Напротив, формирование единых принципов определения оптимального жизненного цикла программного продукта способно повысить эффективность проектной деятельности за счет ускорения принятия решений на базе комплекса рекомендаций.
Для достижения поставленной цели систематизированы сведения об основных подходах к построению жизненного цикла разработки программного обеспечения – предиктивном, итеративном, инкрементном и гибком (agile).
В рамках предиктивного подхода рассмотрены каскадная модель («водопад»), а также V-образная и W-образная модели (V- и W-модели).
В рамках итеративного подхода рассмотрены структурная модель эволюционного прототипирования, Unified Process (UP) и спиральная модель.
Инкрементный подход рассмотрен в качестве обобщенной модели и как предтеча философии гибкой (agile) разработки.
Гибкие (agile) модели жизненного цикла представлены в работе следующими методологиями и фреймворками: Scrum, Kanban, Agile Unified Process (AUP), Crystal, Feature-Driven Development (FDD) и Dynamic systems development method (DSDM).
В результате проведенного анализа выделены достоинства и недостатки, а также область применимости каждой из моделей. Рассмотренные модели в совокупности определяют континуум применяемых в программной инженерии подходов от жесткого регламентированного и последовательного до максимально адаптивного. Они являются тем базисом, на котором строятся гибридные модели путем заимствования и комбинирования лучших практик и инструментов.
Обзор подходов включает в себя также рассмотрение обобщенных рекомендательных гибридных моделей, которые при условии адаптации к факторам определенной проектной среды могут успешно применяться в контексте СУПД конкретной организации: Water-Scrum-Fall, Scrum/XP Hybrid, Scrumban, Disciplined Agile Delivery (DAD), Парацельс ПиЭм и p3Express (p3x).
В работе обобщен мировой опыт в части методического инструментария для выбора подходов и моделей построения жизненного цикла разработки:
1) с помощью метода SWOT-анализа выделены слабые и сильные стороны предиктивного, итеративного, инкрементного и гибкого подходов, а также возможности и угрозы, возникающие в случае использования каждого из них;
2) описаны основные модели выбора жизненного цикла разработки: Cynefin Framework, Stacey Complexity Model, Gartner Bi-Model IT (bimodal development), Boehm and Turner Radar Chart, Dave Cohen’ Agile Factors, Organizational Suitability Filter, Agile Suitability Filter и Slider;
3) сформулированы основные принципы формирования гибридного жизненного цикла разработки.
Таким образом, материалы этой части работы представляют собой описание методологического базиса, на основе которого возможно формирование собственных моделей гибридного жизненного цикла, адаптированных для конкретных условий.
Для обоснования целесообразности усовершенствования выполнен анализ проектной среды компании «Майтисофт», в рамках которого рассмотрены основные элементы СУПД:
1) корпоративный стандарт;
2) информационная система;
3) организационная структура.
На основании анализа сформулированы предложения по внедрению гибридного цикла управления разработкой в контекст существующей СУПД:
1) указаны элементы СУПД, которые будут затронуты изменениями;
2) определены цели и содержание изменений для каждого элемента;
3) описан модифицированный гибридный жизненный цикл проекта;
4) выделены факторы, вариативность которых оказывает ключевое влияние на выбор модели управления жизненным циклом разработки в условиях компании;
5) составлен план внедрения, опирающийся на общепринятые практики эволюционного развития СУПД, стандарт управления проектной деятельностью компании и принятые в компании процедуры внесения изменений.
Для иллюстрации предложенного подхода описан практический кейс планирования и реализации гибридного жизненного цикла конкретного проекта в условиях компании «Майтисофт».
Предложенные изменения позволят добиться:
1) повышения степени зрелости проектного управления;
2) повышения уровня компетенций руководителей проектов;
3) ускорения принятия решений;
4) повышения качества решений;
5) повышения прогностической точности сроков выполнения проектов и отдельных этапов;
6) повышения степени удовлетворенности стейкхолдеров.
Учитывая то, программные продукты являются результатом творческого труда и не поддаются точному оцениванию как в части времени создания, так и в части необходимого бюджета, проведение количественного анализа положительного экономического эффекта на уровне компании от внедрения представленных в работе предложений не представляется возможным, поскольку диапазон негативных последствий в случае неверного выбора жизненного цикла может быть достаточно широким.
Однако на качественном уровне практика системного централизованного подхода к выбору и реализации гибридного жизненного цикла разработки приведет к повышению вероятности успешного завершения выполняемых проектов и их этапов в рамках заданных проектных ограничений с соответствующими положительными экономическими последствиями.