Гибкое управление проектами Agile: все, что вам нужно знать
Вы работали над сложным проектом и почти на финишной черте. Внезапно клиент связывается с ним, чтобы сказать, что хочет пойти в другом направлении. Если это на вас откликнется, методология управления проектами Agile позволит вам быстро адаптироваться и развернуться без траты ресурсов впустую.
Но подходит ли это для вашего проекта? Наше руководство раскрывает основы Agile, включая лучшие варианты использования и то, как начать планировать управление проектами Agile
Что такое управление проектами Agile?
Гибкое управление проектами Agile – это инкрементный, итеративный подход к реализации проекта на протяжении всего его жизненного цикла. Итеративные процессы обычно используются в проектах по разработке программного обеспечения, потому что они способствуют скорости и адаптивности. Команды работают одновременно на разных этапах проекта, называемых итерациями или Agile-спринтами. Они позволяют решать проблемы и постоянно вносить изменения, реагируя на результаты, отзывы клиентов и результаты в режиме реального времени.
В чем разница между методологиями Agile и Waterfall?
Agile является противоположностью традиционных стилей управления проектами, таких как подход Waterfall, где задачи проходят в заранее определенной последовательности: каждая зависит от предыдущей задачи. Это ключевые различия между ними.
Waterfall | Agile | |
Философия | Линейный и последовательный подход | Итеративный подход |
Фокус | Планирование | Быстрая адаптация к изменениям |
Разработка продукта | Линейный процесс с фиксированными промежуточными результатами | Итеративный процесс с анализом полученных результатов и корректировкой последующих этапов |
Требования | Все требования определяются на этапе планирования | Требования могут меняться в процессе разработки |
Риски | Определение и минимизация в начале работы | Быстрое выявление и управление рисками |
Результаты | Определены заранее | Непредсказуемы, могут меняться в ходе работы над проектом |
Работа в команде | Работа в отдельных командах на разных сроках | Совместная работа и быстрое принятие решений |
Распределение времени и ресурсов | Планирование графика и процедур на всех уровнях | Гибкое использование времени и ресурсов |
Пример гибкого управления проектами Agile
Примером подхода Agile к управлению проектами может быть разработка нового мобильного приложения.
Согласно методологии Agile команда разработчиков выпускает первую версию приложения, а дальше разрабатывает дополнительные функции и выпускает обновления. Программу разрабатывают короткими итерациями. Ошибки исправляют сразу.
Работа выглядит примерно так:
- придумали, как сделать приложение;
- разработали дизайн;
- разработали первую фичу → протестировали → исправили ошибки → запустили первую версию приложения;
- разработали вторую фичу → протестировали → исправили ошибки → запустили вторую версию приложения;
- разработали третью фичу → протестировали → исправили ошибки → запустили третью версию приложения.
Во время каждой итерации вы будете просматривать прогресс и корректировать план по мере необходимости (например, добавление/удаление функций, внесение изменений в дизайн и т. д.). Как только спринт будет завершен, они смогут перейти к следующему спринту. Этот процесс продолжается до тех пор, пока проект не будет готов к запуску.
Каковы 4 ключевых ценности управления проектами Agile?
Эти 4 следующих значения определяют каждое решение, принятое в рамках Agile-управления проектами:
- Люди и взаимодействие важнее процессов и инструментов. Это означает, что команда сама выбирает, какие инструменты эффективны в работе и как выстраивать весь рабочий процесс.
- Работающий продукт важнее документов. Меньше сил вкладывайте в разработку документации, больше — в создание продукта.
- Сотрудничать с заказчиком важнее, чем обсуждать условия контракта. Содействуйте клиенту и ищите решение проблемы, а не препирайтесь с ним.
- Готовность к изменениям важнее следования выбранному плану. Agile — гибкий подход, а значит, если план нужно изменить, в этом нет ничего страшного.
Каковы руководящие принципы управления проектами Agile?
В Agile Manifesto, который является основным документом, описывающим эту методологию Agile, перечислены 12 руководящих принципов управления проектами Agile:
- Главная задача — удовлетворять запросы клиентов, выпуская работающий продукт.
- Можно менять требования к продукту в процессе разработки, если это поможет бизнесу создать конкурентоспособный продукт.
- Необходимо выпускать новые обновления продукта как можно чаще.
- Клиент и команда разработки должны все время взаимодействовать. Стороны поддерживают постоянное сотрудничество, общаться по задачам, срокам, целям.
- Над реализацией проекта должны работать мотивированные сотрудники.
- Нужно обеспечить прямую коммуникацию между людьми в команде. Общаться в корпоративном мессенджере, если команда работает удаленно. Проводить собрания, если команда работает в офисе.
- Эффективность работы оценивают по работающему продукту. Неважно, сколько времени или ресурсов команда проекта потратила на процесс разработки.
- Во время создания продукта команда должна работать в одном темпе. Поддерживать постоянную скорость работы мешают текучка кадров и отсутствие мотивации.
- Важно уделять внимание любым техническим деталям, чтобы потом не пришлось переделывать работу.
- Стоит упростить рабочий процесс, не делать лишних действий. Например, уйти от бюрократии и бесконечных согласований планов.
- Командам с высоким уровнем самоорганизации стоит дать свободу.
- Команда должна постоянно проводить оценку своей работы, исправлять ошибки.
Методы Agile
Есть 2 основных метода Agile — Scrum и Kanban. В России популярны оба. Аналитики из ScrumTrek установили, что:
- 82% участников опроса используют на работе Scrum;
- 61% участников применяют Kanban;
- 52% сочетают Scrum и Kanban.
Что такое Scrum
Scrum — это методология организации рабочего процесса, при которой команда работает над продуктом итерациями. Заказчик составляет список требований к продукту, передает его команде Agile. В этом случае нет руководителей, команда работает самостоятельно. Есть Scrum-мастер, который помогает сотрудникам.
В Agile Scrum используют 5 инструментов:
- Спринт — это цикл работы над продуктом. Небольшой период времени, в течение которого команда выполняет задачи. Обычно он длится от 1 до 4 недель.
- Планирование спринта — по результатам предыдущего цикла команда, Scrum-мастер и Product Owner, клиент или владелец продукта, планируют следующий. Целью этого планирования является получение так называемого инкремента, промежуточного жизнеспособного результата. Например, при создании сайта инкремент — это работающая главная страница или форма для сбора данных.
- Дейли — ежедневные встречи. Каждый день команда собирается на 10–15 минут и проводит митинг. На встречах люди делятся информацией: обсуждают, что было сделано за прошедший день и будет сделано за следующий.
- Обзор спринта — команда представляет результаты работы, инкремент. Заказчик может оценить, насколько результат совпал с целями, поставленными на этапе планирования.
- Ретроспектива — команда анализирует свою работу, проделанную в течение спринта. Сотрудники отмечают, что получилось хорошо, а что нужно улучшить.
В Scrum есть бэклог продукта и спринта. Бэклог продукта — это список задач по проекту, которые предстоит сделать. В процессе работы в список добавляют новые задачи, убирают те, которые решили не делать.
Список задач составляет Product Owner. Дальше он расставляет задачи в порядке приоритета, указывает сроки для каждой задачи. Команда берет задачи из бэклога продукта в бэклог спринта. Когда задача уходит в бэклог спринта, возле нее ставят статус «В работе».
Бэклог спринта — задачи для конкретного цикла работы над продуктом. Команда и Scrum-мастер составляют список задач во время планирования. Это постоянный список, его нельзя менять. Если задачи уже в работе, команда должна их выполнить.
Что такое Канбан
Методика Канбан позволяет разделить большой объем работы на задачи. Этот метод положен в основу таск-трекеров. Такие сервисы состоят из канбан-досок, которые используют чтобы:
- визуализировать процесс работы внутри команды;
- расставить задачи в порядке приоритета и ускорить работу над ними;
- сконцентрироваться на самых важных задачах;
- найти перегруженные этапы работы.
Канбан-доски работают по такой схеме:
- делим большой проект на этапы;
- добавляем этапы «В работе» и «Завершено», что помогает увидеть, на какой стадии работа над задачей;
- выделяем столбец на доске для каждого этапа;
- создаем карточки с задачами и распределяем их по доске.
Например, команде нужно разработать сайт. Разбиваем всю работу на 4 этапа, к каждому составляем список задач:
- Заключение договора и начало работ. Задачи: выбор типа сайта, заполнение договора, предоплата.
- Разработка дизайна. Задачи: выбор шаблона, хорошей цветовой гаммы, элементов сайта, согласование и утверждение дизайна.
- Верстка. Задачи: верстка, настройка структуры, настройка сайдбара и дополнительных модулей, согласование.
- Тестирование. Задачи: перенос сайта на домен, поиск ошибок, тестирование.
Дальше с помощью канбан-доски визуализируем работу по проекту. Для этого на виртуальной доске создаем 6 колонок:
- Заключение договора и начало работ.
- Разработка дизайна.
- Верстка.
- Тестирование.
- В работе.
- Выполнено.
Последние 2 колонки нужны, чтобы сотрудники добавляли в них завершенные задачи и те, над которыми сейчас работают. Именно это помогает эффективно визуализировать работу команды.
Когда доска готова, задачи перемещают по колонкам. Например, сотрудник с заказчиком выбирают тип сайта. В это время задачу «Выбор типа сайта» нужно переместить в колонку «В работе». Когда утвердили тип сайта, задачу перемещают в колонку «Выполнено».
Преимущества Agile методологии
Гибкость и адаптивность
Одним из ключевых преимуществ Agile является его гибкость. Проекты, управляемые по Agile, могут быстро адаптироваться к изменениям требований или условий рынка. Это особенно полезно в условиях высокой неопределенности, когда требования могут меняться в процессе разработки. Agile позволяет командам быстро вносить изменения в проект, что снижает риски и повышает вероятность успешного завершения проекта.
Улучшенное взаимодействие и сотрудничество
Agile акцентирует внимание на тесном взаимодействии между членами команды и с клиентами. Регулярные встречи, такие как ежедневные стендапы и спринт-ревью, способствуют открытому общению и быстрому решению проблем. Это помогает избежать недопониманий и улучшает качество конечного продукта.
Быстрая поставка ценности
Agile методология разбивает проект на небольшие итерации, называемые спринтами, каждая из которых длится от одной до четырех недель. В конце каждого спринта команда должна предоставить работающий продукт или его часть. Это позволяет клиентам получать ценность от проекта на ранних этапах и вносить коррективы по мере необходимости.
Повышенная мотивация команды
Agile методология поощряет автономию и самоорганизацию команд. Члены команды имеют больше свободы в принятии решений и ответственности за результаты своей работы. Это может повысить мотивацию и удовлетворенность сотрудников. В результате, команды работают более продуктивно и достигают лучших результатов.
Улучшенное управление рисками
Благодаря регулярным проверкам и адаптациям, Agile позволяет своевременно выявлять и устранять риски. Это снижает вероятность крупных проблем на поздних этапах проекта и помогает избежать значительных затрат на их решение. В результате, Agile методология способствует более эффективному управлению рисками и улучшению качества конечного продукта.
Недостатки Agile методологии
Требования к высокой дисциплине
Agile требует высокой дисциплины и самоорганизации от команды. Без четкого понимания принципов и практик Agile, команда может столкнуться с трудностями в управлении проектом. Это может привести к хаосу и снижению эффективности.
Трудности с масштабированием
Agile методология хорошо работает для небольших команд, но масштабирование на крупные проекты и организации может быть сложным. Это может потребовать дополнительных усилий и ресурсов, что может стать серьезным вызовом для организаций. В результате, масштабирование Agile может быть сложным и требовать значительных затрат времени и ресурсов.
Недостаток документации
Одним из принципов Agile является акцент на рабочем продукте, а не на документации. Недостаток документации может стать серьезной проблемой для проектов с длительным жизненным циклом, так как это затрудняет поддержку и развитие проекта в будущем. Без достаточной документации, команды могут столкнуться с трудностями в понимании и поддержке проекта, что может привести к снижению качества конечного продукта и увеличению затрат на его поддержку.
Возможные конфликты с клиентами
Agile предполагает тесное взаимодействие с клиентами и частые изменения требований. Тесное взаимодействие с клиентами и частые изменения требований могут вызвать конфликты, если клиент не готов к таким изменениям или не понимает принципов Agile. Важно заранее согласовать ожидания и установить четкие коммуникационные процессы, чтобы избежать недопониманий и конфликтов. Это поможет улучшить взаимодействие с клиентами и повысить вероятность успешного завершения проекта.
Высокие требования к квалификации команды
Для успешного внедрения Agile требуется высокая квалификация команды. Недостаток опыта и знаний может привести к неправильному применению методологии и снижению эффективности проекта. Обучение и тренинги могут потребовать дополнительных затрат.
Каковы основные обязанности менеджеров проектов Agile?
Существует два противоположных мнения о том, нужен ли компаниям, использующим гибкие методологии разработки, менеджер проекта:
- Некоторые специалисты считают, что роль традиционных менеджеров проектов заключается в контроле над работой команды, управлении задачами и детальном планировании. Однако команды, работающие по Agile, самостоятельно планируют свою работу, распределяют задачи и отслеживают прогресс. Зачем же им тогда менеджер проекта?
- Другие эксперты утверждают, что даже в Agile-проектах необходим специалист, который будет отвечать за составление бюджета, управление рисками и распределение ресурсов. Иными словами, таким проектам нужен менеджер проекта.
Истина, как обычно, находится где-то посередине. В организациях, использующих Agile-методологии, роль менеджера проекта меняется в зависимости от характера проекта и структуры компании. Менеджеры Agile-проектов не контролируют других членов команды, а работают с ними вместе. Обычно они берут на себя планирование, устранение потенциальных проблем, общение с клиентами, отчётность по бюджету и закупку ресурсов.
Чтобы Agile-команды были успешными, им нужен менеджер проекта, который воплощает в себе Agile-основы гибкости, сотрудничества и эффективности.
Ключевые навыки руководителя Agile-проектов.
Независимо от конкретного названия должности, каждый, кто занимается управлением Agile-проектами и хочет преуспеть в этой области, должен обладать определённым набором навыков. Вот самые важные из них:
Коммуникационные навыки.
В Аgile-философии главные акцент делается на совместной работе, поэтому умение эффективно общаться крайне важно для всех членов команды, в том числе и для менеджеров проектов.
Организационные навыки.
Менеджеры Agile-проектов должны обладать хорошими организационными навыками и уметь устанавливать приоритеты.
Способность управлять рисками.
Одна из важнейших обязанностей менеджеров проектов — управление рисками. Поэтому способность предвидеть потенциальные препятствия для работы и оперативно устранять их — очень ценный навык для каждого менеджера.
Адаптивность.
В быстро меняющейся Agile-среде менеджеры проектов должны уметь быстро адаптироваться, менять приоритеты и корректировать рабочие процессы по мере необходимости.
Что касается технических навыков, то от проджект-менеджеров ожидается глубокое понимание принципов Agile, знание Agile-фреймворков (Scrum, Kanban и т.д.) и опыт работы с инструментами для управления задачами (JIRA и т.п.).
Подходит ли управление проектами Agile для вашего проекта?
Изначально Agile использовали для разработки программного обеспечения, поэтому такой подход в первую очередь популярен в IT. Сейчас его применяют разные компании: банки, промышленные, медицинские компании, электронная коммерция, маркетинг, ретейл, даже стартапы.
Хотя корни Agile основаны на разработке программного обеспечения, вы можете успешно использовать его для проектов в любой области. В современном мире каждый бизнес использует систему для отслеживания своего прогресса и выполнения задач, даже если это не для производства физического продукта.
Agile сокращает рабочий цикл, поэтому вы можете быстрее выйти на рынок, постоянно корректируя курс в соответствии с изменениями рынка.
Используйте Agile, когда:
- Требования к проекту непредсказуемы и могут часто меняться
- Проекты сложны и требуют частых итераций
- Требуется частая обратная связь с заинтересованными сторонами или клиентами
- Проекты сопряжены с высокой степенью риска или неопределенности
- Проекты ориентированы на обеспечение ценности