Agile-методология: суть, принципы и способы применения
Когда требования рынка могут измениться за считанные дни, традиционные методы управления проектами зачастую оказываются слишком медленными и негибкими. Именно поэтому все больше компаний обращаются к Agile – не просто набору практик, а философии, ставящей во главу угла людей и адаптивность. Новая публикация блога Академии социальных технологий расскажет о сути Agile-методологии, а также о том, как применять ее принципы на практике.
История Agile: зачем бизнесу понадобилась очередная методология
На исходе XX века бизнес столкнулся с тем, что традиционные методологии разработки, вроде водопадной или каскадной (Waterfall), перестали соответствовать реалиям. Жесткие этапы работы, фиксированные и неизменяемые требования, а также выстроенная последовательность действия зарекомендовали себя в области строительства, но оказались неуместными для стремительного цифрового мира. Так, проекты запаздывали на годы, бюджеты кратно увеличивались, а готовый продукт безнадежно устаревал – за то время, что компания тратила на разработку, требования рынка изменялись.
Кризис усугублялся непредсказуемостью рынков – подход, согласно которому компания годами следовала когда-то разработанному плану, канул в лету. Потребность в быстрых и безопасных экспериментах, гибкости и адаптации легли в основу итеративных методологий управления: Agile, Scrum, Extreme Programming (XP).
В 2001 году появляется манифест Agile-методологии, включивший в себя ценности и принципы, определяющие порядок работы по новым правилам. Дело в том, что Agile стал не просто новой методологией, а сменой парадигмы: от «строительства» по чертежу к «выращиванию» продукта, когда на каждом этапе допускаются и комментарии, и изменения.
Основные ценности и принципы Agile
Главное нововведение Agile-методологии заключается в организации работы спринтами или итерациями, продолжительностью по 2-4 недели. Каждый такой этап приносит предварительный результат, который команда представляет заказчику для дальнейшего совершенствования.
Революционный подход потребовал и коренного изменения организации работы, что отразилось в ценностях Agile:
- Взаимодействие внутри команды и с другими командами имеет большее значение, чем процессы и инструменты. Люди – то, как они общаются и сотрудничают между собой, становится главным фактором успеха, что играет главенствующую роль над буквальным следованием инструкциям и первоначальному техническому заданию.
- Приоритет на функционирующий продукт, а не на исчерпывающую документацию. Не технические спецификации, отчеты и презентации – результат работы и свидетельство прогресса, а работоспособное программное обеспечение.
- Благожелательное взаимодействие с заказчиком важнее следования первоначальным условиям контракта. И заказчик, и исполнитель выигрывают, если поддерживают партнерские отношения, а не спорят над трактовками служебной документации.
- Позитивный настрой на изменения, даже на поздних стадиях разработки, даже если они противоречат первоначальному плану открывают путь к конкурентному преимуществу.
Эти ценности дополняют практические принципы, которые, в том числе, приветствуют любые изменения, регулярный обмен информацией с заказчиком и постоянный поиск вариантов совершенствования, как самого продукта, так и методов организации работы. Отдельное внимание уделяется людям, которые трудятся над проектом. Успешная совместная деятельность предполагает создание необходимых комфортных условий, предоставления поддержки и доверия между членами команды.
Таким образом, видно, что революция Agile-методологии заключается не столько в пересмотре отношения к внесению правок в ранние версии продукта, сколько в формулировании философии, которая ставит во главу угла людей и гибкость в противовес слепому следованию планам и документам.
Отличия от классического проектного управления
Классические методологии выстроены вокруг строгой последовательности этапов:
- Сбор и формулирование технических требований.
- Проектирование.
- Процесс разработки.
- Циклы тестирования.
- Имплементация.
Естественным образом изменения при такой очередности этапов требовали привлечения дополнительных временных и финансовых усилий.
Agile-методология не фокусируется на первоначальном плане, а гибко воспринимает изменения, более того – стремится к ним в проактивном режиме. За счет того, что команда регулярно предоставляет заказчику работающие версии продукта и получает обратную связь, результат постоянно корректируется.
На выходе заказчик минимизирует для себя возможные риски: целевой клиент получает лучшие решения, которые до того неоднократно тестировались эмпирическим путем. Зерна от плевел отделяются не после релиза и получения критических комментариев пользователей, а еще на этапе разработке.
Популярные фреймворки Scrum, Kanban, Lean
Для решения ряда повторяющихся задач команды, практикующие Agile-методологию, используют комплексы практик и инструментов – фреймворки. Расскажем о некоторых из них:
- Scrum – если Agile-методология описывает цели и принципы работы, то Scrum – это ее каркас, описывающий каким образом достигается эта цель: за счет распределения ролей, определения ключевых событий и артефактов для организации работы.
- Kanban – подход к наглядному представлению рабочего процесса. Все задачи выносятся на доску, благодаря чему ограничивается количество находящихся в работе дел и сокращается их непрерывный входящий поток.
- Lean – подход, позволяющий повысить ценность продукта для клиента и минимизировать потери, к которым относятся: задержки, лишние и избыточные действия, перепроизводство.
Ошибки внедрения: когда Agile не сработает
Agile-методология не работает, когда его внедряют формально, без понимания сути. Главная ошибка – имитация процессов: проводят стендапы и ретроспективы, но игнорируют ключевые принципы – открытость, готовность к изменениям и ориентацию на результат. Команда тратит время на ритуалы, но не получает ценности.
Другая проблема – отсутствие поддержки руководства. Если менеджмент продолжает требовать строгого следования плану, заниматься микроменеджментом и игнорировать обратную связь, гибкость становится невозможной. Agile превращается в бюрократию с новыми названиями для старых процессов.
Также провал неизбежен, если команду лишают автономности или она работает в отрыве от мнения заказчика, не находясь с ним в постоянному контакте. Без условий для самоорганизации, когда члены команды могут думать о совершенствовании продукта, и постоянной обратной связи от заказчика работа итерациями теряет смысл.
Практические шаги для перехода на Agile в команде
Переход на Agile требует продуманной стратегии, а не хаотичного внедрения ритуалов. Начать рекомендуется с малого – одного проекта, который стерпит первые ошибки и станет безопасным плацдармом для тестирования новой методологии. Конечно, принимать такое решение нужно только с согласования руководства – в противном случае велики риски сопротивления команды. Задачи Scrum-мастера, координирующего процесс, а также Владельца продукта, выступающего связующим звеном между заказчиком и командой, возложите на наиболее опытных, подготовленных и мотивированных сотрудников. На первых порах двигайтесь короткими спринтами (по 1-2 недели), постепенно внедряя все основные события: планирование, ежедневные стендапы (фокус на прогрессе и препятствиях), демо-сессии с заказчиком и обязательные ретроспективы для улучшения процесса.
Используйте простые инструменты для визуализации: физическую или цифровую доску, чтобы видеть объем работы, при этом ограничив количество, чтобы избежать перегрузки. Самый важный принцип – действуйте итеративно: не стремитесь к идеалу сразу, а после каждого спринта анализируйте, что можно улучшить, и адаптируйте процесс под свои нужды. И наконец, постройте свой Agile-фундамент:
- Создайте коалицию единомышленников – найдите сторонников в руководстве и внутри команды, так как без поддержки и понимания сверху инициатива обречена.
- Инвестируйте в обучение – нельзя внедрить то, чего не понимаешь, поэтому подготовьте команду к нововведениям, проведя соответствующие тренинги и вебинары. Максимально успешной имплементация будет, если обучение пройдут не только исполнители – менеджеры и лидер, но и заказчик.
- Определитесь с целями перехода к практике Agile-методологии, конкретизировав формулировку, например, с помощью SMART-модели.