Управление проектами
с высокой неопределенностью длительности работ
или
Agile сетевого графика
Допустим, вам с коллегами нужно организовать за 2 месяца феерический корпоратив. Или вывести новый продукт на рынок к определенной дате. Или коллективно разработать бюджет компании на следующий год. Словом, у вас имеется проект, состоящий из определенной последовательности работ, есть команда проекта и сроки, в которые необходимо уложиться. Но при этом, вот беда, длительность большей части работ в рамках проекта трудно точно спланировать, поскольку они зависят от массы непредсказуемых внешних или внутренних факторов.
Чтобы управлять таким проектом, нужно постоянно отслеживать фактические сроки исполнения пройденых этапов и появляющиеся обстоятельства, влияющие на сроки выполнения следующих этапов, оценивать риски срыва сроков и вовремя предпринимать необходимые меры. В традиционном подходе это означает постоянно пересчитывать и перестраивать график проекта. Кроме того, важно качественно информировать команду о состоянии проекта и изменениях в сроках работ. Для этого нужно каждый раз показывать коллегам, какие изменения внесены в сетевой график, и надеяться, что после очередной корректировки плана они все еще будут этот график воспринимать. Словом, традиционные приемы управления проектами в таких обстоятельствах могут быть слишком громоздкими. К тому же далеко не все менеджеры, перед которыми встают подобные задачи, достаточно хорошо знакомы с этими приемами. Но не стоит унывать: передовые методики помогут сделать управление проектами в режиме высокой неопределенности достаточно простым и эффективным.
Давайте посмотрим, как можно использовать для этих целей концепцию Critical chain project management (CCPM), и как соединить ее для улучшения визуализации с элементами Agile/Kanban.
Первый этап: создайте структуру проекта и оцените длительности работ
Несложные по структуре проекты можно спланировать просто с помощью бумаги и карандаша. Или маркера и пластиковой доски. Отлично подходит магнитная доска, на которой удобно закреплять и перемещать листки бумаги.
Изобразите все работы прямоугольниками, назовите их и разместите на листе бумаги или доске, соединив линиями в последовательности. После этого проведите оценку предполагаемой длительности каждой работы в оптимистическом и пессимистическом сценариях. Оптимистический предполагает, что исполнители будут максимально производительны и их ничто не будет отвлекать. Пессимистический предполагает, что все разумные неприятности, задерживающие проект, случатся. Если опыта таких работ мало, можно провести мозговой штурм и сформулировать все факторы, которые будут способствовать и препятствовать быстрому выполнению каждой работы. Если не выходит с анализом, чтобы получить оптимистический прогноз, просто поделите пессимистический, т.е. уверенный, пополам.
Эскиз структуры проекта с оценкой времени
Запишите обе оценки на прямоугольниках работ. Теперь определите самую продолжительную последовательность (цепочку) работ от начала до конца проекта (обычно ее называют "критический путь") – отдельно для пессимистических и оптимистических оценок. Суммируйте длительности работ на критическом пути: так вы получите оптимистическую и пессимистическую оценку длительности всего проекта. Реалистическая оценка будет средней между ними.
Если пессимистическая оценка превышает оптимистическую меньше, чем на 1/3, имеет смысл вернуться к оценке отдельных работ и посмотреть, все ли факторы учтены. Если после этого разница не увеличится, значит вы преувеличили степень неопределенности в проекте. Берите проект с пессимистической оценкой длительности и просто работайте в этом графике, не заморачиваясь. Наши следующие шаги будут иметь смысл только в том случае, если за разницу между реалистической и пессимистической оценкой имеет смысл бороться. А это не так просто: уложиться даже в пессимистические оценки без сокращения задач и потери качества не могут ¾ проектов в мире.
Второй этап. Буферизация.
Чтобы правильно застраховать наш проект от влияния непредсказуемых факторов, надо создать буферы, т.е. контролируемые резервы времени в структуре проекта. Мы будем использовать буферы не только как запасы, но и как индикаторы состояния проектов. Однако обо всем по порядку.
Первый, главный буфер – это буфер проекта. Добавьте его на схему в самый конец проекта как дополнительную работу. Рассчитайте разницу между пессимистической и оптимистической продолжительностью, поделите ее пополам – это будет размер (т.е. продолжительность) буфера проекта. Теперь поделите размер буфера на три приблизительно равные части с накоплением. К примеру, если буфер равен 13 дням, то его можно поделить на такие уровни: 5-9-13 или 4-8-13. Зафиксируйте эти числа.
Теперь найдите в схеме места присоединения более коротких веток к самой длинной, по которой вы оценивали длительность проекта. И в этих местах также добавьте буферы. Посчитайте продолжительность каждой ветки, ведущей к таким «стыковочным» буферам (в ccpm их называют "питающими"), и вычислите половину от этой продолжительности. Либо посчитайте половину разницы между оптимистической и пессимистической оценкой длительности работ на ветке.
Желтым маркером отмечен критический путь. Пурпурные точки показывают места добавления «стыковочных» буферов.
Теперь нужно сравнить длину/продолжительность более коротких веток с добавленными буферами и длинной, с которыми она соединяется. Если короткие со своими буферами все еще короче, эта ветка может стартовать соответственно позже. Либо разницу можно добавить в «стыковочный» буфер – это повысит надежность ветки: лучше закончить работы раньше и подождать. Если после добавления буфера короткая ветка стала длиннее длинной, придется добавить разницу как время простоя в длинную ветку.
Третий этап. Визуализация для команды.
Изобразите получившийся сетевой график проекта на стене, в месте, где можно проводить совещания. Для этого подойдут листы формата А5, а для соединительных линий – малярный скотч. Или можно использовать канцелярские булавки и толстые нитки. На листах удобно обозначить цветом объединенные по смыслу работы.
На каждом листе, обозначающем работу, укажите название или индекс работы, ответственного за нее сотрудника и оптимистическую продолжительность работы. Эту продолжительность будем называть «время до буфера». Почему, будет описано ниже.
Чтобы не запутаться, изображайте буферы на схеме фигурой другой формы. К примеру, если работы показаны листами, расположенными горизонтально, то буфер можно изобразить вертикальным листом.
Настенный план проекта. 27 дней до буфера плюс 13 дней буфера, всего срок реализации 40 дней. Буферы обозначены вертикальными листами.
Еще один способ визуализации – вырезать работы из прямоугольников с длиной, пропорциональной срокам. Для этого удобно использовать клетчатую бумагу. Получится нечто вроде диаграммы Гантта. Такой способ помогает не ошибиться в планировании, но может сбивать с толку по ходу проекта, поскольку фактические длительности работ могут заметно отличаться от плановых.
Тот же проект, изображенный в масштабе длительностей элементов.
«Приборная доска» управления проектом готова. Теперь можно разобраться, в чем «фокус» этого способа управления проектами и объяснить это команде проекта. Некоторые работы будут укладываться в оптимистические сроки или даже опережать их. Примерно половина работ будет выполняться дольше, чем указано на плане, и это нормально. Для этого и созданы буферы с резервами времени. Задача управления состоит в том, чтобы не разбазарить ни часа из этих резервов, вовремя замечать риски и вовремя предпринимать необходимые меры. Для этого служат правила работы.
Правила работы члена команды такого проекта:
- Начинай работу как можно раньше и заканчивай как можно быстрее, но не в ущерб качеству или бюджету. Ими распоряжается руководитель проекта.
- Следи за факторами, влияющими на длительность твоей работы, делай репрогнозы и сообщай об изменениях следующим по цепочке коллегам и руководителю проекта.
- Если работа завершилась быстрее указанного для нее «времени до буфера», добавь разницу в ближайший по цепочке буфер. Если медленнее – вычти разницу из буфера.
- Если твоя ветка исчерпала свой «стыковочный» буфер и ты забираешь время из буфера проекта, добавь то же время на остальные ветки перед точкой стыковки с твоей веткой.
- Если перед буфером имеются участки с параллельными работами, влиять на буфер должен только один из них, любой, на ваш выбор.
- Значение имеет только завершение всего проекта. Поэтому следи за состоянием всего проекта и помогай там, где можешь принести пользу.
- Если завершение проекта в срок или раньше срока предполагает командный ("аккордный") бонус, команда должна разработать правило вознаграждения для всех участников до начала работ.
- Фиксируй причины как замедления, так и ускорения своих работ для дальнейшего анализа.
Как следить за состоянием проекта в ходе его реализации
Вот тут как раз и начинается эджайл. Предполагаемые сроки начала работ – как минимум на следующую неделю – устанавливаются на еженедельной планерке. Фиксируйте их на стикерах, которые размещайте прямо на листы соответствующих работ на настенной схеме проекта. Если дата пересматривается ситуативно, меняйте стикер и информируйте об этом «хозяина» работы. Если вы проводите ежедневную стендап-планерку, это хорошая возможность для сверки сроков.
Вам не нужно пересчитывать критический путь при любом изменении фактических или плановых сроков, не нужно менять изображение проекта. Даже если критический путь переместится на другую ветку, ничего не нужно перерисовывать. Состояние буферов – главный индикатор состояния проекта в целом. Для этого размер буфера мы и разделили на три зоны. Чтобы сделать состояние буфера максимально наглядным, его можно обозначать цветными стикерами. Пока не исчерпана первая треть буфера, его цвет «зеленый», и никаких специальных действий для предпринимать не нужно. Если первая треть исчерпана, измените цвет буфера на желтый, обратите на это внимание команды проекта: вам нужно проанализировать состояние проекта, сделать репрогноз и подумать о том, что вы сможете сделать для ускорения проекта, если он продолжит затягиваться. И если буфер перейдет в последнюю треть, пометьте его красным стикером и начните реализовывать подготовленные экстренные меры.
"Экватор" проекта, прошло 20 дней со старта. На выполненных работах указана фактическая продолжительность, на буферах – их изменения и текущее состояние, на будущих работх – их предположительные сроки старта.
Аналогично отслеживается состояние «питающих» буферов. Буфер объединяет всех ответственных за предшествующие ему работы. Соответственно, внутри команды большого проекта могут образовываться самоуправляемые мини-команды отдельных буферов, которые контролируют ход своего участка проекта. В зависимости от уровня самостоятельности команды менеджер проекта может вмешиваться в работу команд буферов при переходе буферов в желтую или красную зоны или не вмешиваться вовсе, до тех пор, пока кто-то не «посягнет» на буфер проекта.
Для длительных проектов, включающих большое количество работ, можно использовать диаграмму «сгорания» буфера. Это прямоугольная диаграмма-календарь, на горизонтальной оси которой отложена длина проекта с учетом буфера, а на вертикальной – размер буфера. Ее можно изготовить из больших клетчатых листов для флипчарта. (Вариантов диаграмм "сгорания" существует множество. Ниже описан мой авторский вариант. Подробнее для продвинутых пользователей о дизайне диаграммы вы можете почитать в соседнем материале).
Работа, завершившаяся в срок, равный «времени до буфера», отображается горизонтальным отрезком, равным длительности работы. Работа, шедшая дольше, -диагональной под 450 линией вниз, ее длина по горизонтальной оси – продолжительность работы, по вертикальной – время, забранное из буфера. Работа с опережением отображается ступенькой вверх на количество сэкономленных дней. Диаграмма «сгорания» позволяет наглядно показать соотношение выполненных работ и остатка времени в буфере. Также на буфере можно нанести диагонали, показывающие вероятность уложиться в реалистичный срок. Горизонтальными линиями можно показать границы зон принятия решений: после пересечения желтой границы нужно анализировать и готовить решения по "спасению" сроков проекта, после пересечения красной - реализовывать их.
Диаграмма буфера проекта. Прошло 20 дней, на критическом пути завершены работы А1-А4. Справочно сверху на календарной линии показаны вехи по оптимистической оценке, снизу - по реалистичной. Проект только-только добрался до желтой зоны, его надежность превышает 90%. По текущему прогнозу (пунктир) он будет завершен к 10-му числу (при дедлайне 13-го). Хотя работа Н1 по прогнозу имеет достаточный резерв времени, нужно внимательно изучить ее риски: в случае непредвиденных значительных задержек времени для маневра не останется.
На ежедневной планерке спикер от каждой команды питающего буфера сообщает, какова оценочная вероятность перехода буфера в красную зону к моменту завершения всех предшествующих буферу работ. Если вероятность высокая, то спикер говорит, какие нужны ресурсы для снижения риска. Менеджер проекта таким же образом обсуждает с командой состояние буфера проекта. Команда пытается изыскать внутренние ресурсы, если их недостаточно, то менеджер проекта либо соглашается с риском потерять часть буфера проекта, либо берется привлечь внешние ресурсы, либо смещает дедлайн, если это согласовано с заказчиком.
Когда полезен подход CCPM, и чем он отличается от классического (Гантт) и гибкого (Канбан) способа управления проектами.
Первое: возиться с CCPM нужно только в том случае, если вам важно уложиться в определенные или максимально короткие сроки. Если сроки не имеют критического значения, постройте, к примеру, простую "рыбью кость" и следите за ходом работ по ней.
Второе: как уже говорилось выше, CCPM удобнее классического Гантта, когда предсказать сроки отдельных работ можно только в широком диапазоне. При этом вы можете использовать для визуализации программные средства для построения диаграммы Гантта, задавая буферы как фиктивные работы. Но...
...Третье: сетевой график лучше визуально воспринимается, чем диаграмма Гантта, а контроль через состояние буферов снимает проблему отображения тайминга проекта в сетевом графике. И настенная визуализация значительно эффективнее той, что на экране компьютера, особенно для командного взаимодействия.
Четвертое: построение сетевого графика, т.е. схемы проекта, имеет смысл, если последовательность работ в проекте строго определена. Если вы можете произвольно выбирать, в какой последовательности выполнять работы, то ваш способ визуализации - канбан-доска. В этом случае также можно провести оценку длительности работ в мин.-макс. и определить буфер проекта - он будет у вас один. И затем по мере перемещения работ по канбан-доске в колонку "done" увеличивать или уменьшать остаток в буфере и таким образом контролировать тайминг проекта.
Коммерческое предложение.
Раземеется, я провожу семинары-тренинги для освоения этого метода. Теоретическая часть, деловая игра, разбор кейсов, поддержка освоения. Раширение этой темы в обучении - управление потоком проектов, в т.ч. приоритетами, очередями; диаграммы буферов в таких системах, взаимодействие между элементами системы. Словом, если есть интерес - пишите, звоните, обсудим.
Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
0672331812 (тел, вайбер, ватсап)