4 ms·
I used to estimate small websites (<70k lines of PHP), and generally got to around 30% of the final time required. My method was to fully describe the product,
by wildgift 13y ago
I used to estimate small websites (<70k lines of PHP), and generally got to around 30% of the final time required. My method was to fully describe the product, then break it down into tables, queries and pages. Estimates were based on the previous project's stats and final times required. (My constant used to be 3, but technology changes altered the numbers.)
The big unknown - and the highest risk - was managing integration between external systems, or doing complex integration between internal systems. Anything that might benefit from aspect-oriented programming, like access control lists, or a more elaborate front-controller, or universal exports in json format, or a new paradigm like AJAX, would be difficult to estimate.
That fits your breakdown of projects into linear parts, and exponential parts.
Anyway, my estimates were good, but my business management was not - I was always in learning mode because I never studied business and had no experience. So I went W-2 and went into a different field because an opportunity to learn politics emerged. What's interesting is that successful political campaigns are entirely about estimating and budgeting, in real time more or less - you spend money and see results day by day, or after a couple weeks. It's driven by statistics (and messaging). I just watch from the sidelines, and don't do politics, but I think we could learn something from it. It's more like agile XP than waterfall.
The Obama campaign was XP, by necessity. The Healthcare.gov website thought it was waterfall... again by necessity.