post image

Что выбрать: Agile vs Waterfall?

Время на чтение: 10 минут
author avatr Валерий Жур,
CTO ITprofit

От выбора методики разработки проекта зависит не только скорость запуска, но и его последующая  успешность. В связи с этим при выборе подрядчика заказчик должен учитывать не только опыт, стоимость услуг, но и методологию разработки веб-продукта.

Самые популярные методологии  — Waterfall и Agile. Разберемся подробнее в их особенностях .

Waterfall или AgileAgile: что это такое?

Это  система “гибкого” управления проекта. На ее базе были разработаны такие методы как Scrum, Kanban. Особенность ее в коротких циклах (итерациях),  в  результате которых заказчик получает готовый продукт. 

Agile разработали IT-специалисты из США.

В качестве основных принципов Agile-разработки они выделили следующее: 

  • Взаимодействие с людьми важнее инструментов и процессов. 
  • Приоритет работающему продукту, а не документации. 
  • Внесение правок и готовность к ним  важнее следования плану.

В Agile-командах все специалисты работают в одном пространстве. Команда постоянно получает обратную связь от партнеров, заказчиков. Ключевую роль в команде выполняет product owner. Его задача — сделать все, чтобы проект окупился. Он как мини-CEO проекта на стороне исполнителя.  Product owner совместно с заказчиком приоритезирует задачи, а также определяет, что необходимо делать в первую очередь, а что не делать вообще. 

Все время отведенное для создания конечного продукта, делится на циклы (спринты). Они могут иметь разную продолжительность — от 2 недель и до 1 месяца. В рамках каждого спринта должны быть выполнены определенные задачи, которые оговариваются с клиентом. При этом уже после 1 спринта заказчик получает  работающий ресурс. Последующие же циклы ориентированы на добавление функций, страниц, которые согласовываются с клиентом и действительно нужны этому проекту. 

Методика Agile

Методику Agile успешно используют разработчики  Google, Netflix, Spotify, также о недавнем внедрении ее объявил и “Сбер”. Сфера использования ее давно вышла за пределы IT. Например,  компания Saab также высоко оценила систему гибкого управления.

Преимущества и недостатки использования методики Agile

Основные преимущества:

  • Понятные и короткие циклы работы — длительность их может варьироваться от 3-х недель и более. После каждого цикла заказчик получает рабочую версию продукта.
  • Высокая степень вовлечения команды и заказчика при разработке проекта.
  • Гарантия высокой эффективности продукта, так как детально прорабатывается каждый элемент, анализируется и внедряются только нужные функции. 
  • Минимальное количество рисков за счет гибкой системы  внесения правок. 
  • Каждый цикл работы прорабатывается таким образом, чтобы сайт приносил прибыль в максимально сжатые сроки и соответствовал требованиям клиентов. 
  • Запуск проекта — от 1,5 месяца

Минусы

В этой методологии есть и недостатки:

  • Высокие требования к опыту и квалификации команды. Важно не просто иметь мотивированных и самоорганизованных специалистов, а сотрудников, способных к анализу способов по улучшению эффективности работы.
  • Аджайл — это, скорее, философская концепция, здесь нет инструкций, поэтому применять механически принципы этой методологии невозможно. 
  • Сложности в подсчете итоговой суммы работ. Поскольку правки могут вноситься на любом цикле, то и стоимость готового сайта плавающая.  Agile не подходит для веб-продуктов с фиксированным или ограниченным бюджетом. 

Но даже при всех своих недостатках методология Agile позволяет создать  уникальный проект, продуманный до мелочей там, где это реально влияет на окупаемость.  

Что такое Waterfall?

 Водопадная система или методология Waterfall была создана директором Lockheed Software Technology Center в 1986 году. Основывается она на четком соблюдении этапов. Переход же к новому возможен лишь после успешного окончания предыдущего. 

что такой waterfall

Всего было выделено 6 стадий разработки проекта:

  • Анализ. Формирование видения проекта, проектирование каждой страницы и функции.
  • Закрепление всех договоренностей в техническом задании, фиксирование цены, сроков и ограничений. 
  • Дизайн. Прорабатывается внешний вид, внутренняя структурная логика, архитектура ПО.
  • Написание кода, выполнение интеграции ПО.
  • Тестирование. Выполняется проверка финального продукта, устраняются выявленные ошибки. 
  • Адаптация  веб-продукта под разные ОС. Техническая поддержка.

Такая методология использовалась многими компаниями, например, Toyota использовала Waterfall для создания ПО . 

Преимущества и недостатки Waterfall

Ключевые достоинства этой методики:

  • Четкая и понятная этапность создания проекта. 
  • Простая и удобная отчетность —  отслеживать риски можно благодаря детальной документации,  так как все прописывается заранее и в процессе разработки корректировки не вносятся. 
  • Стабильные задачи. Команда точно знает, что и на каком этапе ей нужно делать. 
  • Сроки и стоимость просчитываются до начала разработки и остаются неизменными. 
  • Запуск проекта – от 2 месяцев. 

Минусы водопадного метода

  • Строгое соблюдение ТЗ.  Разработчики и аналитики думают только на первом этапе, далее они следуют ТЗ.  Все, что не прописано в ТЗ (а, как правило, таких моментов очень много), делают как проще и быстрее или просят доплатить за усложнение проекта.  Изменения  же оформляются дополнительным соглашением. Соответственно, это дополнительные траты. 
  • Высокий риск ошибки.   Если, к примеру, в Agile уже через 1,5 месяца можно выкатить проект и протестировать его на реальных пользователях, то в Waterfall на это уходит, как правило, от 3 до 12 месяцев, а иногда и больше. Получение обратной связи в боевых условиях всегда существенно меняет стратегию. Чем раньше вы ее получаете, тем более конкурентен ваш продукт.
  • Отсутствие гибкости процесса.  Аджайл — вы собираете все фичи, приоритезируете их с точки зрения  того, что может принести вам больше денег,  запускаете в работу только то, что реально даст эффект (по мнению команды) и быстро получаете обратную связь. Waterfall  — год делаете проект, запускаете его, а потом понимаете, что ошиблись: в таком виде пользователям этот продукт не нужен.

Сравнительная таблица

Критерий

Agile

Waterfall

Гибкость

Позволяет вносить изменения на всех этапах.

Внесение изменения происходит только после заключения дополнительного соглашения.

Разделение процесса

Деление времени на спринты, циклы. Допускается параллельная работа над несколькими этапами. 

Деление на фазы, этапы.

Подход

Поэтапный.

Последовательный процесс.

Тестирование

Осуществляется на всех этапах создания сайта. Одновременно с созданием ПО. 

Выполняется после завершения разработки. 

Рабочий процесс

Обсуждение с заказчиком происходит перед началом каждого спринта. 

Бизнес-анализ проводится только перед началом разработки. 

Кому подойдет

Для быстрого запуска ресурса, а также  если в приоритете  эффективность, а не бюджет.

Работа над сайтом ведется командная, подбираются оптимальные решения с учетом ниши, целевой аудитории и иных критериев.  

Отличное решение, если есть четкое видение проекта, важен фиксированный бюджет и сроки. 

 Работа ведется строго по ТЗ.

Заключение

Agile или Waterfall ?  Эти методологии имеют разные характеристики, особенности и подходят они для разных проектов, поэтому выбирать методологию нужно после тщательного анализа сильных и слабых сторон каждой из них. Также стоит прислушиваться и к советам специалистов и только после этого делать свой выбор.