Описание – Планирование – Разработка -Внедрение – и т.д….. – как изображено на рис. 1.17.
Рис.1.17. Предиктивный жизненный цикл
Закончив один этап – переходите ко второму, т.е. планомерно, от этапа к этапу двигаясь к результату проекта.
Важное уточнение – этот подход предполагает достаточно большое вовлечение клиента\заказчика в основном на начальных этапах и уже непосредственно при приемке результата. Соответственно критически важными являются начальные этапы, где идет анализ и проясняются требования клиента к результату проекта.
Самый огромный недостаток этого подхода – это изменение требований, а главное – целей проекта. Об изменении внешней среды вообще лучше не упоминать.
В частности, важно для длинных проектов, в которых среда нестабильна и требования могут меняться с течением времени – когда Вы 3 месяца анализировали, 2 месяца проектировали, зашли в годовую разработку… а среда и цели настолько сменились, что результат проекта уже и не нужен.
Особенно это критично для социально-экономических систем, когда и заказчик может за период реализации «вырасти» и понять, что ему не это нужно; и социальная часть изменится; или экономически станет нерентабельным…
Приведу простенький изменения среды. После M&A (слияние и поглощение) в одной из стран СНГ 5 юрлиц стали единой компанией. Но поскольку антимонопольный комитет не дал разрешение на слияние – они де-юре остались 5 юрлицами, но де-факто уже стали единой компанией с единым менеджментом.
Сотрудники, доходы и бюджеты оставались числиться во всех 5 юрлицах в своих учетных системах: причем в конкретно взятом отделе руководитель отдела с 3 подчиненными мог быть в одном юрлице, еще 2 подчиненных в другом, еще один в третьем и т. д. И сводить людей, бюджеты, доходы по такой структуре в детализированном виде естественно было невозможно.
И вот пока 4 месяца ИТ, кадры, управленческий учет и бухгалтерия совместно писали бизнес-требования как выгружать информацию из всех ИТ-систем для единой интегрированной компании, пока ИТ с подрядчиком еще 8 месяцев разрабатывали, пока 2 месяца тестировали и устраняли ошибки – антимонопольный комитет «дал добро» на слияние и программа в принципе стала не нужна.
Тем не менее, Waterfall подход очень эффективный для проектов с четкими требованиями и неизменной средой. Условно типовые инженерно-технологические проекты (постройка здания, моста и т.д.) лучше заходят именно по данной методологии.
Поэтому когда продукт и требования к нему четко определены, технологически все определено и низковариативная среда – смело используем Waterfall.
AGILE – это итерационная методология, когда Вы двигаетесь к результату короткими итерациями. Причем важным является перечень основных характеристик продукта/результата проекта – а реализация идет по итеративным циклам.
Итерации могут касаться этапов – тогда имеем дело с итеративным жизненным циклом (рис.1.18).
Рис.1.18. Итеративный жизненный цикл (итерация этапов)
Или они могут касаться продукта\результата проекта, который делается «по-кусочку» (инкремент за инкрементом) – тогда имеем дело с инкрементным жизненным циклом (рис.1.19).
Рис.1.19. Инкрементальный жизненный цикл (итерация продукта)
Итерация или идет с продуктом, постоянно доращивая его функциональности, или с производством на каждом этапе «кусочка» (части, детали) продукта с последующей «сшивкой» в целостный продукт в конце.
Т.е., итеративный подход фокусируется на разработке целевого продукта путем выполнения ряда повторяющихся циклов, а инкрементный подход фокусируется на последовательном наращивании функциональности продукта или его целостной сборки.
На практике обычно эти оба цикла используются вместе (я уже об этом писал ранее в главе о жизненном цикле проекта), поэтому в среде практиков можно просто говорить об адаптивном жизненном цикле (Agile-методологии) как таковом.
Очевидное преимущество Agile – это учет изменений как требований клиента, так и среды. Т.е., Agile наиболее подходит для проектов с нечеткими, вариативными, высоконеопределенными требованиями и\или средой.
С моей т.з. лучше всего эту Agile-методологию (адаптивный цикл) в ее практическом виде олицетворяет SCRUM (СКРАМ) – визуализация на рис.1.19.1.
Рис.1.19.1. Визуальное представление SCRUM»а
В Скраме:
– Готовится описание результата, который разбивается на перечень всего того, что мы хотим получить (на кусочки) – Продукт-бэклог;
– Проект разбивается на маленькие отрезки (так называемые «спринты» или «забеги» если аутентичнее к русскому языку) длиной от недели до максимум месяц, каждая со своим набором задачек из Продукт-бэклога (т.е. имеет бэклонг для спринта);
– Ежедневный контроль с отчетностью перед всей командой;
– При реализации каждого спринта готовится свой результат / инкремент (или доращивается функциональность);
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: