Agile vs. Waterfall

Agile vs. Waterfall: Which Project Management Style Is Right for You? An infographic by the team at LiquidPlanner

Люблю инфографику за ее наглядность. И всегда мечтал написать о том, в чем я ни фига не соображаю. Наконец-то такая возможность предоставилась.

С этой картинкой очень сложно поспорить. Да, именно по этим причинам Agile получил право на жизнь как логическое продолжение борьбы с водопадом через совершенствование итеративного подхода. Нет, я конечно знаю, что есть люди, которые верят, что Agile к итеративному подходу не имеет никакого отношения, но лично мне проще упереться в ISO12207 и сослаться на эволюционную модель разработки: Agile - это развитие эволюционной модели.

Я просто хотел обозначить для себя некоторые моменты, которые многие при организации проектов и выборе подходов к их выполнению либо забывают, либо не обращают на них внимания:
  • Спор о том, что круче - Agile или водопад, не имеет никакого смысла. Равно как и вера в то, что Agile спасет мир. Тот и другой - просто инструменты, и как любые другие инструменты для них характерны цели и области применения. Успешность или не успешность того и другого есть результат правильного выбора инструмента исходя из понимания контекста проекта.
  • В условиях, когда у проекта зафиксировано две и более вершин проектного треугольника (сроки - цена - качество + свойства), использование Agile совершенно точно несет существенные риски, связанные с несоблюдением условий проекта.
  • В условиях, когда требования к продукту чётко определены и ожидаемое Заказчиком решение понятно и прозрачно, использование Agile не целесообразно. Самый простой пример таких проектов - системная интеграция.
  • Agile очень хорош в условиях, когда не понятно, какими свойствами должен обладать продукт и при этом нет жесткого ограничения по срокам и бюджету. Особенно он эффективен на задачах с большим творческим элементом, где нужно придумать что-то изящное и красивое. И верно обратное - в таких условиях использование водопада вызывает брутальные риски, связанные с недостижением целей Заказчика (но при этом можно спокойно уложиться в бюджет и сроки).
  • Водопад - инструмент, прощающий проблемы с квалификацией отдельных участников команды. Agile предъявляет к квалификации команды довольно жесткие требования. При этом кроме способности решения технических задач на лидирующие позиции выходят такие вещи, как знание предметной области, коммуникационные навыки, навыки командной работы, стрессоустойчивость, умение синтезировать решения (особенно "на лету", брейнштормом).
Лично мне Agile приятен тем, что он является своего рода возможностью возвращения специальности программиста того ореола романтизма, который был ей присущ в те времена, когда я только-только пришел в эту отрасль. Когда программист не был тупо кодером, а реально придумывал решения и воплощал их в жизнь.

Популярные сообщения из этого блога

Карта компетенции аналитика

Оценка эффективности работы аналитика – а чем он занимается и чего можно померить?

Оценка эффективности работы руководителя проектов