Tuesday, April 10, 2007
Still in the process of reading Software Estimate by Steve McConnell and I'm still very impressed with the book. One idea in the book is that, as your project proceeds you need to continually re-estimate - you start with a range, over the course of the project the range of delivery time/effort/cost gets more precise and you really know the true effort once the project is complete. I'm in totally agreement with this - HOWEVER - how the hell do you provide a proposal for a project to a client with a range? Internally it's difficult (gee, it could take anywhere from 4-24 months and 2-5 resources to complete)....but when you work with external clients - how do you help them understand and accept? If you provide a range they'll need to know an exact amount (precise but not accurate) so they can plan their budgets - and it would be a very difficult thing to come back every month with a new estimate that could be +/- 200% or more. 'Gee Sue - project X could cost $10,000 or $90,000 - I'll provide a monthly re-estimation until we're done.....'.....
I'm in complete agreement that this is reality - you don't know how long something will take until it's complete (and don't forget the quality factor) - but how can you utilize the estimation techniques to provide a good-enough estimate, one that will not lose you money on the project and one that is not high-above all of your competitors. I guess that's the million dollar question.