➡️ Agile vs Waterfall: философия планирования разработки
🤔 Последнее время периодически ловлю себя на том, что где-то в закулисье подсознания у меня происходит переосмысление отношения к гибким методологиям разработки, а именно — к Agile. Так что сегодня будет воскресный пост как раз про этот ваш Agile, а именно про фреймворк Scrum. 🥊 В противоположном углу ринга мы разместим каскадную модель Waterfall и прикинем, с кем из этих двоих мы будем меньше деплоить кринжа на прод сможем эффективнее поставлять ценность заинтересованным сторонам. 🎩
Начнем с Agile и сразу оговоримся — тут, конечно, каждый сам себе что-то напридумывал, сам как-то себе его понимает и в целом, надо сказать, Agile принято называть не столько методологией, сколько системой ценностей и принципов. 🤔 Т.е., тут у нас никакой строгости, тоталитаризма, разве что парочку ритуалов исполнять нужно, а чтобы точно никто ни в чем наверняка не разобрался — вот вам Манифест Agile, там все написано.
Ближе к делу:
🟢Agile (Гибкая методология): Итеративный и инкрементальный подход. Работа разбита на короткие циклы (спринты, итерации). План пересматривается в конце каждого цикла на основе обратной связи и новых данных.
🟢Waterfall (Каскадная модель): Последовательный линейный процесс. Этапы идут строго друг за другом: Сбор требований ➡️ Дизайн ➡️ Разработка ➡️ Тестирование ➡️ Внедрение. План, бюджет и сроки фиксируются в начале.
Закономерный вопрос:
Да нет, все это мы тоже там делаем... Может, мы сначала тестируем, а потом разрабатываем? Ну это ж совсем бред какой-то. 🤪
В чем тогда суть-то?
Весь смысл в единице планирования. В Waterfall единица платнирования — потребность, это Scope-Driven подход, в Agile единица планирования — время (Time-Boxed). В каскадной модели у нас определен scope работ и мы решаем, за сколько времени мы можем это сделать. В гибкой модели в фокусе только время, а точнее — фиксированный отрезок времени, которым мы мерим все. Фиксирована длина спринта (time-box) — 1, 2, 3 недели и мы под это время подстраиваемся, решая, а что полезного мы сможем сделать за условные две недели. ⏳
В качестве вывода: все эти дейлики, ретро, скрам мастера, стендапы и прочие атрибуты Agile в конечном счете не являются сутью. Все, что действительно важно — это конкретный отрезок времени, в котором команда будет перформить. Это непривычно, что мы не ставим во главу угла глобальный результат, ведь там у нас лишь двухнедельные циклы и надежды на то, что в итоге мы придем к чему-то крутому. Это не лучше и не хуже "водопада", само по себе это не позволит быстрее или качественнее пилить фичи, просто это попытка компенсировать уровень неопределенности при разработке. 🏖
#SystemAnalysis #Agile #Waterfall #УправлениеПроектами #Scrum #BusinessAnalysis
🤔 Последнее время периодически ловлю себя на том, что где-то в закулисье подсознания у меня происходит переосмысление отношения к гибким методологиям разработки, а именно — к Agile. Так что сегодня будет воскресный пост как раз про этот ваш Agile, а именно про фреймворк Scrum. 🥊 В противоположном углу ринга мы разместим каскадную модель Waterfall и прикинем, с кем из этих двоих мы будем меньше деплоить кринжа на прод сможем эффективнее поставлять ценность заинтересованным сторонам. 🎩
Начнем с Agile и сразу оговоримся — тут, конечно, каждый сам себе что-то напридумывал, сам как-то себе его понимает и в целом, надо сказать, Agile принято называть не столько методологией, сколько системой ценностей и принципов. 🤔 Т.е., тут у нас никакой строгости, тоталитаризма, разве что парочку ритуалов исполнять нужно, а чтобы точно никто ни в чем наверняка не разобрался — вот вам Манифест Agile, там все написано.
Ближе к делу:
🟢Agile (Гибкая методология): Итеративный и инкрементальный подход. Работа разбита на короткие циклы (спринты, итерации). План пересматривается в конце каждого цикла на основе обратной связи и новых данных.
🟢Waterfall (Каскадная модель): Последовательный линейный процесс. Этапы идут строго друг за другом: Сбор требований ➡️ Дизайн ➡️ Разработка ➡️ Тестирование ➡️ Внедрение. План, бюджет и сроки фиксируются в начале.
Закономерный вопрос:
А что, в Agile нет процесса сбора требований, дизайна системы, разработки, тестирования и релиза?
Да нет, все это мы тоже там делаем... Может, мы сначала тестируем, а потом разрабатываем? Ну это ж совсем бред какой-то. 🤪
В чем тогда суть-то?
Весь смысл в единице планирования. В Waterfall единица платнирования — потребность, это Scope-Driven подход, в Agile единица планирования — время (Time-Boxed). В каскадной модели у нас определен scope работ и мы решаем, за сколько времени мы можем это сделать. В гибкой модели в фокусе только время, а точнее — фиксированный отрезок времени, которым мы мерим все. Фиксирована длина спринта (time-box) — 1, 2, 3 недели и мы под это время подстраиваемся, решая, а что полезного мы сможем сделать за условные две недели. ⏳
В качестве вывода: все эти дейлики, ретро, скрам мастера, стендапы и прочие атрибуты Agile в конечном счете не являются сутью. Все, что действительно важно — это конкретный отрезок времени, в котором команда будет перформить. Это непривычно, что мы не ставим во главу угла глобальный результат, ведь там у нас лишь двухнедельные циклы и надежды на то, что в итоге мы придем к чему-то крутому. Это не лучше и не хуже "водопада", само по себе это не позволит быстрее или качественнее пилить фичи, просто это попытка компенсировать уровень неопределенности при разработке. 🏖
#SystemAnalysis #Agile #Waterfall #УправлениеПроектами #Scrum #BusinessAnalysis