Pull to refresh

Ход абстрактного проекта в вакууме: модель случайным процессом

Reading time 2 min
Views 4.3K
Всем добрый день. В комментариях к посту Waterfall и Agile: и всё-таки, откуда эффект? были высказаны пожелания помоделировать ход проектов. Сразу скажу, что на большее, чем на статьи в жанре «записки на салфетках» меня не хватает, увы, но тем не менее тема интересная и триальная Wolfram Mathematica доступна и умеет работать со стохастическими дифференциальными уравнениями. Например:
dprogress(t) = plan(t)*dt + risk(t)*dwt
В данном короткопосте будут подставлены конкретные plan и risk. Сразу говорю, особых чудес не будет.

plan(t) — это скорость прогресса по времени,
risk(t) — это (отрицательная) добавка к скорости, призванная отразить задержки в выполнении задач, появление новых задач и вообще всяческие проблемы. Далее риск будет равен -riskconstant * plan(t), где первый множитель, некоторая величина, больше нуля и меньше единицы.
progress(t) — собственно функция, отражающая уровень выполнения проекта (начальное значение 0, нас будет интересовать значение 1, соответствующее ста процентам).

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

Исходя из уравнения очевидный вывод, но на практике… бывает не всегда об этом думают.

Самое интересное — это среднее время, когда процесс выйдет больше единицы. Чтобы посчитать подобное, придется воспользоваться теорией (вот этой).

Перейдем к делу и проведем небольшие исследования. За основу будут взяты четыре функции плана: константная скорость, с линейным ростом, квадратичная функция и квадратный корень.

В таблице приведены скриншоты (триальная Вольфрам Математика обломила с экспортом) результатов для riskconstant = 0.5 и времени для проверки завершения = 1.
Константая функция
Линейная функция
Квадратичная функция
Коренная функция


И какие тут можно сделать выводы? Да особо никаких не сделаешь, кроме того, что управление без обратной связи (то есть без участия progress(t) в правой части уравнения) обречено при наличии рисков иметь задержку в среднем. И да. Куда не сдвигай прирост прогресс внутри проекта (ну то есть изначально риски не перемещай вперед или назад), с вероятностью 0.5 успеешь в плановые сроки (эти 0.5 напрямую никак не связаны с riskconstant = 0.5, в данном случае это совпадение).

CDF (для версии 10.0) можно скачать здесь.

P.S. Найдете ошибки — пишите срочно, пока не закончился триал :) Через три недели карета превратится в тыкву.
P.P.S. Относительно рац. предложений — аналогично: вдруг кто посоветует уравнение с обратной связью какое конкретное, или что-то вроде.
Tags:
Hubs:
+4
Comments 0
Comments Leave a comment

Articles