Forecast - don't Estimate - your Software Projects!
Estimating completion of software deliverables has remained a challenging task, so much so that Agile teams are for the first time being encouraged not to estimate! The #NoEstimates movement has gathered a sufficiently large following to educate anyone in the field about the challenges in this field.
The fact is that estimating completion dates/ effort/ cost of software deliverables is hampered by the impact that (what can only be termed as) "Life as usual" has on the delivery capability of software teams. It has been demonstrated time and again, that it is not the size of the task but the throughput of the workflow that determines when a piece of software will be delivered. The typical challenges that a software team faces include interrupts, revision to priorities, failure demand (also known as defects), hand-offs, external dependencies and other causes leading to expected and unexpected wait times and the consequent low flow efficiency of these teams.
However, Management and Customers still need a realistic and reliable answer to the question "When will this be delivered?"! How do we answer this question?
Fortunately, Kanban provides some solutions. Using even very small sets of their own performance data, and statistical simulation and modeling, software teams can reasonably accurately predict what they can deliver and when. And in the process, provide their stakeholders the ability to reprioritize (up to the last responsible moment!) what they'd like the team to deliver.
In this talk, we will cover some basic and some advanced techniques to help teams understand what effect their workflow structure has on their delivery and how they can collect their performance data to start doing simple - and fairly accurate - forecasts of their delivery performance.
Outline/Structure of the Tutorial
The session will have the following structure -
- Introduction to Estimation Challenges/ Failures of Software Projects
- Introduction to Value Streams and Flow in a typical software delivery system
- Overview of common causes of delays in delivery and impact on Lead-time and Flow Efficiency
- Basic forecasting using the Cumulative Flow Diagram/ Little's Law
- Introduction to Monte Carlo Simulation and Advanced Forecasting
- Data collection techniques for Forecasting
Attendees will go away with -
- A better understanding of key factors affecting software delivery lead times and why "estimates" go awry
- Understand of Specific tools and techniques to collect data and make specific measurements to track their performance
- Use their performance data to forecast future delivery
Project Managers, Business Managers, Business Unit Managers, Delivery Managers, Quality/ SEPG Managers
Prerequisites for Attendees
- Basic understanding of software project delivery challenges
- Basic understanding of estimation of time/ effort in the context of traditional and agile software projects