Содержание
Знаете ли вы, что существуют различные методологии управления проектами? Каждый из них включает в себя все основные рабочие циклы:
- Разработка требований
- Планирование
- Проектирование
- Кодирование
- Тестирование
- Оптимизация.
Сегодня мы поговорим о двух из них. Тех двух, что мы активно используем на своих проектах. Читаем, анализируем, выбираем. Перед вами сравнение двух методологий — Agile и Waterfall.
Agile
Эта методология базируется на 12 принципах (так называемый Agile манифест). Давайте познакомимся с ключевыми практическими постулатами Agile:
- Заказчик может изменять или корректировать свои требования на любом этапе разработки.
- Лучшим показателем эффективности команды является рабочее решение.
- Самым продуктивным способом общения является личное общение.
- Новые версии продукта выходят либо после каждой итерации, либо каждые несколько месяцев (в зависимости от проекта).
В 2015 году было проведено масштабное профессиональное исследование. Под его прицел попал 601 проект из сферы IT. Результат показал, что именно Agile сегодня является самым распространенным подходом к управлению проектами.
Agile: преимущества
- Возможность переделать проект полностью даже после прохождения нескольких итераций.
- Проект разделяется на короткие и прозрачные отрезки (итерации), в Scrum они называются спринтами.
- Гибкость Agile сводит все возможные риски к минимуму.
- Agile идеально подходит для разработки MVP.
Agile: недостатки
- Расчет бюджета проекта существенно усложняется постоянно меняющимися требованиями.
- Команда разработчиков должна быть не только высококвалифицированной, но и клиентоориентированной.
- Новые требования зачастую вступают в конфликт с текущей архитектурой проекта.
- Постоянные корректировки требований иногда приводят к ощущению, что проект никогда не закончится:)
Waterfall
Методология Waterfall базируется на принципе последовательного развития. Вкратце, схема управления проектом выглядит следующим образом:
- Анализ требований
- Планирование
- Реализация
- Тестирование и оптимизация
- Развертывание
- Поддержка
Переход к каждому последующему шагу возможен только после завершения предыдущей стадии. При этом внесение нового функционала допустимо после развертывания проекта и исправления всех багов.
Waterfall: преимущества
- Четкая и логичная структура управления (прекрасно подходит даже для команд с небольшим опытом).
- Классная документация, не допускающая разночтений и неверных толкований.
- Позволяет легко отслеживать ресурсы, время и возможные риски.
- Константный объем задач для разработчиков.
Waterfall: недостатки
- Waterfall не подразумевает возможность корректировки требований, он недостаточно гибок.
- Waterfall требует больше времени и ресурсов по сравнению с Agile.
- Вы можете “опробовать” свой проект только после его выпуска. Возможность изменения функционала в процессе разработки отсутствует.
- Минимальное взаимодействие между заказчиком и командой разработчиков.
Что же выбрать?
Ваш выбор это Agile, если:
- У вас опытная команда разработчиков.
- У вас нет точного представления о конечной функциональности продукта.
- Изменения на проекте должны быть реализованы как можно быстрее.
- Вы хотите принимать активное участие в проекте на протяжении всего периода разработки.
- Вам нужно реализовать рабочий продукт, как можно быстрее.
- Вы — стартапер.
Ваш выбор это Waterfall, если:
- Ваши требования к проекту вряд ли будут меняться.
- Качество продукта гораздо важнее, чем время и ресурсы, которые вы готовы в него вложить.
- Вы не слишком заинтересованы в том, чтобы наблюдать промежуточные результаты после каждого этапа разработки и не стремитесь принимать активное участие в проекте.
Ну и наконец, обратимся к статистике. Она показывает, что проекты, реализованные с помощью Agile, имеют в три раза больше шансов на успех, чем проекты, управляемые по методологии Waterfall.
Agile и Waterfall: заключение
Вы никогда не найдете серебряную пулю для управления проектами. Методология, способная идеально упорядочить все этапы разработки и сбалансировать все возможные риски, существует только в фантазиях. Самым серьезным недостатком Waterfall является отсутствие гибкости. Используя эту методологию, вы не сможете менять требования к проекту в процессе разработки. А возможность адаптироваться к текущим условиям на современном рынке — огромнейший плюс.
Впрочем, это не означает, что Waterfall плох и о нем стоит забыть. Он отлично подходит для небольших проектов. Ну а если вы научитесь грамотно комбинировать Agile и Waterfall в рамках одного проекта, это откроет новые горизонты и предоставит массу интересных возможностей.