Методология Agile
Необходимо понимать, что эта методология не является готовым решением или пошаговым планом работ. Это совокупность ценностей, принципов и подходов, которые команда может использовать при принятии решений о том, как сделать процесс ведения проекта более эффективным.
В течение каждого спринта команда может гибко управлять процессом, от чего зависит успешность его выполнения. Задачи могут создаваться динамически, приоритеты — пересматриваться, то есть изменение бэклога (документа, содержащего список требований к функциональности, упорядоченных по степени важности) в процессе разработки направлено на своевременное и качественное завершение спринта.
Под каждый проект команда должна найти для себя наилучший Agile-подход. Поэтому тщательно оценивайте параметры проекта, советуйтесь со всеми участниками и не спешите начинать работу без принятия взвешенного решения.
Когда лучше всего обратиться к модели Waterfall?
В проекте, где имеются четкие требования, корректно задокументированные, а также сформирован план действий от начала и до завершения проекта, можно использовать модель Waterfall. На протяжении всего проекта мы можем оглядываться назад и оценивать его. Если мы уверены, что технология понятна и не является динамичной (то есть изменения в процессе не предполагаются), можно приступать к плавной реализации проекта. Методологию Waterfall лучше всего использовать для коротких проектов, в которых не предусматриваются отклонения.
Выбираем Hybrid?
Иногда единый подход может оказаться смертельной ловушкой. Если вы решите использовать только Agile, это может быть рискованно, особенно при работе над крупными проектами. При использовании исключительно Agile планирование может стать менее конкретным, а документацией начнут пренебрегать. С другой стороны, чистый Waterfall создает другую проблему — недостаточное внимание общей архитектуре системы на самом начале. Исходя из этого, можно смело утверждать, что многое зависит от предсказуемости и предварительного обсуждения проекта командой.
Если вы уверены, что шаги можно предсказать, например, если это процесс, который вы выполняли много раз, — скорее всего, Waterfall является лучшим подходом. И наоборот, если уровень уверенности низкий, Agile — лучший выбор. Если есть отдельные части проекта, по которым вы не можете определиться, их нужно разделить на столько частей, сколько потребуется. Когда вы достигаете последовательности в проекте, где можете определить каждую часть процесса, вы готовы к работе.
Резюмируя вышесказанное, если вы хотите выбрать правильный подход для своего проекта, необходимо ответить на несколько ключевых вопросов:
Масштаб — Насколько большим является проект?
Требования — Меняются ли они или являются стабильными?
Изменения — Всегда ли изменяется область применения?
Опыт — Это новая технология или новое решение для вашей компании? Был ли у вас опыт его внедрения ранее?
Ресурсы/фокус — Есть ли у вас подходящие ресурсы, выделенные для этого проекта? Есть ли сотрудники, работающие неполный рабочий день или не полностью вовлеченные в проект?
Ресурсы/физическое расположение — Могут ли эти ресурсы находиться в одном месте?
Вовлеченность клиентов — Получаете ли вы обратную связь от своих клиентов?
График — Есть ли у вас фиксированные сроки?
Документация — Готовы ли вы быть гибкими и требовать немного меньше документации?
Определившись с ответами, выбираем подход, который подходит лучше всего, и формируем описание проекта:
- Количество частей проекта (конкретных этапов).
- Время на реализацию всего проекта и время на каждую его часть.
- Последовательность частей проекта и определение задач, с которыми команда ранее не работала.
- Выбор подхода для каждой части проекта.
На основании результатов этого процесса вы можете выбрать одну из методологий, реализующих Agile, такую как Scrum, Kanban, Crystal Clear, Lean Software Development и т. д., либо методологии на основе Waterfall. Вы также можете встроить часть Agile в Waterfall (WaterGile) или, наоборот, использовать этапы Waterfall в рамках Agile-проекта (AgiFall) там, где, по вашему мнению, находится наиболее рискованная часть.
Сочетайте преимущества обоих подходов и избегайте их недостатков!