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.
- 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.
Subscribe to Posts [Atom]