How long will it take you to make dinner? You can probably intuitively think of a range, but we'll use all those details to explore how DartCannon can help navigate complexity to improve conversations.
While this example is for a somewhat made up example, the process is the same for any type of project.
- Identify tasks and Risks
- Set up dependencies
- Estimate amounts for each task and probability for risks
- Run the simulation and establish targets based on results
- Track actual amounts and amount remaining vs. targets
If you haven't already, it is worth reading through the Getting Started Tutorial as the basics of the approach are covered more completely there.
Each task has a 3-point estimate of low, high, and most likely durations. Tasks are things you are confident will have to be done and have some amount of uncertainty. Tasks also may have predecessors that must complete before they start.
Risks account for changes to tasks but are uncertain if they will occur. For instance, if you have as a task "Acquire raw materials", you may have a risk of the materials being out of stock, adding additional time beyond the normal range of uncertainty.
For this example, lets say we're launching a new version of a software product. In this highly simplified example, there are three activities before we can hit "go" on the launch:
- Develop a new feature
- Test the changes once the development is complete
- Prepare the marketing materials
In addition, in this case there is also a potential partnership which, if is materializes, will add to the time required to develop the marketing materials.
As this is a small iterative release, we'll assign the following ranges:
- Development: 2 to 4 days, with 2.5 most likely
- Testing 1 to 2 days, with 1 most likely
- Marketing materials is 2 to 3 days, 2.5 most likely
- The partnership has a 50% likelihood, which would add 1-2 days to the marketing effort, with 1 day the most likely
Putting this into DartCannon should look like this:
Running this simulation with 10,000 runs provides a result that looks something similar to the following:
Remember, your results may look slightly different as simulations depend on randomness. We can also see the ranges, here we've changed to left-hand probabilities to emphasize how early we can expect to complete.
There is also a sequence diagram, showing the network of activities that make up our project.
So seeing the range of outcomes, we can now have discussions around where goals should be set based on our risk tolerance. For instance, we may want to use the following levels:
- 25% - A conservative number used for accounting purposes
- 50% - The internal goal
- 75% - The target for bonuses
Remember that if the estimates are entered honestly, the ranges are based on uncertainties, so having a goal at 50% may still be fairly aggressive. All of the quantities are based on the
Project Settings and Tracking a Target
Projects have a number of additional settings to ensure that our results match our expectations. Simulation settings and properties are found in the simulation menu.
This opens a dialog with all the properties of the simulation.
Most fields are fairly self explanatory, there are a few which could use some explanation
- Calculate Schedule - If checked, uses the simulation, time unit and other parameters to calculate and actual date and time for completion rather than just a duration.
- Start Date - When the project should start, assumes it starts at the beginning of the day.
- Target Date - Calculates the chance of going over the target date if set. The Target Date is set to the Start of Business, so if you want a project to finish by the end of a particular day, set the target date to the next day.
We'll set these as follows:
Tracking a Target
Now we've put in a start and target date, the simulation itself hasn't changed, but there are a few new features in the display.
Most obviously bars are color coded based on which day they fall in. This will auto-adjust based on the units used, so if you have a schedule that has a range of many weeks, the distinction will use weeks rather than days.
Also of note is the target is now drawn on the chart. If we hover over the bars we can also see the date and time for any given outcome.
The ranges has also updated to to show dates and times instead of days:
One big note here: the math calculation is fully precise, giving dates that show down to seconds. Unless you are actually making a plan with a date unit small enough for seconds to be relevant, this may not be appropriate for reporting. Remember, any simulation requires some degree of interpretation and human analysis.