INTERNET APPLICATION DEVELOPMENT
MID MARKET ERP DEVELOPMENT
A research report published by the Standish Group indicates that in 2004, 54% of projects were delivered late, 18% failed, and only 28% were delivered on time and on budget. The same report indicates that in 1994, the average project schedule overrun was about 120% and the average cost overrun was about 100%. There is no doubt that to estimate a software project accurately is a challenge for all organizations.
An accurate estimate helps for better budgeting, and comes with additional benefits. Here are a few based on the book, Software Estimation from Steve McConnell:
So in my experience of estimating software projects, I follow a few ideas also from Steve McConnell to make sure the estimate is more accurate.
Here is a link to the full article on the Cone of Uncertainty.
The diagram shows that in best-case scenarios, projects are over-estimated by 20% and underestimated by 25% after the user interface design is complete, which is still manageable. However, if estimating in an early stage, such as requirements, is complete, the estimate can be over-estimated by 33% and underestimated by 50%, which is difficult even for a skilled project manager to navigate a project to completion successfully.
Because the early estimate is always inaccurate, it is obvious that we should estimate the project as late as possible, but in reality, this is a luxury we can’t get in every project. Most clients want at least a ballpark estimate at the beginning to evaluate whether the project can be funded and meets their business goals. To address this issue, the same book presents a method to use a multiplier to compensate the estimate error to get a “most likely” estimate.
Again, keep in mind, this is only the best-case scenario, meaning the actual project can’t be better than this.
3. Include often-omitted activities
In my experience, oftentimes the reason an estimate is not accurate is because of omitting certain activities. When we estimate up front, it seems okay not to include everything, but just the critical tasks. However, these omitted tasks add up to a big amount of effort! Below are some of the tasks that easily get omitted.