There are so many questions around agile planning, one of the biggest being: do we need an estimate? Project managers and scrum masters will spend months developing a system either for internal use or for their clients, yet some of them say that estimates are not needed. Some recommend starting the project without an estimate. They say they will see how the first few weeks go before they generate an estimate. Others say not to worry about an estimate at all; they are a waste of time.
The problem with those recommendations is that there are business decisions that need to be made regarding whether or not to even start the project. Reliable estimates for cost and duration are needed to make these decisions. Also, for the projects that do move forward, there is usually limited information available early in the lifecycle, not enough to provide a detailed plan. Product owners need to see the big picture before a reliable detailed plan is generated.
There is also the IT manager that needs to figure out how they will allocate their resources. There is the vendor manager that needs to evaluate multiple bids for a large software system that could cost the company millions of dollars. There is the proposal manager that needs to write a proposal that must be cost competitive to win business. And, there is an annual budget at stake and the CIO needs to know how much money their development organization is going to spend over the next 12 months. You can’t support these decisions in the best way possible without reliable release level estimates.
The best way to support these decisions is to use a good estimation model. These tools can provide valuable insight into what a project should cost, how long it should take, and if the system is going to work. The analyst’s historical data and industry data can be leveraged. A large amount of data is not needed, just the basics like project duration, effort, and size. In addition, there are some models that let you buffer in your uncertainty so you can manage the risk. And the process is repeatable, so if your first estimate is off by 20% you can adjust the model for the next estimate.
Agile promotes the use of good sizing information like the number of user stories, epics, and story points. A good estimation model will leverage that sizing information and provide reliable cost, quality, and duration estimates at the release level. This will bridge the gap between the business side of the house and the technical side. Yes, there is a better way. Including release level estimation as part of the agile planning process can save the company money, valuable planning and development time, and quality.