Before we consider agile contracting, or projects in general – there is one thing we must start to be honest about.
We cannot estimate a software problem accurately. In fact, our best estimate will most likely have a variance of at least 100 percent. There is a reason why people like Alistair Cockburn calls this "the unsolved problem in software development.
- An upfront estimate replacing a 15 year old system I did with a team turned out to have a scope difference of over 100% in the end. To our help we had really skilled Business people with us all the way. (..we met the deadline and customer was excited but that’s an Agile story).
- Typically the scope ends at 189% of original estimate. (The Standish Group’s chaos report).
- Big upfront design results in over 45% of functionality never used (Scott Ambler , Dr Dobbs journal)
- There is a 10 to 1 productivity ratio between developers. So who does the job has a profound inpact (Software Cost Estimation with Cocomo II)