The Statistical AutoScheduler is used to build probabilistic plans. Probabilistic plans account for uncertainty in estimating. The Statistical AutoScheduler produces a roadmap of epics as probability distribution:
See it in action with mock data here!
- Loads epics from Jira and writes epic
Start date
andDue date
to Jira. - Supports multiple teams, team velocities, and tracks within a team.
- Specify the probability threshold to adjust to your risk tolerances
- Supports a wide variety of Jira configuration settings
This project is supported by Bitovi, an Agile Project Management consultancy. You can get help or connect on our:
Or, attend our next free & public training.
Or, you can hire us for training, consulting, or program management.
Accurate estimation is hard! But, estimation is important because it helps to know the cost of an initiative when prioritizing it.
Most teams build roadmaps by breaking down the work, getting a single-time (or time-adjacent) estimate of each work item, and sum up the work items to arrive at a due date. These dates never turn out to be accurate. This is for two reasons:
- Getting a single-time-estimate hides the uncertainty present in the estimate. A estimate of 2 weeks of 10% certainty is widely different than an estimate of 2 weeks with 90% certainty.
- Software work has a log-normal blow-up factor that needs to be accounted for.
The Statistical AutoScheduler accounts for both of these points.
Finally, even with improved modeling, a single due date can never be provided. Instead, decisions should be made with an understanding of the inherent uncertainty. The Statistical AutoScheduler provides probabilities over a range of dates. For example, while the average due date is March 6th, there's still a 10% chance the work will extend beyond April 2nd:
Ultimately, using the AutoScheduler provides both:
- More accurate roadmaps
- And, plans that properly reflect uncertainty
... which helps teams make more informed decisions.
The Statistical AutoScheduler loads a list of epics from Jira containing:
- An estimate in story points.
- A confidence from 10 to 100%.
- A list of blockers
- An optional "team". If no team is provided, the epic's team will be the epic's project name.
Then, given the team velocities provided to the app, it:
- For each epic, randomly selects a "work time" based on the log-normal probability distribution of the epic's estimate and confidence
- Schedules out the epics using the following algorithm:
- Identify the longest critical path based on blockers
- Schedule those epics in the first space allotted for the epic's team
- Repeat
- Finally, it repeats the scheduling algorithm 5000 times, arriving at a probability distribution for the work as a whole
For more background, check out:
- Why software projects take longer than you think: a statistical model
- Statistical Software Estimator
The following Quick Start Video shows how:
- 0:10 - Adding the
Story points median
andStory points confidence
fields. - 1:25 - Creating the initial epics we will use for the roadmap
- 1:53 - Adding the
Story points median
,Story points confidence
andStory point estimate
fields to the Epics screen. - 2:43 - Adding
Story points median
andStory points confidence
values to epics. - 4:08 - Connecting the Statistical Auto Scheduler to your Jira instance.
- 4:27 - Exploring the results.
- 5:10 - Configuring the Statistical Auto Scheduler to write adjusted story points to the
Story point estimate
field. - 5:36 - Saving the plan back to Jira
To learn how to use this in context, read the full Agile Program Management with Jira Training.
To use it with its default configuration, you need to create and add the following fields to all epics:
Story points median
Story points confidence
Make sure these fields and the following fields are added to the Epic screens too:
Start date
Due date
Once set up, you just need to make sure each epic has:
- A "median" story point estimate. By default, it's assumed to be the
Story points median
field. - A "confidence" in the estimate. By default, it's assumed to be the
Story points confidence
field. - Blockers on other epics set.
The tool can be used with time-based estimates. You just need to do a little math to determine the velocity.