Why Software Estimates Stink

When a builder prices a custom home, he looks at all the pieces. He considers the concrete, lumber, plumbing, HVAC equipment, wiring, etc. — all the way down to the bathroom fixtures.

Why don’t software builders have the same level of accuracy in their build estimates?

Well, we could talk about how houses are assembled from well-known components available from multiple vendors. Or we could examine the amount of time and discipline that the housing industry enjoys, which dwarfs the software industry.

A major issue for software buyers is that they cannot easily describe the size, features and quality of the “house” they want. They offer desires like “fast” and “easy to use” and talk in vague terms about “order entry” and “shipping” functions. Likewise, the builder can rarely walk them through a software “model home” to demonstrate the ammenities available and their cost.

The benefit that a home builder has in approaching estimation with confidence a proven instrument of clarity and decision-making: a blueprint.

The heart of a software blueprint is the Features List — the list of what is to be built. If this list is broken down into estimatable units, the builder has a fair chance to give a price that is meaningful.

What is an estimatable unit? Think in verb-noun pairs like this:

  • Add Customer
  • Delete Order
  • Find Vendor
  • Update Order Status

When a complex subsystem like “Order Entry” is broken into smaller parts like this, both the buyer and the builder can see what is being estimated. Clarity like this produces confidence that the estimate has value — and the buyer can budget for success.