4 ms·
Your bosses might be right. Technical debt, much like regular debt, can also be used as leverage to quickly gain a competitive advantage. While your competitor
by vincentmarle 8y ago
Your bosses might be right.
Technical debt, much like regular debt, can also be used as leverage to quickly gain a competitive advantage. While your competitors are busy refactoring/rebuilding perfect applications without hardly creating any more customer value, the scrappy startup that writes piles of spaghetti code might be building exactly what customers want.
Code quality != business value.
- hackits 8y agoBusiness is mostly a math's problem and most programmers don't really understand why they go to work.
- guiriduro 8y ago> Code quality != business value I don't think that's a given: in some circumstances code quality absolutely is business value. It might be better to say code quality can be, but isn't always, business value. As ever, context is the deciding factor.
- blauditore 8y agoWell, I would say technical debt is similar to the classic kind of debt: It may give you short-term advantage (liquidity), but on the long term, there's interest on it. If not paid off, it grows exponentially. So yeah, technical debt can be used as a tool, but it doesn't come for free.
- williamdclt 8y agoI really don't think so, apart from exceptional case (if you're selling your code to another dev maybe), code quality is never value to the user. That's not to say that good code quality is useless of course, but the usefulness of code quality is not in the business value.
- sudhirj 8y agoTechnical debt is already has similar business concept in "expensive" money - Funds that you raise from VCs while in distress on bad terms because there's no other way to do what needs to be done fast enough. Programmers paid with expensive money trying to argue that they need more time to write high quality code because 'future' will seldom win that argument.
- rlkf 8y agoI think this is actually a better analogy than debt (notice that equity and debt are on the same side of the ledger); just as future valuation of the company is uncertain, so may also be the business value of the quick hack. I.e. in the same way that a certain VC investment may or may not be wise, the quick hack has the same uncertainty attached. Add to this that the business people may have a bad grasp of the true cost of the hack, and the developers little insight into the business value of it, you get the current situation.
- mikekchar 8y agoWhile this is clearly true (and is exactly what was being described when "technical debt" was coined), the unfortunate reality is that we often take on huge amounts of technical debt in order to fund the equivalent of pizza parties. Having eaten all the pizzas, we then have to pay back the debt and frequently the company can't afford it. This is one of the reasons why you must not fear the refactor. Sometimes you need to get that code out the door because the business requires it. Then you need to pay back the debt -- by refactoring that mess every time you touch it in the future. There is no such thing as "technical inflation" to magically wipe away our debt. It's important to have good lines of communication so that the business doesn't get used to squeezing development in order to eat pizza (because, why not? It's free!)
- varjag 8y agoAnd when you clearly see that the whole product was a dead end, you can default on your technical debt. Saving you untold man hours.
- rimliu 8y agoThis view has a danger that some understand this as "you never have to pay your debt back". But if project lives long enough to be successful you end up painting yourself into the corner where you cannot change a single thing without breaking something.
- tomelders 8y agoPiles of spaghetti code will give your customers what they want today, but rob them of the features they want tomorrow and make every future feature orders of magnitude more expensive to develop than they should be. That's the interest you pay on Tech Debt. Much like regular debt, if you don't repay it, you go out of business and end up penniless.
- dalore 8y agoWhat tends to happen in reality, after the code gets 7-8 years or more long and it's always been piecemeal and spaghetti code then each change is exponentially more difficult to make. There is the story by Robert C Martin about the company that made a really good C debugger back in the day. Then C++ came out and the company promised to make a version for it. Well months came and went and eventually they went out of business. Because the first version of the debugger they wrote was awful code it made changes really hard to mark and so they couldn't adapt to the changing market.
- Ace17 8y ago> Technical debt, much like regular debt, can also be used as leverage to quickly gain a competitive advantage. Unlike regular debt, technical debt is extremely hard to quantify. You can't balance a business strategy if you can't estimate how much you're going to pay.
- waynecochran 8y agoAmen. Good enough working code gets your foot in the door. You pay later, but at least there is a later.