Agile (от английского слова – ловкий, проворный) – обобщающий термин, охватывающий различные методы управления проектами и организации труда, основанные на гибких принципах в противоположность традиционным жестким принципам. Такие методы и приемы работы разрабатывались в 1990-х годах в среде программистов, а в 2001 году группа разработчиков программного обеспечения (ПО) составила «Манифест гибкой разработки» (Agile Manifesto). Позже указанные в нем принципы оказались полезными и в других сферах, таких как маркетинг, оказание услуг, производство высокотехнологичных устройств, освоение новых ниш, управление отдельными рабочими группами в крупных корпорациях.
Чтобы лучше понять принципы Agile, стоит вкратце описать прежний подход, которому они противопоставлены.
Прежняя модель разработки ПО называлась каскадной или водопадной (waterfell model). Согласно этой модели, разработчики переходят от одной стадии к другой строго по порядку и только после того, как полностью завершена прежняя стадия:
1. Определение требований.
2. Составление плана.
3. Создание.
4. Тестирование.
5. Внедрение.
6. Поддержка.
Такая модель была удобна тем, что гарантировала качество продукта и его соответствие заранее известным требованиям. Кроме того, она хорошо соответствовала общепринятым в XX веке методам управления промышленным производством с его упором на иерархию, стандартизацию и отчетность.
Но со временем стали заметны недостатки модели. ПО усложнялось, а деловая среда становилась все более непредсказуемой. Заявленные в начале разработки технические требования к концу процесса могли устареть или измениться, а в ходе работы возникали новые, ранее непредвиденные требования и обстоятельства. Учитывать их часто бывало уже слишком поздно, и разработчики предпочитали вовсе отказываться от выпуска продукта, теряя деньги и время. Кроме того, некоторыми особенностями готового продукта (до 60 % функционала) клиенты пользовались редко или не пользовались вовсе, а ведь на их разработку тратились время и ресурсы. В таких условиях преимущество получали компании, которые первыми выпускали пусть и не совсем «вылизанные», но более или менее рабочие версии востребованных у пользователей продуктов.
Что же помогало этим гибким компаниям и коллективам разработчиков опережать конкурентов? «Манифест» постулирует четыре основные ценности:
▶ Люди и взаимодействие важнее процессов и инструментов.
▶ Работающий продукт важнее исчерпывающей документации.
▶ Сотрудничество с заказчиком важнее согласования условий контракта.