Виды жизненного цикла
Данный пост написан по материалам практикума системного мышления от “Школы системного менеджмента”
Водопадный
Водопадный или каскадный вариант жизненного цикла — это последовательность стадий. В один момент времени работа ведется только над одной стадией. После завершения работы над ней результаты передаются на следующую и начинаются работы на следующей стадии. Главная особенность тут — невозможность возврата к предыдущим стадиям после их завершения (отсюда и название: вода в водопаде может течь только в одном направлении).
Между стадиями работ происходит проверка и приёмка результатов предыдущих стадий, по результатам которых принимается одно из возможных решений:
- продолжение работ и переход к следуюущией стадии;
- возвращение на доработку;
- прекращение работ по системе.
Места проверки и приёмки между стадиями называются контрольные точки (milestones). Они известны заранее и используются в планировании работ по проекту.
Спиральный
Главное отличие спирального варианта жизненного цикла от водопадного заключается в том, что каждая стадия повторяется несколько раз. Каждый виток спирали — это итерация, похожая на обычный водопад. В рамках итерации мы так же последовательно выполняем все виды работ, а отличие заключается в том, что следущая итерация начинается не с нуля, а с результатов, полученных на предыдущей итерации.
Гибкий
Гибкие методологии относятся к разновидности спиральной модели. Их используют в проектах, в которых много неопределённости и нельзя создать план работ перед началом выполнения этих работ.
В гибких методологиях мы имеем дело с какими-то проблемами (issues), у которых есть описание и известна только ближайшая контрольная точка. При её достижении можно понять, какова следующая контрольная точка и что нужно делать дальше. Обычно для отслеживания состояния таких проблемам используются специальные программы — issue tracking systems.
В рамках гибких методологий могут сущестовать итерации, похожие на витки в спиральной модели. Главное отличие тут - в том, что после каждой итерации мы должны иметь какой-то вариант работающей системы. В спиральной же модели готовая система появляется после последнего витка.
См. также:
- Страница Spiral model в Википедии
- Страница Issues в Википедии
- Страница Issue tracking system в Википедии
- Страница Agile software development в Википедии
- Учебник “Системное мышление 2019”, глава №9 (“Не жизненный не цикл”) и №10 (“Вид жизненного цикла”).