Or, How to Talk to Your Business-Critter About Technical Debt—erm, Investment
This is a tale of two startups, Tortoise Inc. and Hare Corp. I’m sure you know how this tale ends, and you probably even know why. Or, you might be surprised! Who knows? Anyway, I’m getting ahead of myself.
Two fictitious startups, Tortoise Inc. and Hare Corp., are both building race-tracking software. Both startups are of roughly equal size and strength, and both got started around the same time. Hare Corp. wants to be first to market, but Tortoise Inc. is betting they can win by taking a little longer to produce a polished, high-quality product.
Let’s consider Hare Corp. first. Jessica Lepus, their CEO, made a conscious decision to push hard on customer features, and if there were a few bugs, so what? They got the product into customer hands back in January, and revenue started rolling in long before the VC funds ran out.
But now it’s June, and Hare Corp. has a problem. Animal Bits, Inc. just released their FitCollar tracking device, and it’s literally flying off the shelves. Jessica realizes she will have to add FitCollar support to her flagship product, and Engineering tells her it will take six months to do. There’s no way it will be done in time for the holiday shopping season.
Meanwhile, Tortoise Inc.’s CEO, Leonardo Testudo, realized he would not be able to build a sustainable business without also making a sustainable investment in technology. He chose to focus on a smaller set of features, and emphasize quality. Tortoise Inc. released their product in March, three months after Hare Corp., with fewer features and a nicer interface. Let’s assume that Tortoise, Inc. actually survived, and that — by some miracle — they didn’t run out of VC money before they were able to turn a profit.
Leonardo reads about the new FitCollar, but he’s not worried at all—his engineers tell him they can add support in a little over a month. Suddenly, Tortoise, Inc. is about to have a five-month lead on Hare Corp, and they’ll be able to ride the coat-tails of the holiday shopping season, to boot.
Neither Tortoise Inc. nor Hare Corp. could have known about the FitCollar when they first started development. Jessica made a bet that being first-to-market would give her an advantage. Leonardo, by contrast, bet on high-quality technology — give some ground now so it’s easier to pivot or expand later.
In this case, Leonardo’s strategy won out, but it could have easily backfired. He might have run out of funding, or Hare Corp. could have captured the market so thoroughly that Tortoise Inc. never stood a chance.
I’m more of a technical-critter than I am a business-critter, so I can’t tell you if your company should be the Tortoise or the Hare. But I have seen that a lot of business-critters, wittingly or unwittingly, tend to operate in Hare mode. So how do you convince them to operate in Tortoise Mode?
Stop Talking About Technical Debt
“Technical debt” is not an accurate metaphor. “Technical investment” is much closer to the truth.
Why not debt? Well, you never have to pay it back, for one. When you ship a product with technical debt, that’s it—it’s out the door, debt and all. Absolutely nothing compels you to ever touch that code again (if you’re lucky).
If you’re unlucky, there’s a risk that customers will run into bugs, and you might even have to fix them—or, at the very least, field angry support calls. But that is an investment risk; it’s a risk you (meaning the company) choose to take by investing your time in things other than testing and cleaning up your code smell.
Also, when you “pay off” your technical debt, there is again a risk/reward possibility. There is the risk that your refactoring will introduce new bugs, and there is also the possibility that you will be rewarded by the evaporation of bugs you never knew you had.
There is also the possibility that you will be rewarded the next time you do some feature work and discover that it took one-fifth the time it would have taken before, because you turned that crufty old hodgepodge of classes into a nifty new framework that does all the heavy lifting for you.
So the next time you want to say, “We need to clean up this debt,” instead say things like, “We need to invest in our core technology.” Business-critters love to hear words like “invest”, because there’s a benefit to investment—some time later, you get a nice payoff. “Debt” is just this lead weight you have to keep dragging around until it eventually goes away. Nobody likes debt. (Well, okay, nobody except bankers.)
List Specific, Measurable Benefits
Okay, so you have a positive attitude — you’ve changed “This code sucks!” into “Let’s invest in new technologies!” on your PowerPoint slides (ugh). Now you need to talk about why. Why should your business-critter care?
Well, obviously, because it will make your life easier. But here’s the thing, that’s not good enough. Your business-critter is nice and all, but they’ve got much more important things to worry about — things like where the money to pay your salary is coming from. So you’re going to have to be more specific.
Here are some ways you can be more specific:
- This will reduce the development time of these other things you wanted.
- This will reduce our costs by improving back-end performance, so we don’t need as many servers.
- This will improve the customer experience by reducing page load times, removing steps, etc.
- This will completely eliminate an entire class of bugs.
But wait, you’re not done. You need to give your business-critter some way to quantify the impact your project will have on the business. Your project has to be measurable in some way (just like your code):
- How much development time will be saved?
- How much money will be saved?
- What kind of performance improvement can be expected?
- What is the risk to the customer of hitting those bugs?
Once you’ve outlined the specific, measurable benefits to the business, you’re halfway there.
Characterize the Costs
You can’t just talk about the benefits and stop there—that’s Marketing’s job, and you’re not in Marketing. You need to give your business-critter a complete picture of your proposed technical investment, or they are going to laugh you out of the conference room.
So what’s missing? Cost. And to determine cost, you need to have a plan. You need to know:
- What needs to be done?
- Who will work on it?
- How long it will take?
- How much it will cost?
Again, the answer to each of these questions needs to be specific and measurable, at least within some margin of error. Business-critters generally frown on vague estimates or estimates that are clearly off-base.
When you know the benefits and costs, you’re ready to go! There’s only one thing left to do, and that’s…
Prepare for Rejection
I bet you thought I was going to tell you to assemble a shiny PowerPoint presentation, didn’t you? You can if you want, but you may not have to as long as you know your material. Your Company May Vary.
Still, even if you’ve done a thorough job, you should prepare for your business-critter to say “no”. Sometimes, they will say no for reasons that have nothing to do with your project. It’s possible there are simply too many other projects with higher priorities that need attention.
But if you do get your business-critter to agree, do us a favor and leave a comment?
I’d sure love to know how you pulled it off.