We speak to a number of scrum masters, project managers, and CIOs each month. QSM does research on software development projects - all types, including agile and waterfall. We work with a huge database of completed software projects, updated with new industry data on a regular basis. We provide predictive analytics and we study cost, schedule, risk, quality, size, resource demand management, business intelligence, and vendor management.
Within the last couple of years, we have been hearing some agile managers say that there is no need to estimate agile projects. They say that they are managing in smaller increments or sprints and that they already know how much velocity can be achieved. They also say they are constantly “grooming the backlog” so there is no need for a formal estimation model to forecast the amount of work that needs to be done. They are managing at the sprint and task level so they feel like they have everything under control.
The bottom line is that agile projects still need to be estimated to see the big picture: the release estimate. It's essential to know the release cost and effort before the project plan is handed off to the scrum master and before committing to the customer. The negative feedback we hear regarding estimation is somewhat ironic because agile processes actually lend themselves very well to formal estimation since they promote the use of size measures like user stories, story points, and epics. Having good size information is a big part of estimating successfully.
The release estimate is also an important part of demand management and capacity planning, especially if you need to evaluate a portfolio of projects. It's also necessary to define the minimum marketable features as part of an early reliable estimate. If you don’t know the cost to build these features, then you won’t know if building the system is feasible. Most importantly, there is an executive team that needs to know what to budget on an annual basis for the overall software development costs. You can’t figure out an annual budget without knowing the forecasted cost of your releases.
You can see from the SLIM-Estimate chart below that a typical agile model of a project release is shown. You can see the two curves showing that requirements work and development overlap. This type of empirically-based analysis helps us figure out when the total release is going to be delivered. These models can be tailored to specific project environments.
Estimation and demand management are alive more than ever with agile projects. It's imperative to have a reliable way to see the big picture before you start your detailed planning.