Agile – это гибкий подход к разработке программного обеспечения, основанный на итеративной работе, частом взаимодействии с заказчиком, открытой коммуникации и постоянных улучшениях. Agile описывает целую философию ведения проектов, а не конкретный инструмент.
Agile – это когда команда делит работу на короткие этапы, часто показывает результат заказчику и быстро вносит изменения по обратной связи.
а) В IT-командах для быстрой и гибкой разработки продукта
б) В проектах, где часто меняются требования
в) Когда важна постоянная обратная связь от заказчика
г) При разработке прототипов, MVP или работе в стартапе
д) В крупных организациях – с помощью SAFe или Scrum-of-Scrums
Agile возник как альтернатива «тяжелым» методологиям (например, Waterfall), где работа шла строго поэтапно и долго. В 2001 году 17 разработчиков сформулировали Agile-манифест, в котором сделали упор на:
а) Людей и взаимодействие важнее процессов и инструментов
б) Работающее ПО важнее исчерпывающей документации
в) Сотрудничество с заказчиком важнее контрактных условий
г) Готовность к изменениям важнее следования первоначальному плану
Agile-подходы применяются не только в разработке, но и в маркетинге, управлении и других сферах. Он включает в себя конкретные методики, такие как:
а) Scrum – команда работает в спринтах по 1–4 недели
б) Kanban – визуальное управление потоком задач
в) SAFe, LeSS, XP – масштабируемые и специализированные варианты Agile
а) Команда делит большую фичу на истории, оценивает их и реализует в течение 2-недельного спринта
б) Разработчики, тестировщики и аналитики работают в одной кросс-функциональной команде
в) После каждого спринта команда проводит ретроспективу и улучшает процессы
г) Каждый день проводится daily митинг, чтобы обсудить прогресс и блокеры
д) Новые требования от бизнеса могут попасть в бэклог и реализоваться уже в следующем спринте