- PVSM.RU - https://www.pvsm.ru -
Каждый раз, когда я смотрю на диаграммы Ганта [1 [1]], меня мучает один и тот же вопрос. Как? Вот как можно быть уверенным, что ресурс А, выполнит задачу Б за 5 дней? Нет, я понимаю, что есть исторические данные, есть, не побоюсь этого слова, статистика. Но вот как можно на основе всего этого делать уверенные прогнозы? Я не понимаю.
Если для вас термины «взаимозависимость событий» и «статистические отклонения» говорят что-то не только по отдельности, но и в совокупности, то статья вас вряд ли заинтересует. А вот если эти термины, употребленные в одном контексте, не говорят вам в чем проблема диаграмм Ганта, то приглашаю под кат, где на простом примере мы это и обсудим.
Для примера возьмем небольшую компанию, которая занимается разработкой веб-проектов. Работает компания уже давно, поэтому будем считать, что даже статистика по выполненным проектам за достаточно большой период у нас есть. В компании, с целью повышения эффективности, есть разделение труда. Поэтому процесс выполнения заказа состоит из четырех этапов: заключение договора с заказчиком, разработка дизайна, реализация проекта, внедрение.
Для демонстрации будут сделаны следующие предположения:

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

На данной диаграмме выражено классическое допущение, что отставание одних этапов, компенсируется опережением других, в среднем то – пять дней. Но есть один маленький нюанс. Какой? Давайте покажу на примере. Начнем с первого этапа.

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

Обратили внимание, что вместо тридцатого рабочего дня, второй этап пятого проекта закончился на тридцать третий рабочий день? А тут еще и страшный сон «менеджера» вырисовывается: 13, 14, 18, 19, и 20 рабочий день сотрудникам нечего делать. Ну и последняя картинка:

Именно сейчас у читателя должна появиться мысль: «Да он просто пример такой подстроил!». К сожалению, не подстроил. Проведя моделирование 1000 раз, даже в таких тепличных условиях, с математическим ожиданием на всех этапах в 5 рабочих дней, вероятность завершения проекта в зависимости от дня выглядит так:

Да, наиболее вероятное значение 44-45 дней, но давайте построим еще и график, какова вероятность завершить проекты к заданному дню:

К сороковому дню, вероятность завершить проекты примерно равна 10%. К 44-45 дню вероятность завершить все проекты составляет всего 50%. Т.е., если мы согласны обманывать заказчика по срокам не чаще, чем один раз из пяти, то надо брать 80%, а это уже 48 день. Получается отклонение от первоначального плана в 40 дней на 20%. И это в условиях сбалансированной системы, с предположением, что все проекты одинаковы.
Ситуация чуть улучшается, когда у нас вероятность завершения распределена по нормальному закону. Например, при математическом ожидании равном 5 и дисперсии [5 [5]] равной 0,5. В этом случае вероятность завершить этап в один из дней от 3 до 7 будет распределена следующим образом:

С таким распределением вероятность завершения к определенному дню будет иметь вид:

Ситуация улучшилась. В запланированные 40 дней, мы будем успевать уже с вероятностью 30%. А к 43 рабочему дню вероятность составит 80%. К сожалению, в реальных проектах такая дисперсия может быть только при очень высокой повторяемости. Например, на сборочном конвейере. При разработке программного обеспечения дисперсия будет значительно выше, т.к. проекты в большинстве своем уникальные и разброс трудозатрат на них может быть весьма велик.
Ну и завершая, маленькая зарисовка для привлечения внимания к следующей статье. Как вы считаете, что произойдет с «идеальной» диаграммой Ганта, если на первом, третьем и четвертом этапе сдвинуть математическое ожидание на 4, в на втором этапе на 7. Т.е. три этапа будут быстрее в среднем на один день, а один этап длиннее на два?


P.s. За вычитывание и советы по статье большая благодарность Андрею Потапову и CrazyViper [6]. С днем программиста вас и всех читателей !
http://ru.wikipedia.org/wiki/Диаграмма Ганта [7] [к тексту [8]]
http://ru.wikipedia.org/wiki/Непрерывное равномерное распределение [9] [к тексту [10]]
http://ru.wikipedia.org/wiki/Нормальное распределение [11] [к тексту [12]]
http://ru.wikipedia.org/wiki/Математическое ожидание [13] [к тексту [14]]
http://ru.wikipedia.org/wiki/Дисперсия случайной величины [15] [к тексту [16]]
Автор: Teacher
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/matematika/43224
Ссылки в тексте:
[1] 1: #forw1
[2] 2: #forw2
[3] 3: #forw3
[4] 4: #forw4
[5] 5: #forw5
[6] CrazyViper: http://habrahabr.ru/users/crazyviper/
[7] http://ru.wikipedia.org/wiki/Диаграмма Ганта: http://ru.wikipedia.org/wiki/Диаграмма%20Ганта
[8] к тексту: #back1
[9] http://ru.wikipedia.org/wiki/Непрерывное равномерное распределение: http://ru.wikipedia.org/wiki/Непрерывное%20равномерное%20распределение
[10] к тексту: #back2
[11] http://ru.wikipedia.org/wiki/Нормальное распределение: http://ru.wikipedia.org/wiki/Нормальное%20распределение
[12] к тексту: #back3
[13] http://ru.wikipedia.org/wiki/Математическое ожидание: http://ru.wikipedia.org/wiki/Математическое%20ожидание
[14] к тексту: #back4
[15] http://ru.wikipedia.org/wiki/Дисперсия случайной величины: http://ru.wikipedia.org/wiki/Дисперсия%20случайной%20величины
[16] к тексту: #back5
[17] Источник: http://habrahabr.ru/post/193592/
Нажмите здесь для печати.