Hacker News new | ask | show | jobs
by dredmorbius 2204 days ago
The key offering here is a tangible metric for real costs: dedicated FTE positions.

The questions of what debt is, what systems are, and what systemic debt are, deserve deeper inquiry, I'll allow. The notion of techical debt's been floated going back at least to Ward Cunningham (http://wiki.c2.com/?TechnicalDebt), and strikes me as highly useful.

Obvious cognates to both financial and evolutionary systems. As well as, as you note, Tainter's work on complexity.

Another point I've seen increasingly made of late, particularly post-Covid19, is of the conflict between efficiency and resilience.

Other references:

Martin Fowler, TechnicalDebt https://www.martinfowler.com/bliki/TechnicalDebt.html

Wikipedia: https://en.wikipedia.org/wiki/Technical_debt

The Technical Debt Community: https://web.archive.org/web/20180718121933/http://www.ontech... (archive).

Numerous HN discussions: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

Reddit search: https://old.reddit.com/r/dredmorbius/search?q="technical+deb...

1 comments

> the conflict between efficiency and resilience.

I've been thinking about this a lot. It shows up in everything from mechanical devices to the global economy.

I keep going back to this quote from The Psychology of Computer Programming by Gerald Weinberg:

> Fisher's Fundamental Theorem states—in terms appropriate to the present context—that the better adapted a system is to a particular environment, the less adaptable it is to new environments.

It's a systems thing. You build a system that is resilient to changes in the environment, it is less efficient if the environment doesn't change versus a system that is optimized for that specific environment. But the counterpoint is that the optimized system can't handle changes in the environment.

Nice. I've always thought of it as shaving away error margins, but I think your quote is much more general and easy to understand.
Well, shaving away the error margins is one way you gain efficiency. But in doing so the assumption is made that the environment is static (or sufficiently static relative to that margin). How does the fastest ground vehicle hit that mark? By being the lightest, most streamlined it can be with the most powerful motor it can contain, running on one of the flattest longest spaces it can find. Put it on a NASCAR track and the operator would be dead.

An important note is that assumptions are often not made explicitly. People don't sit down and say, "I think this vehicle will never be used on an oval race track, therefore 'steering' will be minimal, and the throttle will be full-open or full-closed". They just know they're making the fastest ground vehicle, and so those decisions are consequences of that specific objective. They happen to have an implied assumption that the vehicle will never need to operate at lower speeds or make turns.

This leads to an interesting tangent, System-Theoretic Process Analysis (STPA) by Nancy Leveson has an objective of improving system safety. But one of the ways it does this is to raise those assumptions to the level of conscious awareness by creating an explicit system model. It's not the only process that does this, but it's making headway in the systems safety community these days.