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 |
Связанные темы
- _MOC Процессы
- Scrum -- роли, события, артефакты
- Sprint -- планирование и ретроспектива
- Метрики команды -- velocity, lead time
- User Stories и Acceptance Criteria
Ресурсы
- Agile Manifesto — первоисточник
- Agile Alliance
- Atlassian: What is Agile?