Tuesday, September 23, 2008

The inaccuracy of software project estimation

There are still many people that believe a software project can be estimated accurately up front. Industry-wide it is commonplace that costs and delivery dates go well over what was origninally estimated by 200% or more on non-agile projects.

Why?
  • When developers estimate a particular requirement or feature, they seldom think of everything especially on large tasks.
  • Customers seldom think of all the requirements up front.
  • Requirements change throughout the project. With traditional software processes, this is mitigated by change-control, but is this really change-prevention? Is a project really succesful if it delivers what the customer wanted at the beginning, but not what is really needed at the end?
  • Skill levels of BAs vary greatly. Developers can implement a requirement perfectly, but if the requirement is wrong the implementation is useless.
  • Skill levels of Developers vary greatly. It has been documented in many places such as The Mythical Man-Month and Peopleware that good developers can be up to 10 times more productive than average developers and bad developers actually contribute "negative-work" to the project.
If you are in an organization that does not allow agile at this time, but you want to estimate as accurately as possible, I recommend reading a great book by Steve McConnell entitled Software Estimation.

Labels: ,


Comments: Post a Comment

Subscribe to Post Comments [Atom]





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]