3 ms·
>Software do not have a technical debt problem, software simply requires maintenance. [...] There is no such thing as technical debt. There is work to do, that
by jasode 6y ago
>Software do not have a technical debt problem, software simply requires maintenance.
[...] There is no such thing as technical debt. There is work to do, that we can agree on, but it’s not debt payment.
The "technical debt" doesn't have a 100% universal agreement on what it means and apparently the author has only been exposed to one variation of it and that's what he's rebutting.
Another type of "debt" is caused by programmers writing bad/clunky code (often deliberately) to quickly solve a problem. The wikipedia article mostly talks about this definition of "debt"[1]. The programmers know the bad code will create "debt" that makes future maintenance harder. Example of this tension would be 2 different approaches to adding a feature or bug fix:
- (1) study the code base carefully -- maybe for hours or days -- and then write the properly architected code that makes future changes/extensions easy. E.g. expend the extra brainpower to see if the multiple edge cases or logic spread across files can be unified or simplified.
... or ...
- (2) quickly find the points in source code that seem "obvious" to modify just change it -- sometimes copy-pasting code and duplicating logic if if/then/else or switch/case statements in multiple files. Yes, now the immediate issue is "fixed" but you've simultaneously created "debt" down the road.
[1] https://en.wikipedia.org/wiki/Technical_debt https://en.wikipedia.org/wiki/Technical_debt
first sentence: Technical debt (also known as design debt[1] or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer.[2]