3 ms·
Here's the thing, estimating software development time is essentially equivalent to estimating time to think + overhead. Overhead includes actually typing the
by swalsh 13y ago
Here's the thing, estimating software development time is essentially equivalent to estimating time to think + overhead. Overhead includes actually typing the code, booting the computer, dealing SVN issues, etc. The overhead is relatively consistent, and can be minimized and predicted. Time to think is highly variable. Previously I used to work for a consulting company. After about a year of working there the company started to settle in a particular niche. We built libraries to do things, then we just started to churn out work. Predicting development time became an exact science, because all we had to do was estimate overhead. There was very little new things, so time to think was minimized to nearly nothing. I hated working in a code factory, so I left for greener pastures. The new place has a lot of new things, trying to fit it together is a real challenge, and requires thinking. My estimates are no where near where they were at my old company.
My main point is this, estimating software time is hard because you don't know what you don't know. If you can solve that problem, you solved one of humanity's greatest challenges.