Как совместить Waterfall и Agile и стоит ли это делать

Использование лучших практик и гибридный подход может улучшить процессы и принести максимальную выгоду бизнесу

Светлана Войлокова
Руководитель проектов ИТ-компании SimbirSoft

Более 5 лет использует в работе лайфхаки Waterfall и Agile-подходов. Успешно развивала проекты мобильной разработке , а сейчас использует свои знания в сфере ИБ.

Когда тренды гибридных методологий набрали свои обороты и стремительно ворвались в наши будни, мы в SimbirSoft провели оптимизацию процессов, внедрили лучшие практики из разных методологий. На старте проекта с нуля можно заложить качественный фундамент будущих используемых инструментов для работы всей команды и обеспечить прозрачность процесса для бизнеса.

Статья будет полезна руководителям проектов и владельцам продуктов. Первым будет предоставлена возможность внедрить себе в работу лучшие best practices для успешной реализации проекта в срок и в бюджет. Вторым статья покажет, как добиться лучшего результата, применяя тот или иной подход в работе или их комбинацию. В материале — о плюсах и минусах самых применяемых методологий и о том, как можно их совместить. 

Waterfall: плюсы и минусы водопадной разработки

Все мы знаем, что «Waterfall» предполагает последовательное выполнение определенных этапов: выявление требований, проектирование, разработка, тестирование и внедрение. Каждый этап завершается до начала следующего.

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

Минусами в данном случае являются трудности при внесении изменений в требования на поздних этапах разработки, сложность А/В-тестирования в процессе разработки и самое любимое всеми руководителями — риски отсутствия обратной связи и коррекции на ранних этапах проекта.

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

Вывод: используем Waterfall на проектах формата fixed price при наличии подробного технического задания на разработку и отсутствии переменных факторов. Как правило, это стандартизированные IT-решения, системы для внутреннего использования или небольшие проекты.

Как совместить Waterfall и Agile и стоит ли это делать

Agile: гибкая и понятная пофичная разработка

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

SCRUM — самый распространенный фреймворк из семейства методологий Agile. При нем работы разделяются на небольшие, но самостоятельные фичи, упаковываются в спринты и выпускаются в продакшен каждые 2-4 недели. Завершающим этапом можно считать демонстрацию (демо) работающего продукта. На ежедневных совещания команды (дейли) обсуждаются текущие задачи и блокеры к ним, вносятся предложения по изменению процессов продукта, меняются приоритеты в фичах. 

К преимуществам можно отнести: гибкое планирование и управление проектом, возможность быстро отреагировать на изменения в бизнес-требованиях к проекту, тестирование пользователями итеративных результатов в продакшене.

Как совместить Waterfall и Agile и стоит ли это делать

Из недостатков отметим самые важные, которые могут повлиять на продукт. Это: высокий уровень коммуникации и самоорганизации участников команды, а также сложность в оценке времени и ресурсов на проект.

SCRUM рекомендуем применять в проектах, где нет фиксированных и жестких дедлайнов, а частые изменения в бизнес-требованиях — это нормально, то есть когда разработка подстраивается под желания владельца продукта. 

SCRUM применим и к стартапам, и к разработке крупных проектов в условиях отсутствия четкого понимания финального результата, но нацелен на предоставлении максимальной выгоды для бизнеса за короткий срок.

Вывод: методологии семейства Agile позволяют достигать высоких результатов в условиях быстро меняющегося рынка и требований клиентов.

Как совместить Waterfall и Agile и что из этого выйдет

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

Подход к объединению этих подходов совмещает в себе их преимущества и обеспечивает прозрачность процесса работы на проекте для бизнеса. 

Из Agile можно взять:

  • Деление работы на спринты. Декомпозиция работ на более мелкие этапы показывает высокую эффективность, дает возможность получать обратную связь от заказчика и пользователей, вносить корректировки. В Waterfall можно минимальным составом фичей увеличить частоту валидации результатов, чтобы быстрее реагировать на изменения.
  • Доска Kanban. Позволяет наглядно отслеживать прогресс выполнения задач, находить узкие места и управлять рабочим процессом. При грамотном использовании значительно сокращает time-to-market (скорость выхода на рынок) нового продукта, услуги или функциональности.
Как совместить Waterfall и Agile и стоит ли это делать
  • Принцип Continuous Integration. Предполагает регулярную интеграцию изменений в общую кодовую базу. Этот подход можно внедрить в Waterfall, чтобы уменьшить риски при объединении кода и обнаружить проблемы раньше.
  • Стендапы. Короткие ежедневные встречи команды, на которых обсуждаются текущие задачи, прогресс и блокирующие факторы. Позволяют улучшить коммуникацию и синхронизацию в команде.  
  • Ретроспективы. Регулярные встречи команды для обсуждения прошедшего спринта, выявления проблем и поиска путей их решения. Позволяют улучшить процессы и результаты проекта.

Из Waterfall можно использовать:

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

Практика показывает, что строгое следование правилам какой-то определенной методологии (фреймворка) и отсутствие гибкости в подходах к управлению проектом не приносит пользы. И, наоборот, использование лучших практик и гибридный подход помогают улучшить процессы и принести максимальную выгоду бизнесу. 

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

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