Руководство по Agile · Основы Agile
Agile или Waterfall: различия и когда что применять
Agile и Waterfall — два основных способа вести проект. Waterfall сначала планирует всё и проходит фазы по порядку; Agile поставляет результат короткими циклами и перепланирует по мере получения знаний. Ни один из них не лучше в целом. Правильный выбор зависит от того, с какой неопределённостью сталкивается ваш проект.
Главное
- Waterfall рано фиксирует содержание; Agile фиксирует время итерации и оставляет содержание гибким.
- Используйте Waterfall для стабильной, регулируемой или неделимой работы; Agile — когда новые знания изменят решение.
- Гибридные подходы распространены и часто наиболее практичны.
Waterfall кратко
В каскадном, или предиктивном, проекте работа последовательно проходит фазы: требования, проектирование, разработка, тестирование, развёртывание. Каждая фаза обычно завершается до начала следующей и часто утверждается на контрольной точке. Содержание согласуется рано, а расписание и бюджет оцениваются исходя из него. Изменения проходят через формальную процедуру управления изменениями.
Agile кратко
Agile-проект поставляет продукт небольшими инкрементами в коротких итерациях. Требования хранятся в приоритизированном бэклоге, который меняется по мере того, как команда и клиент получают новые знания. Каждая итерация даёт работающий результат, который обсуждается с заинтересованными сторонами. См. что такое Agile-управление проектами — там полная картина.
Сравнение бок о бок
| Waterfall | Agile | |
|---|---|---|
| Планирование | Всестороннее, заранее | Непрерывное, на нескольких уровнях |
| Требования | Фиксируются рано в спецификации | Развиваются в приоритизированном бэклоге |
| Поставка | Один раз, в конце | Каждую итерацию |
| Участие клиента | В основном в начале и при приёмке | Постоянно, на каждом обзоре |
| Работа с изменениями | Запросы на изменение и утверждение | Новые элементы попадают в бэклог |
| Тестирование | Отдельная фаза ближе к концу | В каждой итерации |
| Риски | Обнаруживаются поздно, если допущения неверны | Выявляются рано благодаря обратной связи |
| Отчётность о прогрессе | Завершение фаз, освоенный объём | Работающие инкременты, диаграммы сгорания и выполнения |
| Типичные роли | Руководит руководитель проекта | Владелец продукта, команда, Scrum-мастер или Agile-лидер |
Когда использовать Waterfall
- Требования ясны, стабильны и хорошо понятны.
- Работа регулируется, а документация и согласования обязательны.
- Продуктом можно пользоваться только после полного завершения — например, зданием или физической установкой.
- Поздние изменения были бы очень дорогими или опасными.
- Команда уже выполняла очень похожие проекты.
Когда использовать Agile
- Цель ясна, но лучшее решение — нет.
- Пользователи могут регулярно давать обратную связь.
- Результат можно поставлять и использовать частями.
- Важна скорость выхода на рынок.
- Среда, технологии или конкуренция быстро меняются.
Гибридный подход
Большинство реальных организаций сочетают оба подхода. Распространённая схема — предиктивный план для вех, бюджета и руководства, а команды поставки работают Agile-итерациями внутри каждой фазы. В проектах с аппаратной и программной частью аппаратную часть часто ведут предиктивно, а программную — спринтами, синхронизируясь на вехах интеграции.
Частые вопросы
Agile и Waterfall: можно ли перейти с Waterfall на Agile посреди проекта?
Да, но делайте это на естественной границе, например в начале фазы. Преобразуйте оставшиеся требования в бэклог, назначьте владельца продукта и начните с коротких итераций.
Agile и Waterfall: устарел ли Waterfall?
Нет. Он остаётся правильным выбором для стабильных, регулируемых или физических проектов. Изменилось лишь то, что он больше не выбор по умолчанию для всего.
В чём главное различие между Agile и Waterfall?
Waterfall планирует всё заранее и поставляет результат один раз в конце; Agile планирует уровнями и поставляет работающие инкременты на протяжении всего проекта, позволяя содержанию меняться по мере того, как команда учится.
Что лучше: Agile или Waterfall?
Ни один не лучше в целом. Agile подходит для неопределённой, меняющейся работы, которую можно поставлять частями; Waterfall — для стабильной, хорошо понятной или регулируемой работы, которая ценна только в завершённом виде.
Что такое гибридный подход, сочетающий Agile и Waterfall?
Сочетание двух подходов, например план по вехам в стиле Waterfall для руководства и бюджетирования и Agile-итерации для поставки. Он распространён в крупных организациях и регулируемых отраслях.
Scrum — это Agile или Waterfall?
Scrum — это Agile-фреймворк. Работа поставляется в спринтах продолжительностью не более месяца, с пригодным к использованию инкрементом в каждом спринте. См. Agile и Scrum.
Agile и Waterfall: какие проекты — примеры Waterfall?
Классические примеры — строительство, физические установки, производство оборудования и внедрение систем в жёстко регулируемых отраслях, потому что требования фиксированы, а частичные результаты малоценны.
Agile и Waterfall: есть ли в Agile фазы, как в Waterfall?
Не в том же смысле. Agile многократно повторяет короткий цикл планирования, создания, обзора и улучшения, хотя некоторые организации всё же добавляют вокруг итераций этапы инициации и закрытия.
Чем отличается тестирование в Agile и Waterfall?
В Waterfall тестирование обычно — отдельная фаза ближе к концу. В Agile тестирование проходит в каждой итерации, поэтому дефекты находят раньше.
Охватывает ли экзамен PMP Agile и Waterfall?
Да. PMI указывает, что экзамен PMP охватывает предиктивный, Agile и гибридный подходы, поэтому кандидатам нужно понимать оба. См. сертификация PMP.
Agile и Waterfall: что дешевле?
Не обязательно что-то одно. Waterfall может выглядеть дешевле на бумаге, потому что затраты оцениваются заранее, но поздние изменения и создание ненужных функций могут сделать его дорогим. Agile требует больше времени клиента, но сокращает напрасную работу.