Agile или гибкий подход изначально был создан для управления проектами в сфере разработки программного обеспечения. Но вскоре он стал популярен в самых разных отраслях. Компании используют его при запуске маркетинговых кампаний, создании новых продуктов, планировании мероприятий, реорганизации или внедрении новых рабочих процессов. Agile используют команды, которым необходимо быстро и эффективно реагировать на те или иные изменения: в требованиях заказчика к конечному продукту, в ситуации на рынке и т.д.
Согласно Agile-подходу, вся работа разделяется на короткие циклы — итерации. Во время каждой итерации осуществляется анализ требований, разработка и тестирование. Это позволяет оперативно вносить корректировки в дальнейшую работу.
Философия Agile ориентирована на самоорганизующиеся команды, сотрудничество и разделение ответственности за успех проекта между всеми участниками. И здесь возникают закономерные вопросы: А нужны ли в этом случае менеджеры проектов? Какую роль они играют в Agile-командах?
В этой статье мы расскажем, как осуществляется управление Agile-проектами, каковы основные обязанности менеджеров Agile-проектов и где можно обучиться гибкому подходу к организации работы.
История Agile
При традиционном подходе каждый проект делится на пять этапов: инициация, планирование, выполнение, контроль и завершение. Команды последовательно переходят от одного этапа к другому. Особое внимание уделяется тщательной подготовке и подробной документации. Традиционный подход хорошо работает в таких проектах, где требования к конечному продукту заранее чётко прописаны и не ожидается большого количества изменений.
Однако в 1990-х годах разработчики и ИТ-специалисты стали говорить о том, что такой метод замедляет их и затрудняет работу в условиях постоянно меняющихся требований или приоритетов. Было очевидно, что назрела необходимость в более гибком подходе.
И в 2001 году группа экспертов — сторонников нескольких альтернативных методов — собралась, чтобы поделиться своими идеями. Результатом встречи стал Манифест Agile, в котором изложены основные принципы нового итеративного и ориентированного на людей подхода к разработке программного обеспечения.
Вот четыре фундаментальные ценности Agile-философии:
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
Как же именно эти принципы изменили управление проектами?
Каким образом осуществляется управление проектами в Agile?
В Agile каждый проект делится на группы задач, которые выполняются в течение коротких итераций. Во время каждой итерации команды проходят через процесс планирования, выполнения, тестирования и оценки результатов. Этот подход также предполагает сотрудничество между всеми участниками проекта, работу с отзывами клиента и совершенствование продукта на каждом этапе. Как правило Agile-команды постепенно выпускают части программы, чтобы убедиться, что всё работает, как ожидалось, а затем устранить недостатки или внести изменения в дальнейшую работу.
Согласно 15-му отчёту State of Agile, среди наиболее веских причин для внедрения гибкого подхода участники опроса указывали следующее:
- Больше возможностей для управления меняющимися приоритетами.
- Сокращение времени на разработку программного обеспечения.
- Повышение производительности команды.
- Улучшение согласованности между бизнес-требованиями и ИТ-решениями.
- Повышение качества программного обеспечения.
Для реализации философии Agile команды могут использовать разные методы. Ниже приведен краткий обзор пяти популярных фреймворков.
Scrum.
Работа по этой системе строится вокруг небольших кросс-функциональных команд под руководством Scrum-мастера. Выполнение задач разбивается на короткие циклы — спринты. Важной составляющей Scrum являются ежедневные собрания, на которых члены команды обсуждают текущие задачи. После каждого спринта проводится ретроспективное совещание, чтобы оценить результаты проделанной работы и составить план на следующий цикл.
Канбан.
Методология канбан фокусируется на оптимизации процессов и устранении любых препятствий для выполнения задач. Команды визуализируют проект на доске канбан, которая разделена на несколько столбцов. Каждый из них представляет собой определённый этап рабочего процесса: нужно сделать, в работе, на утверждении, готово и т.д. Этот простой метод позволяет эффективно отслеживать, как реализуется проект, и оптимизировать загруженность сотрудников.
Экстремальное программирование или XP.
Экстремальное программирование основывается на традиционных методах разработки программного обеспечения, но выводит их на новый — экстремальный — уровень. Отсюда и название. В XP применяются такие практики как простое проектирование, парное программирование, постоянное тестирование, непрерывная интеграция, рефакторинг, стандарты оформления кода, частые небольшие релизы. Такой подход позволяет командам создавать программное обеспечение высокого качества и при этом быстро адаптироваться к изменяющимся требованиям.
Функционально-ориентированная разработка (FDD).
Фреймворк FDD разбивает проект на двухнедельные отрезки времени, в течение которых команда работает над определённой функцией продукта. Процесс разработки включает в себя пять видов деятельности:
- Разработка общей модели
- Составление списка функций
- Планирование работы над каждой функцией
- Проектирование функции
- Реализация функции.
По сравнению с другими Agile-методологиями, FDD требует более строгой организации рабочих процессов и тщательной документации.
Метод разработки динамических систем (DSDM)
DSDM часто применяется в крупных компаниях, где внедрён итеративный способ работы, но в то же время есть необходимость в более чёткой системе управления и строгой дисциплине. DSDM фокусируется на эффективной коммуникации со всеми заинтересованными сторонами, регулярном предоставлении результатов, которые приносят пользу заказчику, и выполнении работ по проекту в срок и в рамках бюджета.
Среди всех Agile-методологий самой популярной является Scrum. По данным отчёта State of Agile, по этому фреймворку работают 66% опрошенных и ещё 15% респондентов используют производные Scrum, такие как ScrumBan и Scrum/XP.
Давайте подробнее рассмотрим основные принципы Scrum.
Scrum и Agile
Иногда термины Scrum и Agile используются как взаимозаменяемые. На самом деле, это два разных понятия. Agile — философия или образ мышления, который определяет подход к управлению проектами. Scrum, в свою очередь, это набор конкретных методов, которые позволяют работать над проектами согласно Agile-принципам. Этот фреймворк структурирован вокруг определенных практик и чётко прописанных ролей. Вот краткий обзор основных концепций:
Scrum-команда.
Фундаментальным компонентом в Scrum является кросс-функциональная, способная к самоорганизации команда. Она состоит из одного владельца продукта (Product Owner), одного Scrum-мастера и нескольких специалистов с различными навыками. Например, в Scrum-команду могут входить разработчики, тестировщики, дизайнеры и UX-специалисты.
Владелец продукта (Product Owner).
Владелец продукта отвечает за то, чтобы конечный продукт приносил максимальную пользу заказчику. Он анализирует требования, разъясняет бизнес-цели клиента команде и определяет приоритеты задач.
Scrum-мастер.
Scrum-мастер следит за соблюдением принципов Scrum. Он руководит командой, оптимизирует рабочие процессы, устраняет отвлекающие факторы и организует регулярные совещания.
Спринты.
Спринты — это повторяющиеся этапы, обычно продолжительностью от одной до четырех недель, во время которых команда работает над определенными задачами. На каждом из таких этап проводится планирование спринта, ежедневные Scrum-совещания, обзор итогов спринта и ретроспективы спринта.
Бэклоги продукта и спринта.
Бэклог продукта — это динамический список задач, которые команда должна выполнить для получения конечного продукта. Владелец продукта регулярно пересматривает этот список и меняет приоритеты задачам, чтобы бэклог всегда был актуален и соответствовал меняющимся требованиям. Бэклог спринта, в свою очередь, включает в себя только те задачи, которые должны быть выполнены в течение отдельно взятого спринта.
Теперь давайте разберёмся с тем, какую роль среди самоорганизующихся команд, владельцев продуктов и Scrum-мастеров играют менеджеры проектов и что входит в их обязанности.
Обязанности проджект-менеджеров в Аgile-проектах.
Существует две противоположные точки зрения на то, нужен ли менеджер проекта компаниям, где внедряется гибкий подход к разработке:
- Одни эксперты отмечают, что роль традиционных проджект-менеджеров заключается в контроле над работой команды, управлении задачами и детальном планировании. Однако Agile-команды самостоятельно планируют работу, распределяют задачи и отслеживают прогресс. Зачем же им тогда менеджер проектов?
- Другие указывают на то, что даже Agile-проектам нужен специалист, который будет отвечать за составление бюджета, управление рисками и распределение ресурсов. Другими словами, этим проектам нужен проджект-менеджер.
Истина лежит где-то посередине. В организациях, где применяются Agile-методологии, роль проджект-менеджера меняется в зависимости от характера проекта и структуры компании. Менеджеры Agile-проектов не контролируют других членов команды, а работают с ними сообща. Как правило они берут на себя планирование, устранение потенциальных препятствий, общение с заказчиками, бюджетную отчётность и закупку ресурсов.
Менеджеры проектов незаменимы в предприятиях, где необходим детальный анализ объёма работ, постоянное управление рисками и сотрудничество между несколькими командами. Однако если проект не слишком сложный и над ним работает лишь небольшая группа людей, компания может возложить обязанности проджект-менеджера на одного из членов команды. В этом случае его как правило называют специалистом по проектам.
Ещё одно возможное решение — это создание должности протектора проектов. Человек в этой должности берёт на себя работу с отчётностью и общение со всеми заинтересованными сторонами, чтобы другие члены команды не отвлекались на посторонние дела и могли сосредоточиться на своих ключевых задачах.
Ключевые навыки руководителя Agile-проектов.
Независимо от конкретного названия должности, каждый, кто занимается управлением Agile-проектами и хочет преуспеть в этой области, должен обладать определённым набором навыков. Вот самые важные из них:
Коммуникационные навыки.
В Аgile-философии главные акцент делается на совместной работе, поэтому умение эффективно общаться крайне важно для всех членов команды, в том числе и для менеджеров проектов.
Организационные навыки.
Менеджеры Agile-проектов должны обладать хорошими организационными навыками и уметь расстанавливать приоритеты.
Способность управлять рисками.
Одна из важнейших обязанностей менеджеров проектов — управление рисками. Поэтому способность предвидеть потенциальные препятствия для работы и оперативно устранять их — очень ценный навык для каждого менеджера.
Адаптивность.
В быстро меняющейся Agile-среде менеджеры проектов должны уметь быстро адаптироваться, менять приоритеты и корректировать рабочие процессы по мере необходимости.
Что касается технических навыков, то от проджект-менеджеров ожидается глубокое понимание принципов Agile, знание Agile-фреймворков (Scrum, Kanban и т.д.) и опыт работы с инструментами для управления задачами (Trello, JIRA и т.п.).
Ресурсы для менеджеров Agile-проектов.
Существует множество книг, блогов и веб-сайтов для проджект-менеджеров, которые хотят углубить свои знания в области управления Agile-проектами. Ниже представлен краткий обзор нескольких полезных ресурсов:
- На сайте AgileAlliance есть обширный раздел со статьями, видео и презентациями.
- Project Management Institute предлагает публикации и руководства по различным подходам к управлению проектами, включая Agile.
- Множество статей, видеоматериалов и тематических исследований для изучения концепции Scrum можно найти на сайте ScrumAlliance.
- На платформе LeadingAgile есть статьи, подкасты и видеоролики по различным аспектам управления Agile-проектами.
- На сайте Scrum.org есть отличная подборка статей и видео по темам, связанным со Scrum.
-
Курсы по управлению Agile-проектами.
Получить структурированные знания по управлению Agile-проектами можно на одном из многочисленных онлайн-курсов. На рынке есть варианты разной продолжительности и для разного бюджета. Поиск подходящей программы можно начать с одного из этих ресурсов:
Сертификаты для менеджеров Agile-проектов.
Специалисты в области управления Agile-проектами могут подтвердить свои экспертные знания, получив один из сертификатов:
- PMI Agile Certified Practitioner (PMI-ACP). Этот сертификат выдаёт Институт управления проектами. Он подтверждает знание основных принципов Agile и различных Agile-фреймворков, таких как Scrum, Kanban, Lean, экстремальное программирование (XP) или разработка на основе тестирования (TDD).
- Certified Scrum Master (CSM) от ScrumAlliance — это всемирно признанный сертификат, который демонстрирует глубокое понимание Scrum-подхода и умение применять его на практике.
- Международная ассоциация менеджеров проектов (International Association of Project Managers) предлагает три уровня сертификации в области Agile: Certified Junior Agile Project Manager (IAPM), Certified Agile Project Manager (IAPM) и Certified Senior Agile Project Manager (IAPM).
- ICP Certified Professional — это сертификат, который выдаёт Международный Agile-консорциум (International Consortium for Agile). Программа не ориентируется на конкретную методологию, а фокусируется на основополагающих концепциях Agile-философии.
- Широко признаваемый в отрасли сертификат Professional Scrum Master I выдаёт Scrum.org. Его наличие подтверждает экспертное знание основополагающих принципов фреймворка Scrum и способность применять в управлении проектами.
Все эти сертификаты высоко ценятся работодателями, повышают шансы на продвижение по карьерной лестнице и обеспечивают более высокую заработную плату.
Хотя в теории большинство agile-методологий не требуют участия менеджера проектов в разработке, в реальной жизни в некоторых случаях без этих специалистов не обойтись. Проджект-менеджеры особенно важны в организациях, которые работают сразу над несколькими проектами, или если проект требует скоординированных усилий большого числа сотрудников. Роль менеджера Agile-проекта заключается не в управлении командой, а в обеспечении плавного рабочего процесса на протяжении всего жизненного цикла разработки.