At Turtle Creek Carpentry, our first construction estimates were based on simple rules of thumb. E.g. for house painting in the mid-1970s, we figured $100 per side (labor only), $10 per window or door, and scratch-your-head extra for wide eaves, porches, and anything else unusual. That kind of math was reasonably accurate, quick to calculate, and easy to remember. It worked well enough for estimating simple construction projects like painting, roofing, storm windows, and the like.
Unfortunately, rules of thumb didn’t scale up so well for larger, more complex projects. Those required much more time and math. Bids took days or even weeks to prepare.
When Turtle Creek computerized in 1986, the first task was to set up construction estimating templates. It took a few months to assemble rules of thumbs and actual calculations into a spreadsheet. When it was done, the results were amazing. Bids took 1/5 the time to prepare, and they were much more accurate. It probably worked so well because construction work is tangible and repeatable. That makes it relatively easy to turn construction details into data and formulas.
Unfortunately, many other project types are not so tangible, or not so repeatable. For those, it is much harder to calculate time or cost in advance.
For example, in 2011 the SpaceX Falcon Heavy was first predicted to launch in late 2013. It actually flew in early 2018. Completely-new stuff is just plain harder to estimate. We face the same uncertainty when trying to estimate our own software projects. It’s also an issue when we try to expand our estimating approach to industries other than construction.
Since we evolved from rules of thumb to serious math in our construction estimates, maybe it’s worth following the same path for less tangible estimating. For “fuzzy” projects, there do exist some “fuzzy” rules of thumb.
On the pessimistic side, one rule is “it always costs twice as much/ takes twice as long as you expect”. Or even more pessimistically, you can add “even when you figure it will take twice as long as you expect”. That rule certainly applies to my bold prediction on Jan 11 that we could start using a beta version to run TurtleSoft in “a month or possibly two”. Doubling that seems much more reasonable. Quadrupling it? Probably not, but it’s certainly possible.
For software, a similar rule of thumb is the 90/90 rule. It goes “the first 90% of the project takes 90% of the time. The last 10% of the project takes the other 90% of the time.” This definitely applies to the layout view. After 2 weeks work, it’s now doing most of what a simple drawing program needs. It looks pretty far along, but there are many small details that will easily take another 2 or 3 more weeks. The original estimate was a month for the Mac version, and so far that looks accurate.
On the optimistic side, sometimes projects go faster at the end. It certainly applies to jigsaw puzzles, Sudoku, and computer sorting algorithms. To some extent, it also applies to software projects like Goldenseal Pro. Our work started out very slowly, because of the ‘learning curve’ for new languages and libraries. Productivity has increased dramatically since then, and will keep increasing as we near the end.
There are also sound mathematical reasons to plod at the beginning, and rush at the end. You can use the same math as for project financing. Interest cost = amount * duration * rate. The more spending you can delay to the end, the shorter the duration, and the cheaper it is.
Similar logic applies to risk and the ‘opportunity cost’ of labor. Procrastination pays off, if applied correctly. For just that reason, our staff will be increasingly motivated, as we get closer to finishing. When the end is in sight, it’s easier to put in extra hours.
Dennis Kolva
Programming Director
TurtleSoft.com