Agile — это подход к управлению проектами, который основан на гибкости, сотрудничестве и быстрой адаптации к изменениям. Метод подходит командам, которые ориентированы на требования клиента и готовы быстро реагировать на изменения рынка.
Рассказываем, как философия, принципы и инструменты Agile помогают руководителям эффективно управлять проектами, повышать эфффективность сотрудников и качество продукта.
Agile появился в сфере разработки ПО, как альтернатива каскадной модели управления. В 2001 году американские разработчики выпустили манифест Agile software development, посвященный философии гибкой разработки программного обеспечения. Авторы хотели сформировать процесс в котором можно быстро реагировать на пожелания клиента, корректировать задачи и изменять продукт по мере необходимости.
Сегодня методология известна далеко за пределами сферы разработки, ее отдельные принципы и инструменты применяют сотни компаний по всему миру. Вот четыре ценности философии Agile:
- Люди и взаимодействие с ними — важнее процессов и инструментов.
- Работающий продукт важнее, чем точная и подробная документация.
- Сотрудничество с клиентом важнее условий договора.
- Готовность к изменениям важнее следования плану.
Agile — образ мышления, основанный на здравом смысле.
На первом месте — клиент. Клиентом может быть как конечный пользователь продукта, так и заказчик. Команда выясняет, что нужно клиенту, решает его задачи и постоянно собирает обратную связь.
Конечная цель работы меняется в процессе. За несколько месяцев жизни проекта могут измениться требования клиента, условия рынка или понимание задачи. Agile-команда оперативно реагирует на изменения и корректирует понимание задачи.
Не нужно проводить повторную аналитику. В каскадной модели корректировка планов и диаграмм занимает много времени. Подход Agile говорит, что этого делать не нужно — лучше посвятить больше времени качеству продукта.
Можно выпускать продукт частями. В конце каждого рабочего цикла должен получиться готовый продукт, пусть и с ограниченными функциями. Лучше сделать быстро и с ошибками, но сразу оценить жизнеспособность продукта. Новые требования нужно учесть и добавить в следующие рабочие циклы.
Гибкие сроки. При планировании по Agile нужно закладывать запас времени на изменения и непредвиденные задержки.
Руководитель должен работать с командой в течение всего проекта, а не приходить в начале с требованиями и в конце — с проверкой.
Работа короткими циклами — спринтами. В конце каждого спринта команда тестирует продукт и получает обратную связь. Это помогает учесть отзывы клиентов и заказчиков, улучшить качество и вовремя сменить траекторию планирования.
Кому подходит и кому не подходит Agile
Принципы и инструменты Agile почти не используют в госкорпорациях и промышленных предприятиях. Для больших тяжеловесных организаций больше подходит каскадная модель управления проектами, в которой производство жестко привязано к последовательности этапов.
Agile подходит для компаний и стартапов в сфере разработки, интеллектуального труда и услуг — когда нужна гибкость, клиентоориентированность и способность в любой момент изменить траекторию проекта. Вот некоторые плюсы и минусы Agile.
Плюсы
Гибкость. Agile хорошо работает в условиях неопределенности, когда нужно на ходу менять план проекта и вносить новые требования заказчика.
Снижение рисков. Команда тестирует продукт и получает обратную связь после каждого спринта— так легче понять, когда что-то пошло не так.
Гибкие сроки. Можно адаптировать время выполнения задач или пофлексить часть функций чтобы вовремя выпустить продукт.
Вовлеченность команды. Один из принципов Agile: нет микроменеджменту, да — свободе управления. Самоуправляемые команды более эффективны.
Быстрая реакция на проблемы. Недочеты и ошибки можно устранить в следующем спринте. Для этого необязательно переделывать проект или сдвигать дедлайны.
Нет рутины. Сотрудники не тратят лишнее время на документацию и отчеты, а уделяют больше времени качеству продукта.
Минусы
Нет четкой структуры. В конце проекта может получиться не совсем то, что было в начале.
Заказчику нужно уделять время команде. Agile-команда будет показывать ему промежуточные результаты и требовать обратную связь. Просто дать задачу и забрать готовый продукт — не получится.
Сложно менять команду. Если в процессе нужно сменить руководителя или сотрудника — его придется погружать в подробности прошлых спринтов.
Фокус на мелочах. Можно увлечься обновлением и исправлением частностей и потерять из виду глобальную цель проекта.
Сложно внедрить. Если команда раньше не работала по Agile, внедрение новых принципов потребует значительных усилий и времени.
Одни команды используют только принципы Agile, а другие — внедряют инструменты
Есть компании, которые не используют инструменты Agile, но следуют его философии и принципам. Другие команды внедряют отдельные инструменты — например Skram, Kanban, митинги и ретроспективы. Посмотрите список, если вы делаете это — вы работаете по принципам Agile:
- собираете обратную связь у заказчика и пользователей на каждом этапе работы;
- разбиваете план проекта на задачи и подзадачи;
- контролируете нагрузку на сотрудников — если кто-то не справляется, выясняете, как это исправить;
- показываете продукт клиенту после каждого этапа работы, минимум один раз в две-три недели;
- приоритезируете задачи, важное делаете в начале;
- меняете продукт на любом этапе если изменились задачи клиента или ситуация на рынке.
Scrum — это метод организации рабочего процесса с поэтапной разработкой и совершенствованием продукта. В Scrum команда работает спринтами — одинаковыми по времени итерациями. В scrum-команду входят разработчики, тимлид и скрам-мастер, который отвечает за правильное использование инструмента.
Авторы метода — программисты Кен Швабер и Джефф Сазерленд. Они рассказывают, что наблюдали за работой американского спецназа и пришли к выводу, что слаженная командная работа — залог успеха. Подробнее о Scrum можно прочитать в главном документе метода — Scrum-гайде.
Гибкий подход Scrum особенно эффективен, когда нужно быстро разработать новый продукт. Метод дает возможность экспериментировать, менять цели и корректировать итоговоее видение результата.
Согласно философии Agile управляет проектом вся команда. Вот, как она работает:
- Заказчик формирует список требований к продукту.
- Команда составляет бэклог проекта — список этапов, которые нужно выполнить.
- На основе бэклога команда планирует спринты длиной от недели до месяца каждый.
- За один спринт команда выполняет набор задач, который ведет к конкретному результату — цели спринта.
- Участники команды ежедневно собираются на митинги и обсуждают планы, проблемы и препятствия в работе.
- Команда совместно показывает результаты заказчику и обсуждает с ним требования.
Чтобы не отклоняться от цели команда ежедневно собирается на 15-минутные встречи — scrum-митингу. Во время встречи участники отвечают на вопросы:
— что я сделал с прошлой встречи?
— что я буду делать сегодня?
— что мешает мне выполнять задачу?
Scrum-мастер общается с командой, анализирует отчеты и помогает преодолевать препятствия.
Иногда команды используют отдельные принципы Scrum, но не внедряют всю методологию целиком. Из-за этого могут быть проблемы — можно что-нибудь сломать и решить, что подход не работает. А на самом деле будет не хватать отдельного принципа или инструмента.
Например, чтобы Scrum работал — команда должна действовать самостоятельно. Как только появляется внешняя сила, которая управляет спринтами и влияет на результат, все ломается.
Kanban — это метод повышения качества проектов и продуктов. Его можно начать использовать в любой момент: достаточно взять принципы, которые уже есть в компании, и улучшать их. Сегодня многие используют один из инструментов метода — Kanban-доску, например, Trello или Kaiten.
Если просто сделать доску и повесить на нее задачи — это не принесет много пользы. Чтобы метод работал , нужно соблюдать все шесть принципов.
Шесть принципов работы в Kanban
- Все задачи визуализируем на kanban-доске, новые задачи сразу добавляем на доску.
- Ограничиваем количество работы в процессе — ставим WIP-лимиты на каждый столбик доски.
- Следим, как задачи движутся по доске.
- Используем явные правила добавления задач, которые понятны команде.
- Вводим петли обратной связи — встречи, которые углубляют понимание процесса работы.
- По возможности нужно улучшать все процессы.
Kanban отличается от Scrum более широкой областью применения. Метод используют не только в разработке продуктов, но и в командах операционки и поддержки. Kanban помогает ускорить процессы, сделать их более равномерными и предсказуемыми. Подробнее о методе можно прочитать в книге «Канбан. Альтернативный путь в Agile».