I don’t get the term ‘technical debt’. Most people seem to use it to say “We took shortcuts previously, so now we need to go back and do things properly”.
FIrst, it’s a bad metaphor. You take on debt to invest in long term things that will provide future benefits. Telling the bean counters that you need to stop working on useful features to ‘pay back technical debt’ is not making things clearer to them.
Second, you write software, what the heck are you talking about? Compare to civil engineering. If an area gets busier and the existing narrow wood bridge is no longer suitible, engineers don’t say “Wow what idiots built this road with no eye to future growth?” It was built with the needs and resources of the time. To improve it, the bridge needs to be closed, demolished, and rebuilt with planning, labour and materials.
Instead software is empherial. You don’t need to demolish what’s there. No need to build temporary alternative infrastructure. No need for new materials and disposal of the old. It’s just planning and labour to redo a piece of software. It always seems so whiny when people complain about technical debt, as if switching to a different build system is anywhere close to the difficulty of fixing real life; replacing lead pipes with copper for an entire city, or removing asbestos from buildings.
I don’t get the term ‘technical debt’. Most people seem to use it to say “We took shortcuts previously, so now we need to go back and do things properly”.
FIrst, it’s a bad metaphor. You take on debt to invest in long term things that will provide future benefits. Telling the bean counters that you need to stop working on useful features to ‘pay back technical debt’ is not making things clearer to them.
Second, you write software, what the heck are you talking about? Compare to civil engineering. If an area gets busier and the existing narrow wood bridge is no longer suitible, engineers don’t say “Wow what idiots built this road with no eye to future growth?” It was built with the needs and resources of the time. To improve it, the bridge needs to be closed, demolished, and rebuilt with planning, labour and materials.
Instead software is empherial. You don’t need to demolish what’s there. No need to build temporary alternative infrastructure. No need for new materials and disposal of the old. It’s just planning and labour to redo a piece of software. It always seems so whiny when people complain about technical debt, as if switching to a different build system is anywhere close to the difficulty of fixing real life; replacing lead pipes with copper for an entire city, or removing asbestos from buildings.