Most of the behavior we observe
is non-linear in nature, with some exponentiality in it.
The problem with non-linear behavior is that if you wait to act until the problem becomes apparent, it’s often too late.
At that point, it takes at least an order of magnitude more effort to course-correct because the cumulative 2nd, 3rd,…, Nth order effects kick in, and you end up chasing an exponential runaway curve.
Tech debt (or rather, cruft) is just one of those examples. I’m yet to see a company that managed to tame it to a point where they say it’s not a problem for them anymore.
Unintuitively, the right time to react to non-linear problems is when it seems it’s too early to do so. And unfortunately, at that point, it’s difficult to get a buy-in because the problem is not apparent or big enough.
That’s one of the reasons I think the just-in-time reaction is too often too late if it doesn’t account for non-linearity.
Just-in-time in that context means early enough, or at the last responsible moment considering the non-linear nature, not until the problem becomes evident.
Experience and gut feeling become important in these scenarios and should be treated as a valuable heuristic, while a data-driven approach may take a back seat in decision-making.