165 karma · joined September 5, 2007
His conception of brilliance is different than mine, but there is clarity in what he is trying to communicate.
Essentially, take the gut feeling, double it, double it again, and add an increment.
Example1: gut estimate is "yeah, thats a five hour task".. so, 5 -> 10 -> 20 plus.. oh.. 2 hours, so 22. Seems absurdly large, yes, but factor in all those little thingsl, testing, deploying, etc, and lo and behold, two days plus some is gone.
Example2: Hmm, 2 weeks of solid (40hr week) dev time. So, 2->4->8 + 1 = 9 weeks. Woah, yeah that seems a bit large for project X.. but wait, client drags on assets, unforseen issues here and there, run into a snag for a couple days.. and boom!, almost two months have gone by.
I know it feels dishonest to so drastically overestimate what you Really think it will take, but the truth is the reason there is so much distrust of programmers by business people is that we so consistently miss deadlines. I know the estimate seems huge, but it needs to be, because ultimately it is very realistic, and if you beat it (doubtfully by much), everyone will be happy.
An oversized estimate finished early is better than an undersized estimate finished late. Always.
"This new predictive system is the service-oriented architecture (SOA) I spoke of earlier. We call it that because it serves you and your customers better."
There are alot of really talented self-taught coders out there, but for the rest of us, the breadth of understanding from slogging through those boring lectures on BNF, multi variable calculus, and linear algebra gave us an incredible analytical base thats easy to assume we always had.