Project manager: "What's technical debt? Explain it to me like I'm 6 years old"
Devs:
(source: "Richard Scarry's Storybook Dictionary" : https://archive.org/details/1scarryRichardStorybookDictionary/page/n56/mode/1up )
Project manager: "What's technical debt? Explain it to me like I'm 6 years old"
Devs:
(source: "Richard Scarry's Storybook Dictionary" : https://archive.org/details/1scarryRichardStorybookDictionary/page/n56/mode/1up )
That's actually kinda spot on.
Even better, water cooling!
@pierstoval My PM says:
How can we move the house to a country that doesn't rain then?
@pierstoval while the image is funny, it's not really technical debt, it's just bad planning.
Technical debt is covering the hole with newspapers to keep out a drizzle, knowing full well it won't stop a rainstorm that will happen eventually
I always say:
It was called technical debt back then.
Now it's called financial risk.
We should estimate the cost of delay p.a. and the probability of occurance.
@pierstoval @anthonywilliams I don't think that this captures that it is more about making future modifications more difficult rather than a direct problem. A hole in a roof is a bug. Technical debt isn't a bug, but it can make avoiding bugs more costly.
I think a better ELI5 would be "technical debt is like buying cheap scissors. They're cheaper, and they might *work*, but they're going to make building your next arts and crafts project more difficult"
True. Originally Technical Debt was about making a choice to do something cheaper/less well now for some benefit (e.g. time to market), and defer the cost of that until later.
These days it is often used to mean something that is less than ideal about the current codebase, so a leaky roof could be a more reasonable analogy.
I like the cheap scissors idea though
@anthonywilliams @pierstoval A leaky roof is a suboptimal thing but it's also customer facing, and technical debt isn't.
How about something like a fleet of unreliable delivery vans. The folks doing the deliveries are going to have to move things around more to transfer into working ones when something breaks but the packages can still get delivered on time.
@anthonywilliams
It isn't always about doing something cheaper/faster. It is often about aging out technologies. For example moving from PHP 5 to PHP 7 or moving from MySQL 5 to MySQL 6. Technical debt comes in many flavors and starts as soon as you "release"
@nikatjef I'm not sure I like this analogy because that's more akin to "maintenance" rather than "debt". In particular debt is normally explicitly entered into by the debtor but you don't ask for maintenance.
Of course should one explicitly choose to defer that maintenance then it could become debt, but there are a lot of things in the world that are old and are just never edited again, and the existence of other things becoming newer around those things doesn't magically make them have debt.
Brilliant!