Reduce your project risk! — with Monte Carlo
As project manager you have exactly one goal:
fulfilling the project in the given timeline
That’s the job simplified and ignoring things like budget etc…
So reducing the risks should is elementar. Yeah, cool job but wait a moment what is my project risk to achieve the timeline? — That’s the normal reaction in my personal experience working hand in hand as project manager with multiple companies/team. Everybody knows technical risks, single topics and scenarios — but transfer this knowledge as risk assessment in project schedule is rare (and then you really play roulette)
This I want to change now with the following that you able to understand the project risk and know where a risk reduction is effective.
Starting point: inventory
A project is normally separated in separate tasks by department like research&development or marketing etc.
The interesting point is: by asking an expert about his single task and the potential risk in most cases you getting a valuable answer like “testing in 3 weeks should work but if we have to make a separate loop it will be 5 weeks”.
And if no: Learning from older project and whats went wrong. For example if there is a single task with about 10 weeks — how often finished the responsible department this task in the past exact in 10 weeks?
So starting with a sample project the inventory can lead to
The monte carlo simulation for first task
I created a class for the monte carlo simulation. In this N-times the monte carlo simulation runs
Now create a object for the testing process
The output for the first task is straightforward in clear
Connected tasks
The next task follows and combining probability and duration by hand isn’t easy yet. In Python now the process is pretty simple — create a new object for the report and create the addition of both tasks
Now the result gets interesting
So best case 12 weeks and worst case 18 weeks can be seen without simulation — but have you seen the two steps between 60%-80%?
Parallel tasks
In the project schedule two parallel tasks “Release” and “Product launch” shown. This means a little extra work, but first create the two objects
After this we need a function which takes pairwise the entities of each array and takes the max-value to the summary array
Risk assessment for whole project
Now plotting the risk assessment for your project makes the risk countable
And you know making the project in 21 weeks is a bet with 70% chance.
Comparing the result to usual concepts
To understand the value of this simulation we have to compare it with
- best case: 16 weeks (check, same as simulation but 0% probability)
- most guess (taken the time with most probability: 19 weeks
- worst case: 25 weeks (check, but between 23 weeks with 98% small difference)
Conclusion
To reduce risk in a project schedule means first understand the risk. With a few lines of code a whole schedule can be evaluated.
Here the additional value is clear visible to common concepts and to understand for example two weeks less means only 2% probability less
Follow me on medium for more…