Estimation in Software Engineering
by Siu Lun on May.06, 2009, under Business, Programming
I’ve had to deal with estimated time throughtout my professional life.
Time is quite literally money. Development hours are expensive.
I think only 1 in 5 projects that I’ve estimated is about right.
I used to get hassle by the project managers to decrease the time as much as possible.
But the problem is if I do that then we tend to always over-run a project’s original quote. Then I start to over-estimate / do some form of ‘worst-case’ estimation. The problem with that of course is that the client is less likely to want to proceed.
Whenever I estimate a project however, I used to come up with a guess. I don’t remember how I started doing that, I think I was just told to make a guess when I first started working, so it all started from that.
I’ve always maintained a view however that project managers should be the one who is doing the estimating. It is their responsibility at the end of the day to get that all-important quote right. As project managers they should have been equipped with the skills of project management and part of that always involves time estimation and management.
From my university days I was already told of a number of time estimation techniques. Of course being a student back then I didn’t pay too much attention. Now that I’m working on my own though I’m revising back on my notes and have been doing some readup on those techniques.
The problem is most of them is too mathematical for my liking, as many of them are based on regression statistics. In the end I’ve taken the idea of COCOMO and adapated into my environment and ‘upgraded’ it with more relevant and to-date variables.
I think however estimation for software engineering tasks is almost like trying to predict the future. As such even the best mathematical models cannot really fully account for human errors and tendancies that makes up for the possible delays in a task.
Only if every human being is the same and as hardworking as each other with a gradable skill level can such estimation be accurate.
So how do you deal with estimates and quotes for clients?
I think like everything else that is similar to the trade I’m in. Your services and products is only worth what people would pay for.
So quoting based on time estimates is just not reliable, and if there is a fault, then it is best not to read too much into it, so long as your company has gotten enough money to pay off the bills and wages of the staff. It will only ever be a problem if your quote makes a loss. i.e. your wage bill is greater than the project value. That would be the bottomline.
You can always switch how you charge of course.
Or perhaps change the way how staff are paid?
Hey, it’s a free world, feel free to think and do something different.


