Как совместить Waterfall и Agile и стоит ли это делать
Использование лучших практик и гибридный подход может улучшить процессы и принести максимальную выгоду бизнесу
Более 5 лет использует в работе лайфхаки Waterfall и Agile-подходов. Успешно развивала проекты мобильной разработке , а сейчас использует свои знания в сфере ИБ.
Когда тренды гибридных методологий набрали свои обороты и стремительно ворвались в наши будни, мы в SimbirSoft провели оптимизацию процессов, внедрили лучшие практики из разных методологий. На старте проекта с нуля можно заложить качественный фундамент будущих используемых инструментов для работы всей команды и обеспечить прозрачность процесса для бизнеса.
Статья будет полезна руководителям проектов и владельцам продуктов. Первым будет предоставлена возможность внедрить себе в работу лучшие best practices для успешной реализации проекта в срок и в бюджет. Вторым статья покажет, как добиться лучшего результата, применяя тот или иной подход в работе или их комбинацию. В материале — о плюсах и минусах самых применяемых методологий и о том, как можно их совместить.
Waterfall: плюсы и минусы водопадной разработки
Все мы знаем, что «Waterfall» предполагает последовательное выполнение определенных этапов: выявление требований, проектирование, разработка, тестирование и внедрение. Каждый этап завершается до начала следующего.
Важно, что требования жестко фиксированы на протяжении всего жизненного цикла проекта. План действий четко определен и детализирован. Среди основных плюсов также отметим легкую и простую структуру проекта, прозрачность прогресса выполнения проекта для всех заинтересованных сторон.
Минусами в данном случае являются трудности при внесении изменений в требования на поздних этапах разработки, сложность А/В-тестирования в процессе разработки и самое любимое всеми руководителями — риски отсутствия обратной связи и коррекции на ранних этапах проекта.
Использовать Waterfall советуем, когда есть четкое понимание конечного результата, сформированы ограничения по бюджету проекта и срокам его реализации.
Вывод: используем Waterfall на проектах формата fixed price при наличии подробного технического задания на разработку и отсутствии переменных факторов. Как правило, это стандартизированные IT-решения, системы для внутреннего использования или небольшие проекты.
Agile: гибкая и понятная пофичная разработка
Agile основан на итеративной разработке продукта, когда можно изменения на любом этапе, обеспечивая тем самым максимальную эффективность и качество продукта.
SCRUM — самый распространенный фреймворк из семейства методологий Agile. При нем работы разделяются на небольшие, но самостоятельные фичи, упаковываются в спринты и выпускаются в продакшен каждые 2-4 недели. Завершающим этапом можно считать демонстрацию (демо) работающего продукта. На ежедневных совещания команды (дейли) обсуждаются текущие задачи и блокеры к ним, вносятся предложения по изменению процессов продукта, меняются приоритеты в фичах.
К преимуществам можно отнести: гибкое планирование и управление проектом, возможность быстро отреагировать на изменения в бизнес-требованиях к проекту, тестирование пользователями итеративных результатов в продакшене.
Из недостатков отметим самые важные, которые могут повлиять на продукт. Это: высокий уровень коммуникации и самоорганизации участников команды, а также сложность в оценке времени и ресурсов на проект.
SCRUM рекомендуем применять в проектах, где нет фиксированных и жестких дедлайнов, а частые изменения в бизнес-требованиях — это нормально, то есть когда разработка подстраивается под желания владельца продукта.
SCRUM применим и к стартапам, и к разработке крупных проектов в условиях отсутствия четкого понимания финального результата, но нацелен на предоставлении максимальной выгоды для бизнеса за короткий срок.
Вывод: методологии семейства Agile позволяют достигать высоких результатов в условиях быстро меняющегося рынка и требований клиентов.
Как совместить Waterfall и Agile и что из этого выйдет
Методологии Agile и Waterfall, с которыми мы познакомились выше, — одни из наиболее распространенных подходов к управлению проектами. То есть мы либо предполагаем жесткую последовательность шагов, начиная с определения требований и заканчивая выпуском готового продукта, либо итеративно совместно с заказчиком двигаемся в цели на протяжении всего процесса разработки.
Подход к объединению этих подходов совмещает в себе их преимущества и обеспечивает прозрачность процесса работы на проекте для бизнеса.
Из Agile можно взять:
- Деление работы на спринты. Декомпозиция работ на более мелкие этапы показывает высокую эффективность, дает возможность получать обратную связь от заказчика и пользователей, вносить корректировки. В Waterfall можно минимальным составом фичей увеличить частоту валидации результатов, чтобы быстрее реагировать на изменения.
- Доска Kanban. Позволяет наглядно отслеживать прогресс выполнения задач, находить узкие места и управлять рабочим процессом. При грамотном использовании значительно сокращает time-to-market (скорость выхода на рынок) нового продукта, услуги или функциональности.
- Принцип Continuous Integration. Предполагает регулярную интеграцию изменений в общую кодовую базу. Этот подход можно внедрить в Waterfall, чтобы уменьшить риски при объединении кода и обнаружить проблемы раньше.
- Стендапы. Короткие ежедневные встречи команды, на которых обсуждаются текущие задачи, прогресс и блокирующие факторы. Позволяют улучшить коммуникацию и синхронизацию в команде.
- Ретроспективы. Регулярные встречи команды для обсуждения прошедшего спринта, выявления проблем и поиска путей их решения. Позволяют улучшить процессы и результаты проекта.
Из Waterfall можно использовать:
- Определение целей проекта. Выявление ограничений и требований помогает команде лучше понимать цели проекта.
- Планирование. Из Waterfall можно позаимствовать такие особенности планирования, как определение вех и бюджетирование для обеспечения стабильности и оценки рисков
- Документирование. Agile фокусируется на работающем продукте, но применение практик Водопадного подхода по детальному документированию требований и процессов может быть полезным при передаче информации или погружении новых участников команды.
Практика показывает, что строгое следование правилам какой-то определенной методологии (фреймворка) и отсутствие гибкости в подходах к управлению проектом не приносит пользы. И, наоборот, использование лучших практик и гибридный подход помогают улучшить процессы и принести максимальную выгоду бизнесу.
Не стоит твердо следовать всем принципам Waterfall и не внедрять работающие практики Agile. Даже если заказчик четко обозначил на старте ограничения по проекту, сроки и бюджет, можно договориться о разделении работ на более мелкие этапы (итерации), условиях получения обратной связи и изменения требований.
Сегодня навык управления проектами предполагает улучшение процессов путем внедрения необходимых инструментов и практик. В статье представлены самые базовые из них. Опытный руководитель проектов может адаптировать и эффективно комбинировать лучшие практики из разных методологий, чтобы принести максимальную пользу команде и бизнесу.