Навигатор для проекта: MS Project + формулы + индикаторы
План – это не идеальная картина, а навигация по проекту
Почему когда вы едете на машине и попадаете в только что возникшую пробку, то ваш навигатор пересчитывает маршрут и время движения по нему, а управляя проектом, вы отказываетесь от такого полезного инструмента?
При изменении вашего проекта вы изредка смотрите на единственный маршрут, рассчитанный без учета пробок навигатором, не подключенным к Интернету. А чаще всего вы вообще обходитесь без него, полагаясь на опыт и информацию, которую запомнили при составлении первоначального маршрута.
Уверен также, что вам знакомо следующее мнение. План – это идеальный сценарий, в действительности все бывает по-другому, поэтому нужно выполнять проект, не ориентируясь на план. Авторы подобных тезисов под словосочетанием «план проекта» подразумевают только первоначальный план (Базовый план). Но замечу, что проект может иметь другой План, который будет учитывать все изменения в проекте и являться вашим навигатором по проекту. Такой инструмент будет показывать вам:
- Актуальное расписание всех задач
- Узкие места
- Прогноз завершения проекта (этапа)
Используя рекомендации, приведенные в статье, вы научитесь легко оживлять ваши план-графики, находить проблемные места, прогнозировать достижение конечной цели. Тем самым вы качественно улучшите навыки планирования и контроля, что повысит вашу эффективность минимум на 20%!
Настройка статусов задач
Вам один раз нужно настроить программу (MS Project), используя формулы, приведенные в конце статьи, и графические индикаторы.
После чего вы сможете регулярно использовать простой и эффективный инструмент.
Итак, рассмотрим статусы задач, которые нам предстоит настроить.
- Завершено
Задача выполнена на 100% - Будущая задача
Задача будет выполняться в будущем как по плану, так и фактически. - По плану. Задача не отстает. Она выполняется, но ее фактический процент завершения больше, чем плановый. Например, есть задача длительностью 10 дней. По истечении 5 дней, она выполнена на «90%», а согласно плану она должна быть выполнена только на половину (50%)
Группы задач с задержкой: - Задержка
Задача выполняется, но фактический процент ее завершения ниже, чем плановый. Например, есть аналогичная задача длительностью 10 дней. По плану по истечении 9 дней задача уже должна быть выполнена на «90%», а фактически она выполнена только на половину (50%). Это частный случай простого варианта задачи с задержкой, когда задача по плану еще не должна быть завершена, но фактический прогресс меньше запланированного. - Задача просрочена
Является частным случаем задач с задержкой. По плану такая задача должна быть завершена (100%) на момент отчетной даты, однако фактически это задача не завершена (<100%). - Задача не начата
Является частным случаем задач с задержкой. По плану такая задача должна быть начата (>0%) на момент отчетной даты, однако фактически это задача еще не начата ( 0%). - Неактивная задача
Такие задачи хоть редко, но иногда встречаются в планах-графиках, поэтому для них нужно задать соответствующий индикатор, чтобы программа не вводила вас в заблуждение. Например, задача может оказаться просроченной, а фактически она таковой быть не может, поскольку выполнять ее не требуется.
Анализ задач
- Статус «Завершено»
Рекомендуется отмечать такие задачи перед проектной командой, чтобы показывать прогресс приближения к намеченной цели, тем самым увеличивая позитивную мотивацию участников команды.
Не рекомендуется тратить время на «проектных комитетах», для того, чтобы детально отчитаться перед куратором или заказчиком о проделанной работе. На таких встречах гораздо эффективнее обсуждать проблемы, риски и предстоящие планы на ближайшее будущее. - Статус «Будущая задача»
Нет смысла анализировать все задачи, которые начнутся в будущем. Однако имеет смысл обратить внимание на задачи, которые начнутся в ближайший период. (Для этого удобно применять фильтры, но об этом в другой статье). - Статус «Задача просрочена»
Важно. У планировщиков считается преступлением, когда в вашем плане присутствуют такие задачи! Для таких задач, всегда должен быть предоставлен прогноз завершения. - Статус «Задача не начата»
Важно. Так как начало таких задач просрочено, то необходимо запрашивать прогноз начала выполнения. На практике нередко бывает, что начало таких задач зависит от окончания просроченных задач либо от выполняющихся задач, не включенных в план. - Статус «Задержка»
На практике не часто уделяют внимание задачам, которые еще не должны быть закончены, однако не будет лишним уточнить у исполнителей, будет ли завершена задача к намеченному сроку. В случае отрицательного ответа нужно запросить прогноз окончания, чтобы задача не оказалась впоследствии просроченной.
Практическое использование индикаторов
Индикация является частичной автоматизацией процесса контроля проекта. Индикаторы моментально сигнализируют пользователям плана о статусах задач. Вместо того чтобы в голове рассчитывать статусы задач, за вас это делает программа. Далее при проработке проблемных задач вы получаете «живой» план-график работ, который будет являться навигатором для вашего проекта.
Алгоритм актуализации плана
Настоятельно рекомендую регулярно проводить контроль хода выполнения проекта. Это стоит делать 1 раз в неделю или 2 раза в неделю. В процессе контроля нужно следовать алгоритму:
- Собирать и проставлять проценты завершения задач
- Запрашивать и проставлять прогнозы окончания задач со статусом «Задача просрочена»
- Запрашивать и проставлять прогнозы начала задач со статусом «Задача не начата»
- Включать в план забытые работы, которые тормозят выполнение «не начатых» задач
В результате вы всегда будете иметь актуальный план (расписание проекта) и прогнозы наступления итоговых событий (завершение проекта, этапа).
Типичные примеры
Для всех примеров начало одинаковое. Вы проставили проценты выполнения работ. Далее программа автоматически рассчитала статусы задач. На последующих примерах будет показано, как с этой информацией работать.
Пример 1
Видим, что в плане есть завершенные задачи, неактивные задачи, например, резерв, который не понадобилось использовать. Хвалим за это исполнителей и обращаем внимание на задачи с задержкой (особенно просроченные задачи).
Пример 2
Проблема
В плане присутствуют просроченные и не начатые задачи.
Например, верстальщик не может начать верстку макетов внутренних страниц модуля «Заказ товара» для интернет-магазина. Причина: дизайнер не успел разработать или согласовать с заказчиком дизайн этих страниц.
Решение
Необходимо уточнить у дизайнера, когда будет завершена отрисовка макетов и передана верстальщику. Дата начала верстки автоматически рассчитается программой.
В итоге в плане будут отсутствовать просроченные и не начатые задачи.
Пример 3
Проблема
В плане присутствуют просроченные и не начатые задачи.
Например, у вас есть ряд выполненных задач, но последующие задачи по интеграции со смежной системой заказчика до сих пор не начаты.
Решение
Как выяснилось, вы не можете приступить к работе по интеграции, поскольку заказчик вам не передал выгрузку из БД и реквизиты для интеграции. Изначально в плане не были отмечены задачи заказчика по предоставлению этих данных, и не отмечен результат, который должен быть предоставлен для начала работ по интеграции. Эта информация держалась в голове, все надеялись на заказчика, ведь это же его работа.
Следовательно, в этой ситуации необходимо добавить эту задачу и веху о предоставлении результат для начала следующей задачи в План. Если бы эти задачи были запланированы заранее, то «пинание» заказчика началось бы гораздо раньше.
В итоге в плане будут отсутствовать просроченные и не начатые задачи.
Прогноз завершения проекта (этапа)
Одним из предназначений, ради которых актуализируется план, является получение прогноза завершения проекта (этапа или другого контрольного события). В этой статье не будет рассматриваться применение базового плана для измерения отклонений каждой задачи. Однако используя одну простую опцию MS Project, можно всегда получать информацию об отклонении контрольных событий.
Совет. Во время первоначального планирования задайте «Крайний срок» для крупных суммарных задач (таких как суммарная задача проекта/этапа) и/или контрольных вех. Для этого зайдите в «Сведения о задаче», перейдите на вкладку «Дополнительно» и задайте в ней «Крайний срок». На диаграмме он будет отмечен зеленой стрелочкой. Относительно этой точки вы всегда будете измерять отклонение.
Замечание
В приведенных выше примерах не рассматривается вопрос, сколько процентов составляет отклонение по задачам. Рекомендую декомпозировать задачи на задачи длительностью не более чем отчетный период. Например, у вас совещание по статусу проекта проходит 1 раз в неделю, значит, длительность задачи по возможности не должна превышать 5 рабочих дней. В этом случае будет не так важно, отклонение составляет 20% или 34,5%. Вы будете концентрироваться на результаты выполнения небольших задач, нежели чем на процент выполнения длительных задач, который не так просто измерить.
Формулы
Интегрированный статус отклонения задач относительно Плана
IIf(Not [Активная];"Неактивная";
IIf([% завершения]=100;"Завершено";
IIf([Веха];
Switch(
([% завершения]<100) And ([Начало]>[Дата отчета о состоянии]);"Будущая задача";
([% завершения]<100) And ([Начало]=[Дата отчета о состоянии]);"Задача не начата";
([% завершения]<100) And ([Начало]<[Дата отчета о состоянии]);"Задача просрочена");
Switch(
(IIf(ProjDateDiff([Окончание];[Дата отчета о состоянии])>0;100;ProjDateDiff([Начало];[Дата отчета о состоянии])/[Длительность]*100)<=[% завершения]) And ([Начало]<=[Дата отчета о состоянии]);"По плану";
[Начало]>[Дата отчета о состоянии];"Будущая задача";
([% завершения]<100) And [Окончание]<[Дата отчета о состоянии];"Задача просрочена";
([% завершения]=0) And ([Начало]<=[Дата отчета о состоянии]) And ([Окончание]>=[Дата отчета о состоянии]);"Задача не начата";
(IIf(ProjDateDiff([Окончание];[Дата отчета о состоянии])>0;100;ProjDateDiff([Начало];[Дата отчета о состоянии])/[Длительность]*100)>[% завершения]) And ([Окончание]>=[Дата отчета о состоянии]);"Задержка")
)
)
)
Плановый процент завершения задач
Используется в приведенной выше формуле. Однако выделяю ее отдельно, возможно вам понадобится для построения других формул
IIf([Веха];
IIf([Начало]>=[Дата отчета о состоянии];0;100);
IIf([Начало]>=[Дата отчета о состоянии];0;
IIf(ProjDateDiff([Окончание];[Дата отчета о состоянии])>0;100;ProjDateDiff([Начало];[Дата отчета о состоянии])/[Длительность]*100)
)
)
Замечание. Для суммарных задач этот процент не всегда рассчитывается актуально в виду ограниченных возможностей расчета формул для суммарных задач.
Автор: Kirilkin