I've met people who claim they can estimate software, but I don't know how they do it. Neither have any of them been able to explain how they do it.
As a consultant, my clients often require me to work on a fixed-bid basis. Thus I need to estimate so that I can prepare a realistic bid. I have never once succeeded at this. One would think I would overbid as often as I underbid, but that is never the case. The result is that I often lose a lot of money on my contracts, and end up earning a lot less than I would if I were working for a company as a regular employee.
I've been searching for many years for a book that would teach me how to estimate software, but I have yet to find one.
As for explaining this to someone who is not a coder. You could point out that no one in the industry is consistently able to meet their estimates. It happens all the time that new software products are preannounced, only to ship months or years after the date that was originally announced.
If a big company like Microsoft can't figure out how to estimate the time that goes into producing its own products, how can I?
Whether I'm being paid by the hour or by the job, my clients always expect me to provide these estimates. I don't know how they expect me to produce them when such estimation is not taught anywhere, and I have no rational basis for my estimates.
4Curious: why is it your job as a junior developer to be explaining this to non-software developers? Is there someone in your work group or management chain who can help you with the process of convincing whoever it is you need to convince? – Alex Feinman – 2011-08-22T21:10:04.143
@Alex: No, it's not a person in the same company. Just a person with ideas to do a startup. And I'm the only developer he has contact with. – Jonas – 2011-08-22T21:12:33.080
1
Related: Getting non-programmers to understand the development process
– None – 2011-08-28T19:13:26.1872
Related: Sales Manager: “Why is time-estimation so complex?” See also How to respond when you are asked for an estimate? and How to learn to make better estimates? and What can I do to get better at estimating how long projects are going to take?
– gnat – 2013-05-22T04:59:04.040see also: How to explain to a non-technical person why the task will take much longer than they think?
– gnat – 2014-03-23T07:05:44.117