No matter the size or scale of your software projects, you likely rely on one or more third-party vendors to get the job done. But, if you’re not writing quality criteria into your contracts, you might be stuck overpaying when they under-deliver.
If your third-party developer failed to deliver to an expected standard, it would be fair to expect them to cover the cost of the rework, right?
People like to say you get what you pay for. In my experience, that’s rarely the case. Whether I’m buying an expensive gift on sale or just finding a high-quality item at an unbeatable price, I pride myself in getting more than I pay for.
But I’m talking about material goods. When it comes to third-party software developers, it’s a different story entirely. Just getting what you paid for is hard enough.
That’s because everything comes back to quality. It doesn’t matter if you’re hiring a low-cost offshore development firm or a high-cost domestic team, you expect a certain level of quality in the services and software they deliver. Project plans will often account for some level of rework; but if the software quality is lower than expected, additional rework will be needed—throwing the entire initiative off schedule and over budget.
Now, if your developer failed to deliver to an expected standard, it would be fair to expect them to cover the cost of the rework, right? Why should you have to overpay because they under-delivered?
If that sounds like it’s too good to be true, that’s because it often is. Unfortunately, if you don’t write measurable quality expectations into your contract, you’ll more than likely be footing the bill when your developer doesn’t meet them.
Take the tale of the Glitch(es) That Stole Christmas, for example. A past client of ours was building a brand new eCommerce site, and had outsourced development to an offshore company that claimed to be CMMI-5. However, when the client started reviewing the developer’s code, it was riddled with defects—far more than their CMMI level would have suggested—so they called us in to take a closer look and find out what they were really dealing with.
Given the defects we were already aware of, we analyzed the developer’s code as if it came from a CMMI 3 organization, instead of a CMMI 5. That was far too optimistic, however. We found more than five times more defects than our “conservative” estimate suggested.
In the end, the delays and rework forced the client to delay the release of their new site by a year—costing them $150 million in opportunity cost.
Those costs are nothing to sneeze at, but the saddest part of the story is that, had they reached out to us before they signed their contract, we could have helped insulate them from the brunt of their rework cost. By analyzing the scope of the project, we could have estimated the number of defects a CMMI-5 developer would typically inject—and written stipulations into their contract to make them responsible for all rework that exceeded that threshold.
That’s not an isolated incident or anything, either. A few years ago, we were helping a retailer negotiate contracts for a custom software project when we discovered their primary developer was trying to overcharge them by $10 million!
So just remember: when it comes to software development vendors, it isn’t impossible to get what you pay for—and even more than that sometimes. You just need someone who can see what others don’t—and we’re always happy to help with that.