Недостаточность и ограниченность описания жизненного цикла как поведения систем создания через метод описания (viewpoint, все эти «поколения представления жизненного цикла» – это про смену ведущего метода описания) последовательностей крупных работ как стадий жизненного цикла с каждым годом становилась очевидней. Во всё большем и большем числе проектов (начиная с айтишных проектов) признавали, что никакого предварительного планирования отдельных работ достичь нельзя, а разработка везде велась, как судебные дела, «непрерывно открывающимися обстоятельствами». Наборы различных архитектурных решений по поводу планирования выполнения практик в виде последовательностей работ получили название модели жизненного цикла(life cycle model 26 26 слово «модель» тут используется в смысле обозначения группы похожих жизненных циклов, «модельного ряда», а не в смысле «упрощённого объекта, сохраняющего лишь важнейшие свойства моделируемого объекта», поэтому при переводе мы иногда будем использовать и термин «вид жизненного цикла».
, вид/форма жизненного цикла).
Эти наборы решений по связи практик и работ грубо можно разместить между двух крайностей:
1. практики и работы-стадии совпадают и для их выражения хватает «колбаски» с интерфейсами между работами (обсуждается «видимость работ», как обычно в модульных диаграммах – нельзя из работ одной стадии затребовать ресурсы соседней стадии),
2. практики и работы не совпадают и для их выражения нужны какие-то сложные структуры с акцентом на связь практик, т.е. даже внешне похожие на принципиальные схемы с их «логическим, а не физическим временем» и «потоками работ/продуктов», а не модульные диаграммы с их «видимостью интерфейсов».
Первый вид жизненного цикла (квинтэссенция подхода 1.0, «проектное управление с непересекающимися стадиями») получил название « водопад»(cascade, каскад). Работы практик жизненного цикла выполняются однократно, созданные рабочие продукты/артефакты как output передаются как input-ресурсы для следующих работ, и больше к этим практикам никакого возврата нет, выполняются работы последующих практик.
Водопад/каскад течёт всегда сверху вниз. Для более убедительной иллюстрации этого «невозвратного» хода работ традиционную «колбаску» начали рисовать как ступени настоящего водопада 27 27 http://www.managersystem.ru/geds-459-1.html
:
Между стадиями осуществлялась тщательная проверка и приёмка (verification and validation, V&V) рабочих продуктов-результатов предыдущих стадий, при этом принималось решение о продолжении работ, возврате на доработку или прекращении работ по всей системе.Эти проверки и приёмки с принятием решений между стадиями жизненного цикла для всей системы по итогам оценки рисков успешности проекта на разных стадиях его реализации получили название гейтов(gates, ворота – не путать с milestones/вехами, которые не связаны с решениями о прекращении всего проекта в целом и служат лишь для контроля скорости его прохождения. Ворота могут быть закрыты, а вот вехи просто отмечаем глазами на обочине). Вообще-то решений в гейтах обычно не два типа (go – no go), а три (доработать результат стадии и повторить гейт; переходить к следующей стадии; остановить проект):
Но данная модель жизненного цикла оказалась для проектов с существенной долей работ с новыми для разработчиков типами систем полной утопией, она более-менее выполнялась лишь в проектах, где можно было накопить огромный опыт сборки/изготовления многочисленных очень похожих систем «из вещества» (там небольшая вариативность), например, гражданское (жилищное) блочное строительство.
Во всех остальных случаях (и особенно ярко это проявлялось в айтишных проектах) после выполнения работ по любой из практик «водопадного жизненного цикла» (например, инженерии требований в ходе стадии работ «формирование требований») после всех гейтов с их проверкой независимыми экспертами, после всех ожиданий, когда все рабочие продукты соберут по их состоянию готовности на конец стадии (скажем, если речь идёт о требованиях – то это будут абсолютно все требования, и если не готово даже какое-то второстепенное требование, то его будут ждать), всё равно при попытке работы с этими результатами предыдущих стадий находятся ошибки и недоработки и приходится выполнять новые работы, выполняющие практики работ предыдущих стадий жизненного цикла. Новые и новые переделки/reworks не позволяли хоть как-то соотносить запланированные стадии жизненного цикла и реально ведущиеся работы. «Водопад» был только на бумаге в учебниках и в мечтах менеджеров.
Читать дальше