Итак, Agile.
В переводе с английского означает «динамичный», «гибкий», «подвижный».
В 2001 году этот термин впервые применили разработчики программного обеспечения для объединения «легких» подходов в проектировании.
Позже термин был перенесен на тему проектного менеджмента и получил следующее определение:
Agile держится на принципах, которых в общем количестве 12, но все они укладываются в рамки основных четырёх:
Основное качество любой методологии из этого набора – деление всего процесса проектирования на небольшие этапы, результаты которых интегрируются и корректируют ход всего проекта.
У Agile есть маркеры, по которым его легко можно распознать:
Любая методология создается в противовес существующей, но не устраивающей по каким-либо причинам. Agile не согласился с традиционной каскадной моделью планирования.
Каскадная модель не предполагает отклонения от плана. Уж если поставили цель – собрать 3 тонны яблок с трех яблонь, то потрудитесь предоставить итоговый отчет с ожидаемыми цифрами. О том, что этот отчет не соответствует действительности, а тем более о причинах этого провала, Заказчик, как правило, не задумывается. Он просто разочаровывается. В итоге, бюджет превышен, все сроки остались далеко позади, но даже в этих условиях результат совсем не тот, которого ждали.
Благодаря гибкости, основная цель которой - способность справляться с постоянными изменениями, Agile лабилен настолько, насколько это может позволить себе методология.
Таким образом, всего лишь изменение одного условия - возможность менять требования – привело к получению более качественного, полезного результата и счастливому Заказчику.
Отсюда вытекают основные преимущества Agile:
Сталкиваясь с типичными проектными проблемами, Agile решает их разумными способами и доказывает свою эффективность не на слове, а на деле.
Например, очень часто Заказчик не может точно сформулировать ТЗ («техническое задание»), потому что у него есть только идея, но не понятна ее функциональность. На этапах передачи этой идеи участникам проектной группы она способна трансформироваться до неузнаваемости. При этом у каждого участника группы есть свой взгляд на реализацию полученного ТЗ.
Ответ Agile: частое взаимодействие с Заказчиком снимает опасения неопределенности и недопонимания.
Или, например, Заказчик постоянно меняет требования, так как в процессе его идея для него же самого принимает форму. Проектная группа бросает начатое и приступает с новыми силами к работе, чтобы соответствовать новому запросу по конечному продукту.
Ответ Agile: новые требования – это отлично! Они помогают сделать итоговый продукт качественней, потому что учитываются все предыдущие результаты работы.
Рассуждая о Agile, мы пришли к метафоре: данная методология причесывает процесс проектирования, выделяя пряди, убирая лишнее, при этом создавая красивый и качественный результат.