Prioritization... technical debt... and fixing things before going up
Setting priorities is a huge part of my business. Any business. It’s all about resources…right?… and how you’re managing them.?
Sometimes it gets muddy. At a startup, you take a lot of shortcuts - you don’t want to overinvest in a product/process/team that may not be successful. Plus, things change, including priorities…constantly. If you are the CFO of a technology company, you’ve probably had a conversation like this - about technical debt.
If you’re making donuts, luckily, this isn’t a priority.?
Software needs maintenance, but it’s also about how it was built. I think about technical debt like a giant skyscraper. It can be similar to a building with a wonky foundation and different wiring and plumbing, all installed by 100 different contractors along the way. It all SORT OF works and may look good from the outside, but it’s not sustainable in the long term.
In the tech industry, engineering teams often start by building something hacky because no one wants to spend a lot of time and money on something that isn’t going to work. But then it sort of works, so you keep going. The goal is to keep going UP.? So you do, and you end up building upon that hacky foundation.
That’s how you end up with a huge skyscraper with a couple of bad floors. As you add more floors, you have to keep going down 15 floors to fix things to continue to grow.?
There you go. Voila. A CFO’s ‘technical’ description of technical debt.?
It’s a big deal. Because when you’re talking about budgeting…or new projects…there’s no way around technical debt.?
领英推荐
What percentage of your resources are you using to maintain the structure? Why does it take so many people so long to make seemingly small changes? How many people are being used for new products? What’s the return on both? Why is the return in [project name] so low?
How are you actually using your money? Arguably, we could use all of it to shore up the foundation of our giant skyscraper. Need to do some work on the side every two years? That’s no big deal. We can manage that AND new technology or a new project. But this isn’t always the case.
When planning for new projects, we need to think, ‘Who owns this?’ Which engineer is throwing their stuff over the fence for another engineer to handle, and how are we prioritizing the new stuff? Because everyone loves new stuff… the view from the top of the skyscraper is amazing, but not if you’re trying to patch the cracks 15 floors down.
So one part of setting our priorities is asking ourselves:? How much are we spending on running the business (part of technical debt goes in here) vs. on the new products (the other part of technical debt does in here)? Because if you think about solving technical debt associated with one project, it's not going to make the cut… but if you fix it once and can amortize that cost over multiple projects … the returns improve.
At Scribd, our CTO DP Suresh limits resource commitment to 20% to maintaining (and upgrading) the techstack. He may want more - but he knows it’s a black hole that could suck down all his resources while getting nothing new done. So, we manage with a fixed % of our resources and dedicate the rest to new stuff.?
And for the new stuff… we look at addressing technical debt that unlocks multiple projects and, as a group, look at their returns.
So, as the CFO, don’t trust that you have unlimited resources and even the ones you have - some of them are already spoken for.
?? Technical Writer & Copywriter | Actively Looking for a Job ???♀?
11 个月Tony, thanks for sharing!
Senior Managing Director
1 年Tony Grimminck Your post was very inspiring. Sharing expertise is always a great way to contribute to the community.
Project Manager
1 年To continue your analogy - what happens when after a period of time you notice during an inspection that your maintenance budget (20%) was insufficient and now the building is not structurally sound? Does all building need to cease until the foundations are sound?
Emerging Products at Adobe
1 年Love the analogy!