When you go shopping for a car or TV, you probably know about how much it’s going to cost. For example, if you walk around a Lexus showroom, I’d bet you can guess the price of each car within 20 or 30 percent.
Wouldn’t you be shocked if you looked at a car that you thought cost around $50,000, only to find that it’s half a million? Or if you estimated that a TV would cost $2,000, then discovered it was $20,000? Being off by an order of magnitude (10x) in your price expectations doesn’t happen very often.
In custom software development this level of sticker shock happens all the time. When people call us to discuss their project and the topic of budget comes up, their expectations are sometimes off by a zero. Where they expected the cost to be $5,000, we need to tell them that it’s 10 times more. Sometimes people even argue with us, saying that it can’t possibly cost that much.
Why are they so far off?
- Maybe it’s because people are used to getting great package software at very low cost. Why should they pay tens of thousands of dollars for a custom system when they can buy QuickBooks for $200? They don’t understand that Intuit sells millions of copies of their program, but custom software only has one customer to foot the bill.
- Or maybe it’s because there’s so much “free” software out there. Facebook is free, right? As I used to tell my kids, it’s not free – it’s included. Facebook spends millions on building their web site, but you and I don’t have to pay for it directly – they earn their revenue in other ways, like advertising to us.
- I think the real reason is a combination of two things – custom software development is something that is rarely purchased and poorly understood. If it were a common purchase, customers would learn from previous experiences (or from other people) how much it typically costs. And if more people knew the actual effort it takes, they would have a better idea of how much time, experience and dollars are required.
We try to educate our customers about what it takes to build a custom system. How we will design and build everything to meet their specific needs. How everything has to be tested to make sure it works properly, and supported over time to make sure it continues to do the job. How they’ll have a unique system that does exactly what they want. How they’ll be able to modify and enhance it on their own timetable.
Until more people understand why there’s often one more zero than they expected, we’ll continue to explain it as clearly as we can.
For a German version of this article, please see Olaf Nöhring’s translation.