Цифровые технологии давно стали неотъемлемой частью современного бизнеса: с их помощью компании масштабируются, повышают эффективность, снижают затраты и повышают качество взаимодействия с клиентами.
По исследованиям 2023 года, 74% организаций считают цифровую трансформацию приоритетом, в то время как в 2021 году таких было 56%. 67% компаний используют решения для автоматизации бизнес-процессов. Автоматизация помогает компаниям экономить время и уменьшать затраты на ручные процессы: 73% ИТ-руководителей указывают на сокращение времени на выполнение задач на 10–50% благодаря автоматизации.
С другой стороны, заметно, что горизонт стратегического планирования в современном мире сокращается. Раньше собственники бизнеса могли строить стратегические планы на 10–15 лет вперед, сейчас же сложно предсказать, как будут меняться экономика и технологии на такой длинной дистанции, поэтому многие сократили горизонт планирования до 5 лет.
Все эти предпосылки подводят нас к тому, что растут требования к качеству и скорости реализации IT-проектов. Бизнес не может себе позволить терять время и деньги впустую. Даже уже начатый проект, но реализуемый больше года, может устареть и потерять актуальность, так и не запустившись. На этом фоне растет роль и управленцев, которые могут привести проект к внедрению в предсказуемый и короткий срок.
В этой статье хочется сделать обзор стратегий и методов, которые помогут управленцам адаптироваться к быстро меняющимся внешним условиям. Несколько рекомендаций и примеров из опыта управления помогут сэкономить время при разработке и внедрении IT-проектов.
Неопределенность в наши дни
Для начала разберемся, что подразумевает под собой «неопределенность». Это недостаточность сведений об условиях, в которых будет протекать экономическая деятельность, низкая степень предсказуемости, предвидения этих условий. Неопределенность сопряжена с риском планирования, принятия решений, осуществления действий на всех уровнях экономической системы. Райзберг Б. А., Лозовский Л. Ш., Стародубцева Е. Б. Современный экономический словарь. — 2-е изд., испр. М.: ИНФРА-М. 479 с. 1999.
Можно выделить три основных вида неопределенности:
- рыночная;
- технологическая;
- организационная.
Пандемия COVID-19 вызвала высокую рыночную неопределенность, когда компании не могли точно прогнозировать изменение спроса, внезапно возникали сбои в цепочках поставок и ограничения на передвижение. Организации должны были адаптироваться к рекомендациям по здоровью и безопасности. Или возьмем другой пример, с распространением новых технологий: искусственный интеллект или блокчейн. С их появлением становится сложно прогнозировать скорость адаптации компаний к технологиям, появление новых игроков на рынке, появление регулирования на уровне государства. Выявляются и риски в области надежности новых непривычных технологий, их масштабируемости, количества потенциальных уязвимостей — все это может быть обнаружено только в процессе их массового внедрения.
Активно меняющаяся внешняя среда подталкивает и компании к быстрым изменениям, это естественная реакция на «раздражители». Переход к удаленной и гибридной работе во время пандемии — мера, к которой была отчасти готова IT-отрасль, но для остальных компаний это стало шоком, заставив приостановить деятельность и адаптироваться. В то время активное развитие получили сервисы совместной работы, коммуникационные платформы, облачные платформы.
Я оцениваю влияние этих изменений положительно в долгосрочной перспективе: во-первых, поставщики сервисов совместной работы увеличили свою аудиторию и капитализацию компаний, во-вторых, компании-потребители стали более гибкими и технологичными. Но в моменте этих перемен — для многих они были большим стрессом и требовали совершать много непривычных действий в условиях неопределенности.
Принципы управления проектами в условиях неопределенности
Базовый навык управленца — принятие неопределенности. С одной стороны, это просто психологическая настройка. Но с другой, навык можно разложить на ряд конкретных требований к оперативной работе:
- анализировать состояние и тренды отрасли;
- общаться с партнерами в стране и мире;
- быть в курсе глобальных новостных изменений;
- контролировать метрики своей команды, подразделения или компании;
- анализировать риски, «управлять» ими.
После этого формируются принципы и стратегия управления, выбираются подходящие инструменты, подбирается или подготавливается команда. Стоит сделать отдельную ремарку о команде: в условиях непрерывных изменений на первый план выходят навыки открытой коммуникации, постоянного обучения и адаптации сотрудников.
Например, Google поощряет своих сотрудников тратить до 20% рабочего времени на проекты, которые их интересуют, что способствует постоянному профессиональному развитию. Microsoft активно развивает культуру обмена знаниями и постоянного обучения через внутренние программы и семинары. Крупные компании рассматривают постоянное обучение как стратегическую необходимость для поддержания конкурентоспособности и инновационности в быстро меняющемся мире.
Сформулирую несколько ключевых принципов, к которым обращаюсь в ежедневном опыте управления командами разработки, и добавлю к каждому базовые точки внимания. Именно они и позволяют реализовать гибкость в управлении, необходимую в ситуациях внешней неопределенности:
- Agile и итеративная разработка:
- «нарезаем» проект на максимально короткие фрагменты, реализуем, внедряем, корректируем дальнейший план;
- обеспечиваем процесс метриками, позволяющими его корректировать в любой момент;
- масштабируем в виде Scaled Agile Framework (SAFe) — помогает организовывать работу больших команд, состоящих из сотен человек, работающих над единой экосистемой.
- DevOps и Continuous Integration and Continuous Deployment (CI/CD) — объединение процессов разработки и поставки:
- сглаживается переход между этапами производства;
- ускоряется производство программных продуктов;
- создаются петли обратной связи для постоянной корректировки команды.
- Lean development — принципы бережливого производства:
- помогают отсекать лишнее и увеличивать эффективность производства;
- помогают непрерывно улучшать процессы.
- Risk management — управление рисками:
- повышает предсказуемость течения проекта;
- помогают выявлять, предотвращать риски или минимизировать их последствия.
- Kanban в чистом виде или его элементы в других методологиях:
- помогают фокусировать команды на незавершенном производстве;
- визуализировать рабочий процесс;
- организовывать потоковую разработку.
- Design Thinking — как способ отличаться и мыслить нестандартно:
- отлично дополняет классический аналитические подходы;
- помогает решать проблемы творчески, применяя инновации, и создавать продукты для человека, учитывая особенности времени и передовой опыт индустрии.
Сложно утверждать, что какой-то один из подходов дает 100% результат сам по себе, но умелое их комбинирование, включение разных элементов в подходящих ситуациях позволяет находить решение для любой задачи цифровой трансформации. И чем шире опыт и кругозор управленца, насмотренность на отрасль и подходы, тем проще ему выбирать оптимальные инструменты и практики в каждый момент времени.
Стратегии управления проектами в условиях неопределенности
В контексте неопределенности и рисков давайте рассмотрим три стратегии подробно:
- итеративное планирование;
- управление рисками;
- эффективные коммуникации и сотрудничество.
Итеративное планирование
Каждый проект начинается с плана, который включает в себя описание функций, ресурсов и календарный график. Хороший план — это основа для принятия решений, поэтому он должен быть актуален на всем протяжении реализации проекта. Не принимая во внимание неопределенность, мы считаем, что первоначальный анализ позволяет определить полный и идеальный набор характеристик, который полностью оправдает ожидания от проекта. Но именно в самом начале проекта неопределенность наиболее высока.
Справляться с неопределенностью лучше всего помогает итеративный подход к планированию. Agile-подход, поощряющий изменения, сфокусирован больше на регулярном повторении планирования, чем на составлении одного всеобъемлющего плана в начале проекта.
Вот какие конкретные шаги можно выполнять для итеративного планирования:
- Разделите проект на небольшие, управляемые части — итерации, в каждой из которых будут четко определены цели и результаты.
- Определите приоритеты для каждой итерации, учитывая бизнес-приоритеты и оценку рисков.
- По окончанию итерации проводите регулярные встречи всем составом команды, на которых обсуждайте и анализируйте полученные результаты и произошедшие события.
- На основе обратной связи, полученной по итогам прошлой итерации, корректируйте планы и улучшайте процессы.
В начало проекта (в прототип или MVP) вынесите не только ключевые фазы основного процесса, но и непонятные и рискованные области. Именно они могут повлиять на конечный результат, и чем раньше вы поймете достижимость результата и ограничения, тем оптимальнее вы сделаете проект.
Преимущества итеративного планирования:
- Гибкость — подход позволяет быстро реагировать на изменения.
- Повышение качества — постоянное тестирование.
- Снижение рисков — регулярные проверки и анализ результатов позволяют выявить проблемы на ранних стадиях, что значительно снижает вероятность крупных ошибок.
- Улучшение коммуникации — регулярные встречи позволяют улучшить взаимодействие между участниками проекта, что способствует повышению эффективности совместной работы.
- Постепенные улучшения — регулярный анализ результатов позволяет вносить изменения небольшими шагами, системно.
- Прозрачность процесса — регулярная поставка результатов позволяет сделать процесс понятным для всех заинтересованных лиц и наглядно отражать его текущее состояние.
- Доставка бизнес-ценности — итеративный подход позволяет поставлять работающие части на регулярной основе.
- Быстрая обратная связь — ранняя обратная связь от заинтересованных лиц позволяет корректировать проект по ходу работы и лучше понимать ожидания.
Управление рисками
Управление рисками подталкивает в явном виде иметь дело с неопределенностью, так как изначально приходится признавать, что есть вероятность столкнуться с проблемами.
Существуют 4 основных возможности, которые доступны в отношении риска:
- Избегание — не осуществлять часть проекта или работ, вызывающие этот риск.
- Сдерживание — заложить в бюджет достаточно ресурсов, чтобы заплатить за него в случае его наступления.
- Ослабление — принятие мер по снижению возможных затрат до наступления риска. Такие меры нужно сформировать и запланировать заранее.
- Увернуться — не делать ничего из перечисленного, но ожидать, что риск случайно минует вас, надеяться на удачу и скрещивать пальцы.
5 основных составляющих управления рисками:
- Идентификация риска — первоначальный мозговой штурм по выявлению риска, последующая сортировка и определение механизма для обеспечения постоянного процесса.
- Анализ воздействия риска — количественная оценка каждого риска в терминах вероятности его наступления и потенциального ущерба.
- Планирование реагирования на риски — что вы собираетесь делать, если и когда данный риск наступит.
- Ослабление риска — меры, которые должны быть приняты предварительно, чтобы обеспечить проведение запланированных действий, если они потребуются.
- Мониторинг и управление рисками — отслеживание рисков, выделенных в качестве объектов управления, выявление материализации рисков.
Управление рисками позволяет осуществлять агрессивное принятие рисков — приходится их признавать и озвучивать. Без учета неопределенностей провалом становится достижение любого результата, кроме самого оптимистичного из всех представимых. Сложно отличить заоблачные цели от разумных ожиданий, в результате заоблачные цели берут за основу графика, а затем оказываются не в состоянии его выполнить.
Перечень основных проблем, с которыми столкнулась организация в проектах за несколько последних лет, — это уже отличный начальный план для следующего проекта, поэтому внедряйте методичный анализ результатов после окончания проектов.
Коммуникации и сотрудничество
Каждый проект реализуется не в одиночку, а командой или даже несколькими командами. Также в процессе реализации проекта участвует большое количество заинтересованных лиц. Для достижения хорошего результата необходимо работать с ожиданиями участников в ходе всей жизни проекта, чтобы обеспечить прозрачность процесса, согласованность действий, вовремя реагировать на изменения и выявлять возникающие проблемы на ранних этапах.
Важно держать заинтересованных участников в общем информационном поле, для этого необходимо организовать общее рабочее пространство и информационные потоки.
- Обеспечьте доступ к информации для участников проекта — внедряйте системы управления проектами для отслеживания сроков, задач и прогресса. Определите каналы коммуникации — используйте современные коммуникационные платформы, такие как Slack, Microsoft Teams, Zoom или прочие.
- Бизнес-заказчикам важно понимать, как движется работа, поэтому необходимо обеспечить регулярное информирование, для этого стоит определить формат — это может быть статус-чек по проекту раз в месяц или же статусный отчет, который вы будете отправлять. Главное — определить регулярность и соблюдать ее.
- Для формирования эффективной работы команды проводите регулярные встречи, а результаты фиксируйте протоколами. В будущем это вам сильно поможет. Основные встречи команды в рамках итерации:
- Ежедневные стендапы позволят улучшить взаимодействие за счет информированности о том, что делает мой коллега, это способствует командообразованию и тем самым повышает эффективность работы.
- Обзоры спринта — смотря на полученные результаты, подводите итоги итерации, сравнивайте план и факт, чтобы скорректировать дальнейшие планы.
- Ретроспектива — анализируйте результаты и рабочие процессы, обсуждайте проблемы и предлагайте шаги по улучшению процесса.
- Планирование спринта — привлекайте всех членов команды к процессу планирования и принятия решений, чтобы учесть их мнение и улучшить качество работы.
Открытая и прозрачная коммуникация способствует повышению мотивации и вовлеченности команды. Коллективное обсуждение проблем и обмен мнениями способствуют принятию более обоснованных и качественных решений.
Инструменты и технологии для управления проектами
Говоря об инструментах управления проектами, необходимо понимать, что их выбор напрямую зависит от принятых в конкретном производстве принципов и методологий управления проектами. Так, управление, построенное на более формальных методологиях и подходах (простой конвейер, водопад, PRINCE2 и так далее), более структурировано, формально, но менее гибко к изменениям, в отличие от гибких итерационных методологий (Scrum, Kanban, Lean и так далее). В тексте ниже рассматриваю инструменты, применимые ко второй категории процессов.
Инструменты рассмотрим в контексте групп процессов управления проектами PMBoK.
Итого, все инструменты можно сгруппировать по решаемым задачам и рассмотреть самые распространенные:
- Командные базы знаний, хранилища открытой информации: Confluence, Notion, различные wiki-платформы.
- Инструменты детального планирования с поддержкой Gantt, ресурсных планов: Microsoft Project, Asana, Team Gantt.
- Инструменты концептуального моделирования и интерактивной работы: Miro, Microsoft whiteboard, Lucidchart.
- Инструменты управления детальным составом работ (ИСР), требованиями и их изменениями: Jira, TFS, Trello.
- Инструменты организации непрерывной работы: GitLab CI/CD, Azure DevOps, Jenkins.
- Инструменты коммуникаций: Microsoft Teams, Discord, Telegram, Rocket Chat.
- Инструменты мониторинга работ: Grafana, PowerBI, Tableau.
- Прочие инструменты: пакет офисных продуктов (документы, таблицы, презентации).
В целом, платформа проектного управления может быть собрана из любой конфигурации перечисленных продуктов и сервисов. При выборе платформы для решения той или иной задачи управления стоит учитывать следующие факторы:
- Физическое размещение — через платформу будет проходить большое количество данных, являющихся интеллектуальной собственностью. Также среди них могут присутствовать чувствительные к распространению данные, например финансовая информация, персональные данные пользователей или членов команды.
- Стоимость.
- Возможность кастомизации процесса.
- Возможность интеграции с другими платформами на стыке соседних процессов: ссылки на коммиты в задачах, связь требований с тестовыми сценариями и сборками и так далее.
Чаще всего встречаются конфигурации, где в основе лежат несколько систем одного производителя:
- Atlassian и интеграция его продуктов Jira + Confluence + Bitbucket + Trello закрывает большую часть процессов, связанных с управлением жизненным циклом требований, разработки, доставки и командной работы. Аналитика процесса может проводиться как встроенными инструментами мониторинга Jira, так и сторонними сервисами через подключение к Jira API.
- Microsoft и семейство решений Azure DevOps: TFS Tracker + TFS Git + TFS Wiki + Microsoft Teams так же образуют легко-интегрируемую конфигурацию, где в едином пространстве организованы практически все процессы управления проектом.
- Комбинации Free-инструментов: GitLab + Redmine tracker + Mattermost + Grafana. Конфигурация, на объединение которой в единую платформу придется потратить чуть больше времени, но и она имеет широкое распространение на проектах разной величины.
Отдельно хочется затронуть вопрос мониторинга и анализа командных процессов.
Чаще всего в состав платформ командной работы уже входит ряд самых понятных и необходимых метрик: сгорание спринта/релиза/эпика, загрузка команды, скорость команды, изменение бэклога (задач и ошибок). Их настройка доступна через GUI самой платформы и работает непосредственно с данными задач, их статусов, показателей оценки и трудозатрат, взаимосвязей элементов. Но иногда требуется выполнить глубокий анализ процесса либо учесть в аналитике тонкую специфику процесса: скорость производства на каждом этапе и простои, поиск ошибок работы самого командного процесса и так далее. Для этого требуется работать не только со слепком текущих данных процесса, но и анализировать изменение во времени, описывать модель сложных KPI. Здесь на помощь приходят системы мониторинга, способные подключиться к проектному трекеру как к источнику данных и сформировать набор, над которым могут быть настроены любые аналитические витрины.
Примеры анализа процесса на данных могут быть такими:
- Группы проверочных метрик работы команды: соответствие коммитов кода/описанных требований/понесенных трудозатрат приоритетным целям командного спринта.
- Проверки наличия необходимых работ (подзадач) для активностей различного вида и сквозная проверка актуальности статусов задач.
- Группа метрик для анализа изменений бэклога: история изменения скоупа бэклога/спринта/релиза. История корректировки сложности/оценки трудозатрат на задачи. История корректировки приоритетов.
- Группы метрик KPI работы команды: скорость разработки на этапах: аналитики, дизайна, разработки, тестирования, поставки. Длительность задержки задач «в блоке» на этапах уточнений и согласований. Возвраты задач на уточнения, доработки и исправления.
С приходом удаленной работы требования к процессам управления проектами ужесточились. У этого был ряд причин:
- Гибридизация команд, иногда со сдвигом часовых поясов.
- Смещение фокуса контроля сотрудника с нахождения в офисе на конкретный конечный результат.
- Переход к асинхронным коммуникациям.
- Выход членов команды из единого информационного потока, потеря фокуса и понимания приоритетов разработки.
В связи с этим менеджерам проектов пришлось реагировать как на процессном уровне (новые договоренности с командой по режиму работы, частоте и правилам взаимодействия), так и на уровне новых активностей (более частых синхронизаций команды по целям) и инструментов (организации командной работы с задачами и статусами, мониторинга динамики работы и выдаваемого результата).
Пример
В качестве примера можно привести проект по разработке мобильного приложения, где удаленка совпала с бурным ростом команды и масштабными изменениями в процессах на стыке заказчика и команды. Пришлось в короткие сроки внедрить в команде ряд изменений:
- Интеграция заказчика в проектный трекер с командой для совместной работы над требованиями.
- Автоматизация рутины: шаблоны задач, описаний, отчетности, контроль и уведомления о процессных активностях.
- Зеркалирование проектного репозитория в инфраструктуру заказчика для минимизации рисков потери прогресса разработки.
- Фрагментация команды (около 30 человек) и коммуникаций в команде на стримы (управление, продуктовая аналитика, архитектура и проектирование, платформенная разработка).
- Оформление целей, приоритетов и ожидаемых результатов от командных спринтов непосредственно в командном трекере.
- Расширение план-факт мониторинга исполнения задач и эскалация потенциальных проблем (превышение трудозатрат, техническая блокировка разработки, затягивание решения задач) на ключевых разработчиков.
- Регулярное собрание бюджетного комитета проекта по исполнению обязательств, а также ускорению административных задач.
Как итог, несмотря на удаленку, рост команды, повышение формальности взаимодействия, команда сократила непрямые расходы в производстве (коммуникации, не относящиеся напрямую к решению конкретных задач), удалось устранить риски критического превышения сроков/бюджетов. Из сложностей — эти изменения привели к повышению нагрузки на административные активности в целом и на менеджеров проекта в частности.
Есть и альтернативный пример, когда нами в работу был принят уже начатый другим подрядчиком проект. Ключевой функционал веб-приложения был реализован, но запустить его в работу команда не смогла. Работа проделана огромная, но заказчик разочаровался и потерял надежду на дальнейший успех проекта. Ретроспективно посмотрев на состояние проекта, могу отметить следующие возможные причины такого результата:
- Нарушались принципы итеративности — команда на месяцы уходила в разработку, не демонстрировала промежуточные итоги, не получала обратную связь после каждого этапа.
- Нарушались принципы совместной работы — заказчик не видел трекер задач команды, да даже и лица людей, работающих над продуктом, скрывались за аватарами — был перекос в сторону формального исполнения дорожной карты, а о качественном взаимодействии забыли.
- Недостаточное распределение ролей внутри команды — одни и те же люди выполняли сразу несколько видов работ, упуская качество то на этапе аналитики и постановок, то на этапе разработки и тестирования.
Проект удалось вывести из кризиса и запустить разработанные модули в работу, убедившись на опыте коллег, какую значимость сейчас имеет применение современных методов управления.
Заключение
Управление проектами в современном мире требует высокой квалификации и широкого кругозора. Из года в год растет накопленный мировой опыт в деятельности управления проектами, развиваются подходы, появляются новые инструменты и практики. Внешняя среда становится все более подвижной и непредсказуемой, добавляя бизнесу все новые вызовы и задачи. Это и делает профессию управленца, с одной стороны, более сложной, а с другой — перспективной и интересной. Каждому руководителю важно уметь держать фокус на конечной цели и применять оптимальный набор инструментов для ее достижения. Сегодня для достижения результата рекомендую делать упор на итеративность, управление рисками, коммуникации.
Именно квалифицированный управленец становится островком стабильности, драйвером развития и тем, кто достигает результата. Для этого необходимо 3 составляющих:
- Профессионализм и постоянное развитие.
- Психологическая устойчивость и позитивный взгляд на мир, когда проблемы становятся задачами и уроками на будущее.
- Инструменты и умелое их использование.
Учитывая, что сейчас к управлению приходят молодые люди из «поколения Z», родившиеся с конца 1990-х до начала 2010-х, можно выделить ближайшие тренды в управлении:
- Внедрение инноваций — все существующие современные технологии руководители будут пытаться применять к управлению, очевидно, что у многих получится извлечь пользу и появятся новые подходы и инструменты.
- Децентрализация управления — когда команды все больше принимают решений самостоятельно, ощущая свою социальную ответственность за результат.
- Акцент на прозрачности и открытости в коммуникациях, развитие эмоционального интеллекта как способ разрешения конфликтов и поддержания вовлеченности команд в достижение целей.
Чем шире арсенал управленца, тем проще ему найти оптимальное решение. Нужно поощрять обмен управленческим опытом, делиться им самому, впитывать его у более опытных коллег.