4 ms·
I like the term debt because it makes it clear it is something that needs to be paid off and is accruing interest. Meaning the longer we don't pay it the more e
by sirwhinesalot 5y ago
I like the term debt because it makes it clear it is something that needs to be paid off and is accruing interest. Meaning the longer we don't pay it the more expensive it gets, until almost no development time is going to the "principal".
Unfinished does not communicate the same. You can have an extremely clean and polished product that is unfinished. You missed the deadline but you're in a good place to deliver future requests.
- willcipriano 5y agoI have found that the sort of "technical debt" that effects customers has another word for it, a bug. Those issues tend to get prioritized quickly. The other kind of technical debt, that has you working nights and weekends because the system falls over in a light breeze doesn't have a special name. I consider "the system is relatively stable" as a implicit requirement of anything you build, if that requirement isn't hit, it simply isn't done. It probably should go back to the team that failed to finish the work, and the PM involved shouldn't get kudos for it's completion as it isn't completed. I think a lot of the problems with software dev could be resolved by being more honest with ourselves.
- sirwhinesalot 5y agoUnderstood, but in reality the PM is going to get kudos and your complaints that things that were delivered and paid for are "unfinished" are going to be ignored. Devs are pretty honest, management simply does not listen.
- ballenf 5y agoThe one side of technical debt that the term doesn't capture is the quality of life issues involved. It's just misery and pain to work in an org with high levels of debt, even if everyone involved is comfortable with timelines necessary to accommodate it. It's like having a factory with poor lighting or unmaintained equipment that breaks down a lot. There are metaphors that capture that aspect of technical debt better, imo.
- sirwhinesalot 5y agoThat's "paying the interest". Lets say you rush a component of your software out. Every time you make a change it causes massive headaches and issues. Lets say this decreases developer productivity by 5%. Then any new feature that touches that component increases this "interest". You're now losing 6%, 7%, etc. Only on interest. The longer this goes on and the more debt you accrue the worse it gets. Getting debt to have something now that you fully intend to pay back is not a problem. Constantly increasing your debt till you go bankrupt (total rewrite) is though. Problem is management is blind to tech debt. It doesn't show up in their calculations, it's just that thing the devs always complain about but somehow the product still gets delivered, just with more "irrelevant" complaints each time until half the team has quit.
- denton-scratch 5y agoThat makes it sound like technical debt is a financial matter, that it's reasonable to bargain about. It isn't - it's crappy code that is a pain to work with, that will make devs quit, and will cause bugs. I've worked on a project with 200 devs, and one year of rushed history. The entire project was technical debt, which was never "paid off". When I said it needed refactoring, I was told to refactor it myself. After two weeks' work, my effort failed, I got dinged, and my reputation suffered. We didn't have CI, or a test-suite, not even a decent RCS. I didn't have a chance. I should have kept my mouth shut.
- sirwhinesalot 5y agoCode being a pain to work with, causing devs to quit and constantly causing bugs is costing massive amounts of money in lost productivity. Every hour the Senior Engineer wastes putting out fires is $100+ down the drain. Management simply refuses to include these costs in their calculations. We should start keeping track of this time expenditure very accurately and repeatedly show it to higher management: this is how much tech dept has cost this project this month. Unfortunately, they still won't listen. We're just whiny little babies in their eyes.
- lostcolony 5y ago"makes it clear" You assume a lot about management/product there. The term -should- make it clear that debt has a cost to carrying. But the thing is -they aren't paying that cost-. From their perspective, they're getting free money while the devs pay the interest.
- blindmute 5y agoWith the word "debt", smarmy PMs love to say we're "leveraging debt" for some great purpose, as though it's a net neutral or better