-
Well, taking enough time to get it right but then not being competitive because you took the time to get it right and the other guy didn't. AI will just make the time shorter but not change the other guy. When ai is at its peek, larger software firms will consist of one speed typer sat in a room typing ideas shouted at him as fast as he can. The fastest typer will be the gazillion dollar company.
To change this you need the other guy to agree to take his time too. Probably in a smokey backrooms hoping the FBI isn't listening. Along with other agreements about territory and pricing etc obvs. Light refreshments and hookers afterwards.
-
Being honest about the true cost?
It's taking the 'debt' bit of it seriously - it is by definition the financial cost of short term over long term decisions (including lack of decisions).
A proper analysis would include risk, that is both the chance of an outcome that requires the debt to be paid off, and the financial impact of not doing so.
Looking at it like that, it seems obvious that it should be on the balance sheet, which usually contains far more intangible element. Has anyone ever seen this done?
-
What is the solution to this?
Generally? Other than the digital tech revolution slowing down rather than exponentially expanding, there is none.
Well AI and automated coding solutions will get better…
No. Mitigating technical debt requires understanding and insight. It's not about bugs. Most things labelled "technical debt" are entirely functional, just not a solution you want to have to live with long term.
Technical debt is not a bad thing in itself; the metaphor is useful because financial debt is something that people and companies thrive on, as long as it's acknowledged, logged and managed. Financial debt is bad when people hide it and/or don't keep it in check. Technical debt the same. The software/IT world has such a bad problem with unmanaged technical debt mostly because of the pressures I mentioned above, partly because most people (and managers) don't have the same basic understanding of tech that they do of their account balance. It's not hard to get people to see the shakey step ladder problem when you're actually talking about building a house. Trying to get them to see the real software engineering equivalents, and why they'll be a problem in the long term, is hard.
I sometimes use construction metaphors to explain technical debt in the software engineering context. "You put a wonky stepladder in the place where the stairs should go, but now the deadline for completing the upper floor work is so tight that it's in constant use, and while it's slowing all that work down, nobody will let you pause things to put the stairs in." Much of the software that goes to market is wonky stepladders all the way down.