Hammett has a experience he had on a recent post that was refreshing for me to read. I love hearing about real-life experience developers have because I work alone and so am always thinking everyone else out there doesn't encounter the same quandries I do. Software estimation has been one of these quandries for me mostly because of my lack of experience. It is frankly nice to hear that brilliant developers like Hammett have at least somewhat similar difficulties I come across.
Some background:
I work for a firm that has a fleet of project managers doing construction administration and related tasks for the construction industry. What this means is a large number of 'bonified' engineers who are very used to having project estimates and cost proposals that, while subject to change, are expected to be pretty close to the mark. Now, I have been afforded grace by them for my inability to meet the unrealistic expectations ANY new developer would set. You know, it is easy to confuse being able to CONCEIVE of a solution to the problem with the actual IMPLEMENTATION of it, so I would 'paint myself into a corner' with my own inexperience.
As time has gone on, agile methodology has been a pursuit of mine (tho I have very far to go in being consistent with its practices) and I have found that while my short-term (read:iterative) estimation has gotten very accurate (since I try to stay at one-week and two-week iterations of new features), answering questions such as 'Program X which my software is replacing will be totally obsolete in 3 months' has remained elusive.
It is easy to sum up the problem by saying the owners 'don't understand technology or software development' and pretend their expectations are unreasonable, but I think part of our job is to HIDE complexity from folks who don't know software since they otherwise wouldn't need us. Granted, I haven't read the resources I am sure are out there for improving this because frankly I haven't had time and it is difficult to lay down improving my chops at development to improve my chops on giving the people who pay for my ferrari (ok...it's an '85 CJ7) meaningful and accurate answers.
So when my owners look at me from across the table and want answers that they are used to receiving from guys who build roadways and I can mostly just say 'well, in a week we'll have contact group features completed, but I have no idea when you'll be able to cut an invoice', I kind of feel like the guy who has really bad gas and just wants to leave the room as soon as possible.
:)
MIKE