воскресенье, 22 февраля 2015 г.

Экспресс-курс «Проектное планирование»

Везде ли применимо проектное планирование?
Любую деятельность компании или отдельного человека можно разделить на два состояния:

  1. Я делаю (сделаю) что-то сейчас;
  2. Я буду это делать в будущем.

Первое состояние очень популярно в торгово-закупочной деятельности:

  • купить прямо сейчас;
  • заказать прямо сейчас;
  • позвонить прямо сейчас.

На вас сваливается десяток задач которые надо сделать прямо сейчас. Как правило, это задачи на «на пять минут», хотя иногда подготовка к выполнению самой задачи может занять и больше пары часов. Если такое происходит, тогда весь поток задач, которые надо сделать «прямо сейчас», останавливается, пока короткая задача не будет завершена, Однако, каким-то мифическим образом все такие задачи «рассасываются» к концу недели.



Деятельность, в которой присутствуют задачи появляющиеся «прямо сейчас» и которые нужно сделать «прямо сейчас» или «сегодня», невозможно планировать, она зависит исключительно от внешних факторов воздействия и носит краткосрочный характер. Единственное, что при таком подходе применимо — это регистрация задачи и её результатов, чтобы её можно было перепоручить или поднять историю при возникновении спорных моментов или оценки эффективности работы исполнителя.

Другое состояние относится к планированию своей деятельности или деятельности команды, компании. Если при приходе задачи вы ее откладываете с формулировочкой «Я буду делать это в будущем», то сразу напрашивается вопрос: В «будущем» это когда?

Если ваша очередь задач пустая, то «будущее» для выполнения новой работы может наступить прямо сейчас, но что будет если очереди уже десяток отложенных на будущее задач?

Она добавится в хвост очереди? А если её приоритет между пятой и шестой задачами? Хорошо, если никто не спрашивает вас: «когда ты сделаешь мою задачу?», то тогда можно просто поставить её очередь и продолжать заниматься текущей работой.

Если ваша очередь задач держится в пределах десятка, значит вас можно поздравить, скорость прихода новой работы и скорость ее выполнения у вас примерно одинаковая, и что-то менять в этой системе и заниматься планированием вам не требуется.

Возьмем другую ситуацию, вам приносят задачу и постановщик передавая её интересуется «Когда ты её сделаешь?». тогда появляются сразу два вопроса:

  1. Сколько времени нужно потратить на выполнение задачи?
  2. Когда сможете приступить к выполнению задачи?

от ответов на которые зависит ответ на самый важный вопрос «Когда ты её сделаешь?».
Как только вы начнете пытаться отвечать на подобные вопросы, то вас можно поздравить, вы подошли к необходимости планировать свою деятельность.

С чего начинается планирование


Самый простой план это список задач:

  • Задача 1
  • Задача 2
  • Задача 3

Сегодня вы делаете первую задачу, сдвигаете список вверх, делаете вторую потом также третью. На вопрос «ты когда сделаешь мою задачу» которую вы поставили в конец списка можно показать список и сказать «Когда я закончу все эти, тогда с могу сделать и твою задачу».

Подход хороший, можно всем заявить «Я планирую свою деятельность!», но будет ли доволен постановщик задачи таким ответом?

Думаю, что за неимением других вариантов ему придётся довольствоваться таким. Но, на самом деле он хочет услышать примерную дату когда будет завершена его задача.

Этот подход часто применяется людьми которым важно только то, чем они занимаются только сейчас, по концепции «живи сегодняшним днём, незачем забивать голову всякой менеджерской пургой». И в результате, постановщик задачи обещая кому-то какие-либо сроки просто называет цифры с потолка и скрещивает пальцы надеясь на «авось успеют».

Если постановщик задачи более дотошный, то он вас сможет принудить сказать какую-то цифру оценки сроков, которую вы конечно же возьмете «с потолка» опираясь на свой опыт решения похожих задач.

И конечно же промахнетесь, примерно в два, три раза. И когда постановщик придёт к вам со словами «Ну как же так, Василий, ты же обещал и не успел. Ты меня подставляешь.» вы будете чувствовать себя виноватым, хотя, и вы и пришедший оба осознают что цифры были взяты с потолка.

Виноватым никто не любит себя чувствовать, виноватостью можно манипулировать. И когда вам захочется, чтобы в следующий раз такого не повторилось, возможны два варианта:

  1. При запросе срока выполнения спрятаться за формулировкой «я не знаю», «после тех что в списке», или
  2. Подумать, как улучшить качество оценки трудоемкости того чего делать еще не приходилось.

Если вы выберете второй путь, то поздравляю, у вас появилась потребность в планировании своей деятельности.

Составляем план, оцениваем сроки


Потребность в планировании деятельности есть, но как её реализовать? Делаем план!
План, это записанные наши предположения относительно того:

  • что нужно делать;
  • как делать;
  • сколько времени это предположительно займет и
  • кто будет делать.

Почему именно «предположительно»? Потому, что между тем, как вы запишете в задаче что нужно делать и кто ее будет делать может произойти тысяча всевозможных событий влияющих на ваш план и на предполагаемого исполнителя.

Например: он может внезапно заболеть, его может переехать автобус (см. автобусный фактор), заказчик внезапно решил отказаться от данной работы, правительство издало закон требующий лицензирования вашей деятельности, другая компания выпустила продукт упрощающий выполнение вашей работы, вам выделили дополнительные ресурсы. Каждый из этих маленьких моментов может как увеличить сроки выполнения работы так и уменьшить её объемы.

В самом оптимистичном сценарии мы можем предполагать что эти события не произойдут. И тогда мы можем построить план:

  • Задача 1, ожидаемый срок выполнения 3 дня, выполняет Василий;
  • Задача 2, ожидаемый срок выполнения 4 дня, выполняет Петр;
  • Задача 3, ожидаемый срок выполнения 2 дня, выполняет Виктор.

Наши ожидания составят 9 человеко/дней на 3-х человек, и весь план может быть выполнен предположительно за 4 дня.

Когда команда дружно начинает делать работу, оказывается что:

  • Василий не знает специфики работы и постоянно спрашивает Петра (+2 дня, итого 5 дней);
  • Петру приходится отвлекаться от своей задачи и объяснять Василию основную идею его задачи, но он профессионал и поэтому уложился раньше запланированного срока (3 дня);
  • Виктор нашел что можно снизить риски в будущем, и для этого потратил дополнительно 2 дня на решение дополнительной задачи (+2 дня, итого 4 дня);

В итоге, реализация плана вместо ожидаемых 9 человеко/дней заняла 12 дней (5 + 3 + 4), то есть, мы промахнулись с оценкой на 3 дня, и фактически объем работы увеличился на 30% от планируемого. Однако по календарю это заняло 5 календарных дней, это означает, что следующая работа не будет начала раньше понедельника следующей недели, что приводит к увеличению сроков на 75% (7 дней вместо 4).

Если на основе вашего плана, вы пообещали какие-то сроки постановщику задачи, то опять возникнет ситуация когда вас будут обвинять " Ты же обещал, и не выполнил."

И тут опять есть два пути:

  • Первый, откатиться на предыдущие позиции со словами «А что толку оценивать, все-равно оценки не сбудутся/не верны.», или
  • Второй, научиться учитывать разницу между запланированными объемами и сроками и фактически потраченными ресурсами и временем при планировании новой работы.

Если выбираете второй путь, то примите поздравления, у вас есть необходимость в оценке рисков.

Улучшаем план


В предыдущем разделе запланированный объем и сроки увеличились из-за двух факторов:

  • оценка объема как правило сильно оптимистичная;
  • сработали неучтенные риски.

Человеку свойственно всегда давать оптимистичные оценки по времени, особенно когда постановщик задачи ожидает услышать сроки поменьше. Или же при оценке объема работы учитывается только личный опыт выполнения похожей задачи и не учитывается опыт фактического исполнителя.

При быстрой оценке объемов работы в большей части случаев риски не учитываются совсем. Риски бывают разные, бывают такие, которые требуют немного больше времени на устранение, а бывают такие, которые могут похоронить ваш проект.

На ход исполнения проекта в основном влияет относительно небольшой набор рисков, которые наступают регулярно, но их постоянно забывают учитывать.

Я приведу несколько из них, с которыми сталкивается каждый:

  • Риск доступности ресурсов — Петр который был нужен Василию очень занят в этот момент, поэтому Василию пришлось ждать;
  • Риск неполноты оценки задачи — при оценке задачи не были учтены все факторы влияющие на её исполнение;
  • Риски квалификации исполнителя — оценка давалась с точки зрения выполнения её экспертом, а фактически её выполнял начинающий что привело к затратам на обучение.

Все эти риски можно свести к одному: Риск точности оценки планирования. Учет этого риска можно выразить в виде «коэффициента точности планирования». Если принять во внимание, что:

  1. принципы оценки объемов работы меняются редко,
  2. команда выполняющая проект меняется редко и
  3. характер выполняемой работы не меняется,

То, полученные расчеты коэффициента за предыдущий этап работ или предыдущий проект можно учитывать при расчете плана нового проекта или этапа работ.

Коэффициент точности планирования рассчитывается на основе истории выполненных работ, как отношение запланированного времени к фактически затраченному времени.

                    плановый_объем 
коэфф_точности = --------------------
                  фактические_затраты

здесь:
плановый_объем — объем работы в человеко-днях
фактические_затраты — затраты в календарных человеко-днях.

Учёт коэффициента точности планирования для оценки запланированного объема работ позволяет более точную дату завершения работы.
Однако если вы просто выполните расчет с учетом коэффициента точности планирования это будет тоже оптимистичная оценка прогноза, она не учитывает наступление самого важного риска: увеличение объема работ из-за неполноты проработки задачи.
Для того чтобы его рассчитать необходимо оценить насколько вырос начальный объем работ относительно фактически выполненного:

                           фактический_объем
коэфф_увеличения_объема = --------------------
                            начальный_объем


здесь:
фактический_объем — объем работы на конец проекта или этапа работ в запланированных человеко-днях.
начальный_объем — объем работы на начало проекта или этапа работ в запланированных человеко-днях.

Сам по себе коэффициент увеличения объема работ является величиной статической, однако если мы примем во внимание, что тенденция к увеличению объема сохранится в дальнейшем, то его необходимо учитывать, как влияющий фактор.

Таким образом, наиболее вероятный срок завершения работы должен учитывать: начальный объем, коэффициент точности планирования и коэффициент увеличения объема работы. Такой такой срок назовем «пессимистичным».

Формула получится такая:

                        начальный_объем 
календарный_срок = ----------------------------- x коэфф_увеличения_объема x неделя
                      коэфф_точности x команда

где:
начальный_объем — начальный объем работы в человеко/днях
коэфф_точности — коэффициент точности планирования
коэфф_увеличения_объема — коэффициент увеличения объема работы
неделя — отношение календарных дней к рабочим в неделю, равно 7/5
команда — количество исполнителей

Таким образом наш пример из предыдущего раздела будет иметь следующую раскладку:

  • ожидаемый план — 9 чел/дней;
  • дополнительная работа — 2 дня;
  • иные риски — 2 дня;
  • фактически потратили: 12 чел/дней;
  • потраченные дни на выполнение начального плана: 10 чел/дней;
  • коэффициент точности планирования: 9/10 = 0.9;
  • коэффициент увеличения объема: 12/9 = 1.33.


Если вернемся назад и сделаем прогноз срока завершения, то получим:
                      9
календарный_срок  = --------- x 1.33 x 1.4 = 6.2 календарных дня
                    0.9 x 3 

Таким образом, наш прогноз показал, что работа займёт неделю.

Если истории выполненных работ у проекта нет, то при прогнозе негативного сценария имеет смысл в качестве рисков на увеличение объема брать 50% объема, то есть коэффициент будет равным 1.5.

Таким образом, при прогнозировании сроков завершения проекта с учетом основных рисков прогноз может быть оптимистичный, без учета увеличения объема работы и пессимистичный с учетом тенденции к росту объема запланированной работы.

Ресурсы те же, проекты увеличиваются


Итак, вы уже научились выполнять оценку наиболее вероятной даты завершения этапа работ. Но количество проектов начинает увеличиваться и за одного и того же исполнителя начинается конкуренция между проектами.

Становится необходимым ставить проекты в очередь и смещать дату начала работ, пока нужный сотрудник не освободится. Например, есть веб-студия, и все держится на одном классном дизайнере, к нам приходит клиент и мы уже готовы утвердить контракт, но встает вопрос «Какие сроки обещать клиенту?», который зависит от ответа на вопрос «Когда освободится дизайнер?»

В нашем случае, дизайнер является ограничением всей системы.

Для того, чтобы ответить на вопрос о доступности дизайнера, необходимо рассчитать для него оптимистичный и пессимистичный прогноз — также, как это делается для этапа работ, но с учётом индивидуального плана задач, в который входят задачи всех выполняемых проектов.

Что по почитать по теме


  • «Экстремальное программирование: планирование» Кент Бек, Мартин Фаулер;
  • Подвижная мишень и дрожащие руки. Максим Дорофеев (слайдкаст);
  • «Вовремя и в рамках бюджета. Управление проектами по методу критической цепи» Лоуренс Лич;
  • Теория ограничений.

Ремарка: люблю чтобы было все в одном месте. Статья была опубликована на хабре 18.11.2014.

Комментариев нет:

Отправить комментарий