Agile
Гибкий подход к разработке: продукт создается короткими итерациями, а план уточняется по обратной связи, а не фиксируется на год вперед.
Agile («гибкий») — подход к разработке программ, при котором продукт создается небольшими шагами и регулярно показывается заказчику. Вместо того чтобы год писать подробное техническое задание, затем год разрабатывать и только в конце узнать, что получилось не то, команда каждые одну-четыре недели выпускает работающий кусок системы, получает обратную связь и уточняет план.
Манифест Agile
В феврале 2001 года семнадцать разработчиков сформулировали «Манифест гибкой разработки программного обеспечения». Он состоит из четырех ценностей:
- люди и взаимодействие важнее процессов и инструментов;
- работающий продукт важнее исчерпывающей документации;
- сотрудничество с заказчиком важнее согласования условий контракта;
- готовность к изменениям важнее следования первоначальному плану.
Авторы сами оговаривают: процессы, документация, договоры и планы тоже ценны, просто люди, работающий продукт, сотрудничество и готовность к изменениям важнее. Agile не отменяет планы и документацию, а меняет приоритеты.
Как это выглядит на практике
- Короткие итерации с работающим результатом в конце каждой.
- Приоритеты по ценности. Сначала делается то, что дает наибольшую пользу; менее важное может так и не понадобиться.
- Регулярная демонстрация заказчику и пользователям.
- Самоорганизующаяся команда сама решает, как выполнить работу.
- Постоянное улучшение процесса по итогам каждой итерации.
Фреймворки
Agile — набор принципов, а конкретные способы работы описаны во фреймворках. Самые распространенные — Scrum с фиксированными спринтами и ролями и Kanban с непрерывным потоком задач. Для больших организаций со многими командами существуют масштабированные подходы, например SAFe. Инженерные практики Agile — частые выпуски, автоматические тесты, CI/CD — легли в основу DevOps.
Где Agile подходит, а где сложнее
Agile хорошо работает, когда требования не до конца известны заранее и важно быстро проверять гипотезы: новые продукты, личные кабинеты, цифровые сервисы. Сложнее там, где объем работ жестко фиксирован договором, — например, в государственных закупках с утвержденным техническим заданием. В таких проектах используют гибридный подход: общий объем и сроки фиксируются, а внутри разработка идет итерациями с промежуточными показами, что снижает риск получить в конце «не то». Хорошая проработка требований на старте, которую дает бизнес- и системный анализ, полезна при любом подходе.
Типичные заблуждения
Agile — не «работа без плана» и не «можно менять все в любой момент». Это дисциплина: короткий горизонт планирования, но четкий; изменения — но через приоритеты; меньше документов — но нужные документы есть. Ежедневные встречи и доска задач без реальной обратной связи от пользователей — это ритуалы, а не гибкость.