В условиях динамично меняющихся требований заказчиков и пользователей все большую популярность в управлении IT-проектами приобретают гибкие (Agile) методологии, которые позволяют оперативно реагировать на изменения и повышать удовлетворенность конечным продуктом. Но внедрение Agile сопряжено с рядом трудностей, связанных с перестройкой рабочих процессов, изменением корпоративной культуры, необходимостью обучения персонала. В связи с этим особую актуальность приобретает выявление критериев, влияющих на успешность реализации гибких методологий в IT-сфере.
Их учет позволит компаниям принимать взвешенные решения о внедрении Agile и избегать типичных ошибок.
Объект исследования - процессы управления IT-проектами.
Предмет исследования - критерии эффективности применения Agile-методологии в управлении IT-проектами.
Agile - это итеративный подход к управлению проектами, базирующийся на постоянном взаимодействии кросс-функциональной команды, заказчика и конечных пользователей, ориентированный на создание бизнес-ценности и удовлетворение нужд клиента в условиях высокой неопределенности требований.
Рис.1. Основные принципы Agile
Несмотря на актуальность вопроса оценки результативности гибких подходов, на практике при их выборе возникает ряд сложностей. Присутствует проблема отсутствия единых стандартизированных метрик. Научные исследования «предлагают» множество разнообразных показателей, что затрудняет их сопоставимость. Отдельные критерии противоречат принципам самих «Agile-манифестов» (например, ориентация на строгое выполнение бюджета). Большинство работ не учитывают отраслевые особенности деятельности и специфику разных типов проектов, предлагая универсальный набор KPI для любых сфер. Однако на практике подходы, эффективные в ИТ, могут быть неприменимы в традиционном производстве. Многие показатели (особенно из категорий «Команда», «Культура») носят качественный характер, их сложно формализовать для измерения, соответственно результат в значительной степени зависит от субъективности оценки.
Для разрешения данных проблемных мест необходим комплексный подход, включающий проведение опросов экспертного сообщества (специалистов по Agile, руководителей проектов) с целью выявления наиболее актуальных и значимых критериев эффективности для определенной предметной области, также апробирование отобранных показателей в рамках пилотных проектов и корректировка набора KPI на основе полученных результатов.
В исследовании Е.К. Торосян и А.С. Тюлькиной в числе наиболее значимых критериев выбора Agile-методологии для управления проектом были выделены следующие факторы [4]:
- Поддержка руководства, так как без спонсорства Agile-трансформации на высшем уровне шансы на успех существенно снижаются, поскольку изменение подходов затрагивает многие аспекты деятельности компании.
- Наличие необходимых ресурсов представляет собой выделение времени членов команды на освоение Agile-инструментов, бюджет на проведение тренингов и приобретение инструментов поддержки.
- Вовлечение конечных пользователей на постоянной основе для оперативной обратной связи и уточнения потребностей, что позволяет в режиме реального времени корректировать разработку под их запросы.
- Постепенное (поэтапное) внедрение - переход к Agile постепенно, начиная с автономных проектов, для отработки подхода с последующим масштабированием.
В настоящее время наиболее популярными конкретными методологиями, реализующими эти принципы, являются Scrum, Kanban, XP (экстремальное программирование) и т.д. [1]
В научных и практических исследованиях была предложена следующая система критериев эффективности Agile в 5 категориях [3].
- Характеристики проекта
1.1 Размер проекта (число участников, сроки, бюджет). Данный критерий включает количественные показатели: число участников проектной команды, общую продолжительность проекта и его бюджет. Для эффективного применения Agile оптимальный размер команды, по разным оценкам экспертов, составляет от 4 до 9 человек, что достаточно для организации рабочего процесса с использованием гибких методов управления, при этом команда сохраняет сплоченность и возможность оперативного взаимодействия.
Длительность проектов, где Agile показал высокую результативность - от 1-2 месяцев до 1 года. Для более крупных проектов требуется масштабирование подхода. Бюджет проекта при использовании Agile может корректироваться, но изначально должны быть определены минимум первоначальные сметы по ключевым этапам.
1.2 Тип проекта (новая разработка или поддержка существующего). Как показывает опыт, первый тип проектов (новая разработка программного обеспечения) находится в зоне максимальной эффективности Agile, поскольку требования в данном случае изначально определены слабо, а гибкие методы как раз и позволяют быстро адаптироваться к запросам заказчика. Для «сопровождения» применимость Agile тоже высока, но может потребовать некоторой доработки подхода.
1.3 Критичность требований к срокам и бюджету. Если проект имеет жесткие временные и финансовые ограничения, то строгое планирование в рамках традиционного «waterfall» подхода может быть более надежным. Agile же предполагает возможную корректировку планов, поэтому чрезмерно критичные проекты по таймингу для его использования являются менее подходящими.
1.4 Ожидаемая изменчивость требований, как показывает практика высокая и средняя изменчивость - фактор целесообразности использования Agile.
2. Команда проекта.
2.1 Навыки самоорганизации, для Agile важно наличие у членов команды способностей самостоятельно планировать работу, расставлять приоритеты, выстраивать взаимодействие.
2.2 Готовность к командной работе, необходимо отсутствие барьеров для совместного выполнения задач, способность конструктивного диалога.
2.3 Мотивация к использованию Agile, необходимо понимание преимуществ гибкого подхода, стремление придерживаться его принципов, ориентация на запросы клиентов.
2.4 Квалификация членов команды. Наличие опыта работы с Agile является ключевым преимуществом, для определения возможностей проведение обучения.
3. Заказчик и пользователи:
3.1Вовлеченность заказчика. Активное участие в постановке задач, оперативная приемка работ представляет собой ключевой фактор успеха проекта.
3.2 Наличие полномочного представителя заказчика. Наличие полномочного представителя заказчика: необходим единый «канал взаимодействия» со стороны команды проекта.
3.3 Доступность конечных пользователей для оперативной обратной связи, необходимо организовать возможность регулярных интервью, опросов для постоянного уточнения запросов.
4. Организационная поддержка.
4.1 Поддержка Agile руководством компании вопросов правильного и быстрого выделения ресурсов, поддержки уровня мотивация сотрудников к переходу на Agile.
4.2 Наличие гибкой ИТ-инфраструктуры, должна присутствовать возможность быстрого масштабирования, технической поддержки по необходимости.
4.3 Применимость Agile в смежных подразделениях, выстроенный «сквозной» Agile является сильным дополнительным стимулом.
5. Культура и процессы:
5.1 Ориентация корпоративной культуры на сотрудничество, необходимо определить основные ценности «взаимопомощи», поддержки инноваций, реагирование на потребности клиентов.
5.2 Совместимость Agile с существующими бизнес-процессами, проводится учет возможной доработки существующих процессов под Agile (менеджмент качества, контроллинг и т.д.) [3].
5.3 Возможность обучения команд по гибким методологиям, обязательно наличие возможностей для проведения тренингов, бюджета на подготовку к работе по Agile-принципам.
Таким образом по результатам проведенного исследования могут быть сделаны следующие выводы. Agile-подход основан на итеративной модели реализации проектов, обеспечивая гибкость и адаптивность к изменяющимся требованиям заказчика. Его ключевыми принципами являются приоритизация людей над процессами, работающего программного обеспечения над проектной документацией, взаимодействия с заказчиком над контрактом и готовности к изменениям над планом. Для успешного внедрения Agile в управлении проектами необходимо учитывать ряд ключевых критериев. В рамках проведенного исследования была сформулирована система таких критериев в пяти категориях: характеристики проекта, команда, взаимодействие с заказчиком, организационная поддержка, культура и процессы компании. Среди характеристик самого проекта наиболее существенное значение имеют его размер, тип, критичность требований по срокам и бюджету, а также ожидаемая изменчивость задач. Agile лучше всего подходит для небольших и средних проектов с высокой долей неопределенности на начальных этапах.
На практическом примере индийской ИТ-компании, перешедшей на Agile, были выделены следующие успешные практики:
1.Пилотирование, перед широкомасштабным внедрением было проведено тестирование Agile на небольшом пилотном проекте, что позволило отработать основные процессы и выявить проблемные зоны.
2.Формирование сообщества (CoP), создание профессионального сообщества Agile «coaches» для обмена опытом между проектами и распространения лучших практик.
3.Непрерывное обучение - обширная образовательная программа (тренинги, семинары, мастер-классы) для всех сотрудников, участвующих в Agile-трансформации на всей ее протяженности.
4.Управление изменениями и мотивирование - активная разъяснительная работа и стимулирование персонала для преодоления сопротивления, связанные с переходом к новой модели работы.
Перед началом была проведена оценка зрелости процессов разработки по методологии CMMI, которая показала недостаточную эффективность применяемого подхода и необходимость повышения гибкости. Для успешного внедрения были предприняты следующие шаги с учетом передовых практик:
- Получена поддержка топ-менеджмента компании с закреплением ответственных за инициативу менеджеров.
- Сформировано Agile-сообщество из числа наиболее активных сотрудников для обмена опытом.
- Разработан план обучения по Scrum - как вводные курсы, так и углубленное изучение ролей (Product Owner, Scrum Master).
- Инициирован пилотный проект по внедрению Scrum, результаты которого были масштабированы на всю компанию.
- Выделен бюджет на приобретение инструментов для поддержки управления продуктом и отслеживания задач.
- Сформирована система KPI для оценки результативности гибкого подхода и осуществлялся регулярный аудит хода внедрения.
- Проводились мероприятия для команд (Agile Games) для сплочения коллектива и повышения вовлеченности.
В результате после завершения трансформации были получены значительные улучшения показателей:
- сокращение сроков выполнения проектов;
- снижение количества ошибок;
- повышение KPI удовлетворенности заказчика.
Таким образом, можно сделать вывод, что учет критических факторов успеха (как общих, так и отраслевых) при внедрении Agile имеет большое значение для получения максимального эффекта от его использования. Комплексный подход, включающий поддержку инициативы на высшем уровне, обеспечение ресурсов, пилотирование, обучение и мотивацию персонала повышает вероятность успешной реализации гибких методов в практике IT-компаний.
Проведенные теоретические и практические научные исследования показывают важность учета отраслевой специфики. Изучение внедрения Scrum в немецких ИТ, телекоммуникационных, финансовых, производственных и консалтинговых компаниях показало его большую эффективность в ИТ-сфере по сравнению с другими отраслями. Можно выделить следующие причины возникновения данных процессов.
1.ИТ-компании более гибкие по своей природе и открыты к новым методам работы.
2.ИТ-проекты имеют высокую степень неопределенности требований изначально.
3.IT-специалисты более мотивированы к использованию инновационных подходов.
Соответственно, в первую очередь отраслевая культура и специфика деятельности оказывает влияние на результативность гибких техник, что необходимо учитывать.
Можно выделить следующие наиболее значимые дополнительные критерии эффективной реализации Agile-подхода в компаниях:
1.Спонсорство инициативы руководством.
2.Поэтапное пилотное внедрение перед масштабированием
3.Выделение необходимых ресурсов (временных, финансовых, технических и т.д.).
4. Системное непрерывное обучение и развитие Agile-компетенций.
5. Управление изменениями и мотивация персонала.
6. Учет отраслевой специфики и культуры.
Поэтапный подход позволит сформировать сбалансированную совокупность критериев оценки эффективности Agile с учетом как передовых теоретических, так и лучших практических достижений в этой сфере. Рассмотрим более подробно пример процесса определения такого рода KPI для оценки Scrum в компании-разработчике программного обеспечения. На первом этапе проводится исследование и анализ научных публикаций, статей экспертов и практических кейсов в данной области. Среди большого количества предложенных метрик осуществляется выбор наиболее подходящих, исходя из профиля и целей конкретной организации.
Например, для типичной ИТ-компании среднего масштаба к числу базовых KPI могут быть отнесены:
- Производительность:
1.1 Количество выполненных «story point» (сторипоинтов) за спринт.
1.2 Количество дефектов в расчете на story point.
2. Качество и удовлетворенность:
2.1 Доля сторипоинтов, соответствующих критериям приемки в спринте.
2.2 Количество критических инцидентов в эксплуатации.
2.3 Уровень NPS (готовность рекомендовать компанию).
3. Соблюдение сроков:
3.1 Процент задержек спринтов.
3.2 Отклонение графика релизов программного обеспечения от планового.
4.Развитие команды:
4.1Количество проведенных ретроспектив.
4.2 Доля сотрудников, прошедших обучение по Agile.
5. Вовлеченность заказчика:
5.1 Процент присутствия владельца продукта на спринт-планированиях.
5.2 Частота проведения рабочих встреч.
Подобный набор KPI охватывает ключевые области оценки результативности Scrum: производительность, качество, соблюдение ограничений, развитие команды и заказчика. Далее проводится валидация отобранных метрик в рамках пилотного проекта по внедрению Scrum. Осуществляется их мониторинг и анализ в течении 2-4 спринтов. По результатам делается вывод об адекватности каждого показателя и целесообразности его дальнейшего использования или корректировки. Например, критерий «Количество критических инцидентов» при ближайшем рассмотрении может оказаться непоказательным, т.к. на начальном этапе разработки программного обеспечения количество ошибок в эксплуатации еще не является релевантным. В то же время отдельные метрики по скорости разработки могут демонстрировать сильные колебания, и их необходимо усреднять за несколько итераций. Соответственно формируется верифицированная система KPI для дальнейшего масштабного внедрения и использования в качестве основы оценки эффективности Scrum.
Данные, на основании которых в дальнейшем рассчитываются показатели результативности Agile, то их можно разделить на следующие категории:
- Входные данные:
- Требования к разрабатываемому программному обеспечению (Product Backlog).
- Планы спринтов и релизов программного обеспечения.
- Скорости разработки команд.
- Бюджет и трудозатраты по проекту.
- Информация об инцидентах и дефектах.
2. Выходные данные:
2.1 Исходный код программного обеспечения и его изменения.
2.2 Тест кейсы и результаты тестирования.
2.3 Отчеты о выполнении спринтов.
2.4 Метрики незавершенных / завершенных задач.
2.5 Обзоры ретроспектив спринтов.
На базе этих данных в ходе реализации Agile-процессов (планирования, разработки, тестирования, релиза, ретроспектив) формируются значения KPI, отражающие реальную результативность используемого гибкого подхода по различным аспектам. Например, исходя из «Product Backlog» (бэклог продукта) может рассчитываться показатель «Количество выполненных сторипоинтов за спринт» для измерения скорости разработки. Сведения же об инцидентах используются для подсчета метрик, связанных с качеством программного обеспечения (количество дефектов). Отчеты о ходе спринтов необходимы для определения процента соблюдения планов и задержек итераций. Ретроспективы же являются ключевым источником информации о вовлеченности команды и зрелости Agile-процессов. Входные данные отражают текущее состояние Agile-проекта и задачи разработки, а на выходе в виде значений KPI формируется интегральная оценка достижения целей гибкой методологии по ряду направлений деятельности, что в свою очередь позволяет осуществлять обоснованное управление - выявлять «узкие места» в реализации подхода и оперативно устранять их путем корректирующих мероприятий. Например, низкие показатели вовлеченности заказчика сигнализируют о необходимости более тесной интеграции владельца продукта в процесс разработки.
Соответственно для повышения эффективности Agile ключевая роль отводится не только процедуре выбора адекватной системы KPI, но и дальнейшему их непрерывному отслеживанию и принятию управленческих решений на основе полученных данных.
Команда проекта должна обладать способностью к самоорганизации, нацеленностью на командное взаимодействие, мотивацией использовать гибкие подходы, а также достаточной квалификацией в области Agile, необходимо также проведение дополнительного обучения при внедрении методологии.
Вовлеченность заказчика является одним из критически важных условий эффективного Agile, необходимы выделенный представитель для оперативной коммуникации с командой, а также доступ к конечным пользователям продукта для регулярной обратной связи. Со стороны руководства организации Agile требует выраженной поддержки инициативы на высоком уровне, обеспечения необходимых ресурсов и мотивации сотрудников, важна гибкая ИТ-инфраструктура и возможность применения гибких подходов в смежных подразделениях. Внедрение Agile предполагает корпоративную культуру, ориентированную на сотрудничество, гибкие процессы и постоянное обучение. Необходима оценка совместимости гибкой методологии с текущими процессами и их возможная адаптация.
Список литературы
- Локтионов Д.А., Масловский В.П. Критерии применения Agile-методологии для управления проектом // Креативная экономика. – 2018. – Том 12. – № 6. – С. 839-854.
- Schatz, Bob & Abdelshafi, I. (2005). Primavera Gets Agile: A Successful Transition to Agile Development. Software, IEEE. 22. 36 - 42. 10.1109/MS.2005.74.
- Schwaber K. Agile Project Management with Scrum. Microsoft Press, 2004.
- Торосян Е. К., Тюлькина А. С. Критерии выбора методологии управления IT-проектами // Петербургский экономический журнал. 2020. №1. URL: https://cyberleninka.ru/article/n/kriterii-vybora-metodologii-upravleniya-it-proektami (дата обращения: 18.12.2023).