- Услуги
- Цена и срок
- О компании
- Контакты
- Способы оплаты
- Гарантии
- Отзывы
- Вакансии
- Блог
- Справочник
- Заказать консультацию
Типичным примером предиктивного жизненного цикла является каскадная модель или модель «водопада» (waterfall). В 1970 году в своей статье Ройс описал данную модель в виде концепции, где обсуждал её недостатки и показал, как её можно усовершенствовать до итеративной модели.
Каждая последующая фаза начинается только после завершения предыдущей, отсюда и сравнение с водопадом. Завершение каждого этапа сопровождается подготовкой полного комплекта документов, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Каскадная модель считается классическим подход, она широко использовалась в 70-х и начале 80-х годов для разработки информационных систем (см. рис. 10). Помимо этого, модель широко применялась в различных отраслях, где нужны четко выстроенные процессы и сроки: авиастроении, военной, космической отраслях, строительстве, медицине и финансовом секторе.
Каскадная модель может быть представлена в виде 4-х этапов, не пересекающихся во времени. На рисунке 11 можно наблюдать как распределяются затраты во времени по этапам жизненного цикла.
Преимущества и недостатки каскадной модели представлены в таблице 2.
Каскадная модель подойдёт в следующих случаях:
При управлении сложными проектами формализация часто является необходимостью, так как позволяет снизить многие риски и сделать проект более прозрачным. Поэтому в PMBOK 3-й версии была закреплена только методика каскадной модели и не были предложены альтернативные варианты.
Только в 4-й версии PMBOK предложен гибридный вариант управления проектами, сочетающий в себе как плюсы водопадной модели, так и достижения итеративных разработок.
Итеративный подход (англ. iteration – повторение) предполагает параллельное выполнение работ с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы (см. рис. 12).
Данная модель заключается в разделении проекта на мини-проекты или итерации, каждая из которых проверяется на соответствие требованиям. В каждой фазе проекта цикл повторяется: планирование – реализация – проверка – оценка.
Итеративная модель применяется в проектах, где итоговый результат чётко не определен или есть понимание, что проект может измениться в процессе работы, часто ее используют в IT- сфере. Характерные особенности итеративной модели представлены в таблице 3.
Инкрементная модель (англ. increment – приращение) основана на разработке продукта с линейной последовательностью стадий, имеющих несколько инкрементов или версий. В ней запланировано улучшение продукта до тех пор, пока жизненный цикл проекта не завершится, при этом данная модель обеспечивает на каждом инкременте продукт, который можно использовать (см. рис. 13).
Процедура разработки предполагает выпуск на первом этапе продукта в базовой функциональности с последовательным добавлением новых функций (инкрементов) пока не будет разработана целостная система.
Достоинства и недостатки этой модели схожи с каскадной, но в отличие от неё в этой модели заказчик может получить результаты быстрее (см. табл. 4). По результатам внедрения первой версии требования к разработке могут быть изменены, заказчик может отказаться от проекта или предложить разработку более совершенного продукта с заключением нового договора.
Инкрементная модель подходит проектам, характеризующимся разработкой сложных систем, имеющих четкое видение конечного результата со стороны заказчика и разработчика.
Данная модель применяется в следующих случаях:
Agile или модель итеративной и инкрементной разработки (англ. iterative and incremental development), названная Т. Гилбом в 70-е гг. эволюционной моделью, предполагает разбиение жизненного цикла проекта на последовательность итераций, включающих все процессы разработки в применении к созданию меньших фрагментов функциональности по сравнению с проектом в целом.
С завершением каждой итерации продукт получает приращение к его возможностям, которые, развиваются эволюционно. Результат последней итерации содержит продукт с требуемой функциональностью.
Agile концентрируется на разработке правильного продукта с минимальными затратами и без ошибок. Жизненный цикл гибкой разработки связан с непрерывным развитием и развитием цикла разработки. В таблице 5 представлены преимущества и недостатки данной модели.
Существует несколько разновидностей гибкого жизненного цикла, преимущественно используемых в IT-сфере: экстремальное программирование, функционально управляемая разработка, метод разработки динамических систем, адаптивная разработка программного обеспечения, дисциплинированная гибкая доставка. Динамичное участие, поддержка и сотрудничество делают команды гибких разработчиков гораздо более приятным местом для большинства людей.
Вместо длинных отчетов и планов проекта Agile концентрируется на небольших спринтах, дискуссиях, ориентированных на задачи и эффективное управление временем. Гибкий жизненный цикл помогает создавать сплочённые, высокомотивированные, высокопроизводительные команды.
Помимо описанных моделей существуют их модернизации. Например, V-образная модель сочетает в себе признаки водопадной модели, а спиральная модель похожа на итеративную, но в неё встроены дополнительные требования, такие как анализ рисков и их снижение.
В гибридном жизненном цикле для каждого этапа проекта выбирается наиболее эффективный подход с учётом текущих условий, например, этапы планирования и определения требований могут соответствовать предиктивному типу, а проектирование, разработка и тестирование – Agile (см. рис.14).
Данный подход удобен для крупных проектов, в которых требования изменчивы, сроки чётко определены, заказчик не готов активно участвовать в проекте.