Evening the Odds: The Monte Carlo Technique for Project Forecasting
Agile projects embrace uncertainty and welcome changing requirements over the course of development, so it's no wonder that even experienced teams struggle to make accurate project forecasts. How do you get a sense of your project timeline when you know the least you ever will about it? You can't eliminate the unknowns in a new project, but by using the Monte Carlo method of forecasting, you can work with them. This talk will introduce the Monte Carlo method and how it works. Attendees will learn how to use it to create a project forecast and how to apply it to their work. The talk will address some of the limitations and assumptions built into the method and some techniques for working with (or around) them. Attendees will also get an opportunity to try out the technique themselves using a spreadsheet they can then apply to their real-life projects.
Outline/Structure of the Talk
- What is Monte Carlo
- Method of forecasting probabilistically that takes uncertainty of inputs into account
- Monte Carlo looks at the distribution of past performance rather than the single average measure of performance and repeatedly samples it randomly to create a distribution of future predictions
- You can then make an informed prediction that takes into account your risk tolerance
- How to do Monte Carlo forecasts
- Gather the takt time for the last few stories your team completed - the more the better
- Determine the number of PBIs of your backlog
- For each PBI, randomly choose a takt time from your sample
- Add up the takt times chosen for all the PBIs; this is your predicted complete date for one simulation
- Repeat for a few hundred simulations...
- The rate at which a given date is predicted gives you a measure of how likely you are to hit it - or take a cumulative tally to measure how likely you are to precede it
- Fortunately you can do this in your favorite spreadsheet software
- Partner up
- Google Sheets link - copy to your own account
- Try playing with the various parameters and see how your predictions change
- Practical applications
- Explicit accounting for uncertainty lets you tailor the forecast you communicate to your risk tolerance
- How to use the forecast to drive conversations for the team or with stakeholders
- Limitations & Assumptions
- Need historical data to work with
- Future performance assumed comparable to past
- Yet another reason to keep your teams together and bring work to people rather than the other way around: enables apples-to-apples forecasting
- Helpful to set guidelines for estimation so PBIs don't vary too widely in size
- Product is assumed to be represented by the backlog
- We know this isn't actually the case; Agile comes from the understanding that we'll learn more about the product as we build it
- Ways to build in a buffer: including nice-to-haves in backlog so there's features to trade out; or use historical data on backlog growth
- Or by using some advanced variations...
- Advanced variations
- Use Monte Carlo to predict the size of your backlog from a few sample epics
- Predict how many PBIs will be completed by a given date, instead of date of for a given number of PBIs
- Wrap-up & questions
Participants will learn what the Monte Carlo technique is, how to use it to create a software project forecast, and how best to work within and around its constraints.
Scrum Masters and project managers who need to provide predictability to stakeholders without over-promising or compromising agility.
Prerequisites for Attendees
Attendees should be familiar with the basics of Agile software development (the backlog, grooming, estimating, user stories, etc). There will be an opportunity during the talk for participants to try the technique using a Google doc, which may be easier to do on a laptop, though participants can use a phone instead.
schedule Submitted 2 years ago
People who liked this proposal, also liked:
Emily Harper - Situational Scrum Mastery & The DiSC: Building Winning Teams by Adopting a New ProfileEmily HarperScrum MasterOnShift
schedule 2 years agoSold Out!
Have you ever been the situation where the team you have been asked to lead isn’t responding to your style of leadership? This is likely because your first instincts of what to do are at odds with the team’s maturity level. As Scrum Masters, we must adapt our style of leadership to meet teams where they are in order to aid in their growth. At times, this means going against our basic instincts and changing the way we behave to better serve the team.
This workshop will give an overview of team maturity levels as outlined in the Situational Leadership model as well as an analysis of which DiSC personality profiles are the most natural fit within those levels. If your personality is at odds with the team's needs, you will learn the appropriate style of leading and coaching to better serve them. We will also discuss practices and processes that Scrum Masters can promote at each level of maturity in order to help their teams become more autonomous.