Agile: принципы и манифест

Agile — набор ценностей и принципов гибкой разработки, сформулированных в 2001 году в Agile Manifesto как реакция на тяжеловесные waterfall-процессы.

Зачем нужно

Agile-подход позволяет команде быстро реагировать на изменения требований и регулярно поставлять работающий продукт. Понимание Agile необходимо каждому разработчику: большинство современных команд работают по Scrum, Kanban или их гибридам. На собеседованиях часто спрашивают про Agile-ценности и отличие от waterfall.

Где используется

  • Продуктовые команды — основная модель разработки фич
  • Стартапы — быстрая адаптация к рынку
  • Аутсорс-студии — работа с меняющимися требованиями клиента
  • RS School — кросс-ревью, итеративная сдача задач

Agile Manifesto: 4 ценности

Люди и взаимодействие    > Процессы и инструменты
Работающий продукт       > Исчерпывающая документация
Сотрудничество с клиентом > Согласование контракта
Готовность к изменениям  > Следование плану

Важно: правая колонка не отвергается — левая просто ценится выше.

12 принципов Agile (кратко)

1.  Ранняя и непрерывная поставка работающего ПО
2.  Приветствие изменений даже на поздних стадиях
3.  Поставка работающего ПО каждые 2–4 недели
4.  Совместная работа бизнеса и разработчиков ежедневно
5.  Мотивированные люди — строй команду вокруг них
6.  Личное общение эффективнее документов
7.  Работающий продукт — главная мера прогресса
8.  Устойчивый темп разработки бесконечно долго
9.  Техническое совершенство и хороший дизайн
10. Простота — максимум неделанной работы
11. Самоорганизующиеся команды
12. Регулярная рефлексия и адаптация процесса

Agile-фреймворки

Фреймворк Суть Когда подходит
Scrum Спринты + роли + события Продукт с неизвестными требованиями
Kanban Поток задач через колонки Поддержка, ops, много мелких задач
SAFe Enterprise Agile Большие корпорации (100+ чел.)
XP Экстремальное программирование Упор на технические практики

Waterfall vs Agile

Waterfall:
Требования → Дизайн → Разработка → Тест → Релиз
(всё один раз, изменения болезненны)

Agile:
[Планирование → Разработка → Тест → Релиз] × N итераций
(изменения приветствуются, обратная связь каждую итерацию)

Частые ошибки

Ошибка Проблема Решение
"Agile = нет документации" Недопонимание манифеста Документация нужна, просто не избыточная
Agile без технических практик Хаос без качества Добавить TDD, CI/CD, code review
Standup как статус-отчёт Бюрократия, не синхронизация Фокус на блокерах, не на задачах
Спринт без ретроспективы Нет улучшения процесса Всегда проводить retro

Связанные темы

Ресурсы