Agile: что это такое и как работает гибкое управление проектами
Рассказали о принципах работы по Agile и о том, для каких проектов подходит эта методология, а в каких лучше использовать другие методы.
Иллюстрация: Fauxels / Andrea Piacquadio / Pexels / Colowgee для Skillbox Media
Agile (эджайл) — методология управления проектами. Она возникла в сфере IT и сначала использовалась для разработки ПО. Сейчас Agile используют и в других отраслях — поэтому, кроме проджектов, в методологии должны разбираться и другие менеджеры, а также руководители компаний.
В статье рассказываем:
- что такое Agile;
- в чём заключаются принципы гибкого управления проектами;
- какие есть виды Agile-методологий;
- как управляют проектом по Scrum;
- каким проектам подходят гибкие методологии, а каким не подходят;
- как узнать больше о проектном управлении.
При подготовке статьи мы использовали материалы курса Skillbox «Agile: Scrum и Kanban в работе над продуктом».
Что такое Agile
Термин Agile используют в двух значениях:
- Это философия, система ценностей и принципов, по которым работает команда проекта.
- Это семейство методологий управления проектами, которые созданы на базе философии Agile.
С английского agile переводится как «гибкий». Гибкость лежит в основе и философии, и методологий. Это означает, что команда, которая работает по Agile, быстро адаптируется к изменениям в работе и новым вводным. Например, к новым требованиям заказчика, новым потребностям целевой аудитории, изменениям в рыночных условиях или другим неожиданным обстоятельствам.
Agile — прямая противоположность методологии Waterfall («Водопад»). Waterfall была доминирующей методологией управления проектами во второй половине XX века.
Суть Waterfall заключается в следующем. Команда проекта составляет детальное техническое задание и согласовывает его с заказчиком. Затем занимается разработкой строго по утверждённому плану и сдаёт заказчику готовый продукт.
В системе Agile всё устроено по-другому. Продукт стараются разработать как можно быстрее — так, чтобы начать им пользоваться почти сразу. Функции продукта меняют в ходе разработки. При этом команда проекта находится в постоянном контакте с заказчиком.
Как система ценностей Agile сформировалась в 2001 году. Её придумала группа разработчиков, которые поняли, что старые способы управления проектами не всегда работают хорошо. Так появился Agile-манифест — подробнее о нём говорим в следующем разделе.
Курсы Skillbox для тех, кто хочет управлять проектами и продуктами
- «Профессия Менеджер проектов» — освоить профессию с нуля, создать сильный кейс для портфолио и найти высокооплачиваемую работу.
- «Управление проектами» — систематизировать знания, получить недостающие навыки и зарабатывать больше.
Agile-манифест: главные ценности и принципы Agile
Agile-манифест (Agile Manifesto) — основной документ, в котором описаны ценности и принципы гибкого управления проектами. Полный текст манифеста на разных языках можно посмотреть на официальном сайте. Мы перечислим только ценности и принципы.
Четыре ценности гибкого управления проектами
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
Важно понимать, что в Agile-манифесте не отрицается то, что справа, но больше ценится то, что слева.
Кроме главных ценностей, в Agile-манифесте перечислены 12 принципов Agile:
- Приоритет команды проекта — удовлетворение потребностей заказчика с помощью своевременной и регулярной поставки качественного продукта.
- Изменение требований к продукту приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют обеспечить продукт конкурентными преимуществами.
- Промежуточный рабочий продукт нужно показывать заказчику как можно чаще — с периодичностью от пары недель до пары месяцев.
- Руководители и разработчики должны ежедневно работать вместе на протяжении всего проекта.
- Над проектом должны работать мотивированные специалисты. Нужно создать для них необходимые условия и обеспечить им поддержку.
- Личное общение — самый практичный и эффективный способ обмена информацией в команде.
- Работающий продукт — основной показатель прогресса.
- Процессы в Agile должны быть настроены так, чтобы проект развивался устойчиво. Заказчики, разработчики и пользователи должны быть готовы к тому, что изменения будут вноситься равномерно.
- Постоянное внимание к техническому совершенству продукта и качеству проектирования повышает гибкость проекта.
- Не стоит переусложнять проект — лишние процессы нужно свести к минимуму.
- Лучшие продукты рождаются у команд, которые умеют организовать себя самостоятельно.
- Команда должна постоянно искать способы работать эффективнее и корректировать свой стиль работы.
Перечисленные ценности и принципы — это чек-лист, по которому можно понять, насколько команда проекта соответствует или не соответствует Agile.
Главные виды Agile-методологий: Scrum и Kanban
В семейство Agile входит несколько методологий (или фреймворков) для гибкого управления проектами. Мы расскажем о самых популярных Agile-методологиях: Scrum и Kanban.
Scrum
Scrum (скрам). Чаще всего эту методологию используют в разработке ПО. Проект разбивают на итерации (спринты) — промежутки времени, в которые команда разрабатывает продукт поэтапно.
Обычно один спринт длится 2–4 недели. В конце каждого спринта команда поставляет готовую часть продукта — его «неидеальную» версию, которой уже можно пользоваться, — или дополнительные функции к ней. При этом в начале проекта нет представления о том, как будет выглядеть продукт в самом конце: требования могут меняться в ходе разработки.
Например, к концу первого спринта разрабатывают главную страницу сайта банка. За второй спринт делают отдельную страницу для каждой банковской услуги — ипотеки, потребительских кредитов, вкладов, страхования. В конце третьего спринта на сайте появляются кредитный калькулятор и агрегатор финансовых новостей. И так далее — по мере необходимости сайт дополняют разными фичами. При этом его «сырая» версия работает уже с конца первой итерации.
Подробнее об этапах управления проектом по этой методологии рассказываем ниже.
Скрам — это фреймворк, в котором много специфических ролей, терминов и мероприятий. Мы расскажем о нескольких основных — это поможет лучше понять общую концепцию методологии.
Команда, или developers, — люди, которые создают продукт. Простыми словами — разработчики. Состав команды формируют отдельно для каждого проекта.
Скрам-мастер — менеджер, который направляет команду и решает проблемы, замедляющие рабочий процесс. Его задача — организовать работу так, чтобы каждый участник команды понимал потребности клиента и мог предлагать свои идеи. Также скрам-мастер организует общение клиента и команды на совместных мероприятиях. Подробнее об особенностях профессии мы рассказывали в этой статье.
Владелец продукта, или product owner, — человек, который отвечает за ценность продукта и за бэклог. Обычно это представитель заказчика. Он передаёт команде новые требования к продукту и следит, чтобы команда работала в нужном направлении.
Бэклог — список задач проекта, расположенных по приоритетности.
Scrum-митинг (дэйли или стендап) — ежедневный сбор команды примерно на 15 минут. За это время каждый участник команды отвечает на три вопроса:
- что он сделал с прошлой встречи;
- что планирует делать сегодня;
- что этому мешает.
В результате встречи становится понятно, всё ли идёт по плану, что нужно сделать, чтобы преодолеть препятствия.
Это далеко не вся терминология Scrum-методологии. Больше об этом фреймворке можно узнать в «Руководстве по Scrum», написанном основателями метода Джеффом Сазерлендом и Кеном Швабером.
Kanban
Kanban («Канбан»). Эту методологию разработали в Японии и изначально использовали в производстве автомобилей. Слово kanban на японском означает «вывеска».
Задачи проекта расставляют в виде карточек на доске, разлинованной на колонки. Эти колонки отражают этапы выполнения проекта. Участник команды берёт задачу, перемещает карточку по доске от одной колонки к другой, и вся команда видит актуальный статус этой задачи.
Идея в том, чтобы работа над проектом шла по принципу конвейера. То есть чтобы разработчики не задумывались над планированием задач и их приоритизацией, а приходили к доске, брали задачу и шли её выполнять.
Обычно на канбан-досках минимум три колонки: «Выполнить», «В работе» и «Выполнено». Чаще всего к ним добавляют колонки для промежуточных этапов: «Бэклог», «На согласовании», «Тестирование» и так далее.
Традиционно канбан-доски представляли собой физические доски — например, магнитные или пробковые, — на которых крепили бумажные карточки. Позже появились онлайн-доски. Самые популярные из них — Trello, Jira, Asana.
В отличие от других методов проектного управления, канбан-команда работает без жёстких временных ограничений — даже несмотря на то, что на онлайн-досках задачам можно назначать срок выполнения.
Вместо этого работа над проектом организована как непрерывный поток задач. Когда участник команды заканчивает одну задачу, он идёт за другой, потом за следующей и так далее.
В большинстве отраслей — например, в маркетинге, SMM, издательском бизнесе — когда говорят, что работают по Agile, имеют в виду Scrum или Kanban.
В сфере IT, кроме этих методологий Agile, применяют и другие. Например, XP (экстремальное программирование), Lean (бережливая разработка ПО), Dynamic systems development method (метод разработки динамических систем). В каждой методологии свои практики и инструменты — выбор зависит от потребностей проекта.
Этапы управления проектами по Scrum
Как мы говорили выше, в Scrum работа делится на спринты. Каждый спринт — короткий период, в течение которого команда работает над несколькими задачами: анализирует их, выполняет, тестирует, обсуждает с заказчиком и при необходимости дорабатывает. Рассмотрим, как это проходит, поэтапно.
Планирование. На этом этапе определяют основную идею проекта, обсуждают требования заказчика и формируют перечень задач. По-другому такой перечень называют бэклогом. Дальше задачи приоритизируют — самые важные и срочные размещают в верхней части бэклога.
Анализ. Из верхней части бэклога команда выбирает задачи для одной итерации. Затем определяет, какие ресурсы понадобятся для выполнения этих задач, и распределяет их между собой.
На этом же этапе формируют критерии успешного завершения каждой задачи: по каким параметрам будет понятно, что задача выполнена хорошо. Благодаря такому подходу у всей команды формируются одинаковые ожидания относительно результатов итерации.
Выполнение. Участники команды работают над своими задачами. Каждый день они встречаются, чтобы обсудить текущий прогресс: что они сейчас делают, какие проблемы у них возникают, что они планируют делать дальше. Это важно для того, чтобы работа над проектом была прозрачной и все участники команды владели ситуацией.
Тестирование. На этом этапе проверяют работоспособность проекта — например, запускается ли программа, выполняет ли она свои функции корректно и так далее. Этап тестирования проходит параллельно с этапом выполнения. Это нужно, чтобы быстро реагировать на обнаруженные проблемы и вносить изменения вовремя.
Релиз. В конце спринта команда показывает заказчику результаты своей работы — например, готовую программу или часть её функций. Заказчик даёт обратную связь — объясняет, что его устраивает, а что нет. Если есть замечания, команда обсуждает, как будет дорабатывать проект, и возвращается к предыдущим этапам.
Если замечаний нет, команда переходит к следующей итерации. Такой цикл повторяется до завершения всего проекта — например, до стадии, когда программу отдают заказчику полностью готовой.
Таким образом, методология Scrum позволяет команде быстро реагировать на изменения, постоянно взаимодействовать с заказчиком, учитывать новые требования и создавать актуальный продукт.
Где используют Agile: для каких проектов подходят гибкие методологии, а для каких — нет
Методологии Agile подходят для проектов высокой степени неопределённости. При работе над таким проектом непонятно, каким в итоге получится продукт, — не видна конечная цель проекта. Или, наоборот, цель есть, но не виден путь, который нужно пройти, чтобы этой цели достичь, — неясно, как разрабатывать продукт.
Вот примеры проектов, в которых гибкие методологии работают хорошо:
- разработка ПО и сайтов;
- создание новых продуктов;
- маркетинговые и рекламные кампании;
- творческие проекты — например, издательский бизнес.
Напротив, методологии Agile «вредны» в типовых проектах, где все процессы понятны и предсказуемы. Например, в строительстве зданий и сооружений или в других сложных инженерных проектах — когда есть измеримая цель, к которой нужно прийти, и понятен путь её достижения.
Таким образом, если вы в начале проекта можете чётко описать его результат и составить план необходимых работ, методики Agile не подойдут. В этих случаях лучше использовать Waterfall.
Главное об Agile в 4 пунктах
- Agile — философия гибкого управления проектами и семейство методологий на её основе.
- Методология Agile предполагает, что команда проекта быстро адаптируется к изменениям в работе и новым вводным. Например, к новым требованиям заказчика или изменениям на рынке.
- В семейство Agile входит несколько методологий гибкого управления проектами. В России чаще всего используют Kanban и Scrum.
- Гибкие методологии лучше всего подходят для проектов, при работе над которыми требуется быстро реагировать на изменения и совершенствовать продукт в ходе его создания. В случаях, когда задачи проекта важно решать последовательно и строго по первоначальному плану, Agile не подойдёт.
Как узнать больше о проектном управлении и его методах
- В Skillbox Media есть материал, где рассказано главное об управлении проектами: для чего оно нужно, как устроено, какие этапы включает и как выбрать методы управления. Прочитайте статью, чтобы погрузиться в тему.
- Также в Skillbox Media есть отдельные статьи о методологиях управления проектами: о производных от Agile — Scrum и Kanban, а также о противоположности Agile — Waterfall.
- Если вы только начали знакомиться с управлением проектами и разбираетесь в его элементах, прочитайте нашу статью «Что такое проект: изучаем главное понятие проектного управления».
- Управлять проектами, работать с бюджетом, сотрудничать с заказчиками, управлять командой и презентовать проекты можно научиться на курсе Skillbox «Профессия Менеджер проектов».
- Если хотите узнать больше о гибких методологиях управления, присмотритесь к курсу Skillbox «Agile: Scrum и Kanban в работе над продуктом».
Другие материалы Skillbox Media об управлении проектами
- Как достигать цели проекта с минимальными затратами времени и денег: главное о структуре проекта
- Как составить план проекта, чтобы прийти к намеченному результату
- Как завершить проект в срок с помощью метода критического пути
- Что такое проектный треугольник и почему уметь работать с ним должен каждый менеджер проектов
- В каких проектах стоит использовать свод знаний по управлению проектами PMBok