Когда вы решаете разработать свой продукт, то рано или поздно возникает вопрос, как организовать процесс разработки. Стоит ли жестко распланировать все этапы и делать все шаг за шагом? Или лучше работать короткими итерациями, чтобы чаще отслеживать результат и быстрее вносить правки? Все это определяют методологии разработки продукта. Каждая из них имеет свои преимущества и недостатки. В этой статье рассмотрим наиболее популярные из них. Также я расскажу, на что обратить внимание при выборе подходящей методологии и как комбинировать разные подходы.
Waterfall (каскадная) – это методология ведения проекта, когда фазы работ идут последовательно. Следующая фаза начинается только после завершения предыдущей. Наглядно это выглядит так:
Получается, план такой:
В Waterfall можно управлять изменениями требований и рисками, но это скорее исключительные ситуации, которые требуют дополнительных затрат времени и бюджета.
Agile (гибкие) – это семейство методологий, объединенных ценностями и принципами Agile-манифеста.
Ценности Agile:
Agile стал основой для целого ряда гибких методик, среди которых наиболее известны Scrum, Lean и экстремальное программирование.
В основном это фреймворки, предполагающие итерационную работу над проектом, то есть когда основные фазы разработки циклично повторяются друг за другом. Самый распространенный фреймворк – это Scrum, схематично рабочий процесс по которому можно изобразить так:
Жизненный цикл проекта в этом случае — это набор итераций, каждая из которых включает в себя мини-версию разработки проекта командами по методу Waterfall.
Получается, что итерационные методологии отличаются тем, что результатом каждой итерации является законченный продукт, и каждая последующая итерация наращивает его функциональность.
Ещё одна особенность в том, что на этапе аналитики требуется прояснить и зафиксировать не все требования по проекту, а только часть — то, что планируется завершить в текущей итерации. Аналогично с разработкой дизайна – идет отрисовка не итоговых прототипов, а только требуемых для реализации текущего спринта.
Waterfall, Scrum и другие гибкие методологии управления проектами имеют преимущества и недостатки. Каждая из методологий хорошо подходит для решения определенных задач и сложнее адаптируется к другим.
Характеристики проектов, подходящих под разные методологии можно обозначить так:
Характеристики | Waterfall | Гибкие методологии | В чем подвох |
Скоуп и требования | Понятны и меняться не будут | Меняются по ходу работы | В Waterfall этап аналитики предполагает полное прояснение всех требований и учет ограничений на ранней стадии проекта. Последующие изменения требований сложнее с точки зрения процессов и требуют дополнительных затрат, чтобы исправить реализованный ранее функционал. |
Новизна задачи | Похожая задача уже решалась заказчиком/исполнителем, продукт не инновационный | Для заказчика/исполнителя это качественно новая задача, либо продукт инновационный | В новой для себя области гораздо проще упустить что-то важное. Для Waterfall будет сложнее вносить изменения в исходные требования. |
Управление требованиями | Требования к проекту в процессе работы не будут значительно меняться | Планируется применять Customer development (тестирование идеи или прототипа будущего продукта на потенциальных потребителях), тестировать гипотезы на рынке, в процессе проекта управлять приоритетами, опираясь на фокус-группы | По аналогии с первыми пунктами – здесь все упирается в потребность гибко управлять требованиями. Если нет такой потребности – Waterfall ваш вариант. |
Бюджет | Жестко ограничен | Можно варьировать в заданных рамках | Если в Waterfall все идет по плану, то бюджет и срок проекта можно определить после этапа аналитики по проекту. При этом бюджет первичен, и после завершения аналитики он будет определять срок. То есть последовательность такая: бюджет → аналитика → срок. |
Срок | Жестко ограничен и определен до этапа аналитики | Может варьироваться | Отличительная особенность гибких методологий – результат каждой итерации в виде работающего продукта. После завершения этапа аналитики можно достаточно точно оценить срок завершения Waterfall-проекта. |
Если проект характеризуется признаками только из одной колонки – можно смело выбирать соответствующую методологию проекта и не греть голову. Но что, если все сложнее (как и бывает в большинстве случаев)? Тогда на помощь приходят гибридные методологии управления проектами! Мы уже писали про свой опыт работы с ними на примере разработки портала “Спасибо от Сбербанка. Путешествия”. Советуем ознакомиться, чтобы узнать подробнее когда и зачем их применять.
Большинство проектов Azoft управляются с помощью гибридной, индивидуально подобранной под проект методологии. Для нас важно, чтобы инструменты управления использовались не “для галочки” и не потому, что это декларировано в PMBook, а для того, чтобы решить задачи проекта. Объясняем, когда и как внедрить практики из разных методологий, чтобы в результате собрать актуальный для вашего проекта “гибрид”.
Как сделать подходящий к проекту гибрид:
Каждый проект – это уникальный коктейль из требований, команды, заказчика и внешних условий. Подходящий проекту фреймворк управления позволяет использовать ресурсы эффективно, сильно снижая риски ошибиться в процессе. Надеюсь, статья поможет вам настраивать на своих проектах такие системы управления, которые помогут достигать классных результатов! Если вы знаете другие способы добиться идеальной управляемости проекта – пишите в комментариях, будем рады новым инсайтам.