The Drift Into Technical Bankruptcy

Original Tweet here:

So let’s take an org that is experiencing 50%+ drag due to technical debt. You would think that would ring alarm bells everywhere, right? It would be all hands on deck fixing the issue, right? Well…

How could YOU ever let it get this way?
Well, WE’VE been warning YOU about it since.
But YOU never said it would be THIS bad!”
We did. You’d ask for a plan. We’d give you a plan. You’d say no way. And then we’d settle on a band-aid like 10% time

Typically, someone was raising the alarm, somewhere. But it all got watered down…

The org was experiencing growth, hiring lots of people, launching new products. So much noise. So little signal.

Oh, it’s just developers complaining…

Meanwhile, when faced with congestion, teams typically find work-arounds. Work around the problem, not through it.

Team X seems to be doing fine. What bad decisions did you make to cause your current pain?

These work-arounds cause more complexity. Congestion increases — in tiny, sometimes barely perceptible ways. No one thing stands out…it just gets harder and harder. Slowly.

A common response is to enforce more planning, and more control over teams. The slip must be a management issue!

Some skilled “lifers” know their way around the code. They keep up the illusion of forward progress. Their ego is on the line.

It’s not THAT bad folks!

New folks are lost. Onboarding takes ages. The lifers are too proud (and busy) to help. At this point, something bad happens. An outage. A super long delay. Something customer facing. Eyes are on engineering leadership.

We need a MONTH to fix this! Then we’ll be back in business!

Meanwhile, behind closed doors …

A month? Are you crazy? This will take a year to unravel. Why a month?
We’ve got to prove ourselves team. All eyes are on us…

You can probably tell what’s happening here. A drift into failure. Desire to please. Egos at stake. Even if someone said “at this rate, we’ll soon experience 50% drag, and non-linear increases in lead time, defects, failures” no one would believe them.

At this stage, driven by impatience, product leadership may be scouting acquisitions, looking for silver bullets, and figuring out a plan B.

Engineering is a mess! We have to figure something out

Consultants? Ohhhh…

Which triggers more heroics, more distraction, more obfuscation, and more confusion.

Meanwhile, the passionate front-liners who’ve been feeling the hurt the most are leaving. Bitter. “I told you so” is a bad look.

Anyway… this is how you get here. Once you’re over a certain point of drag, it is far too costly to work things down. Bad leadership? Nope. I’ve seen this happen with great leaders. Bad process/systems? Nope. It’s a wicked loop.

The fix? Visualize the work. Measure lead times. Blameless retrospectives. Psych safety. An awareness of the non-linear nature of debt and drag. Listen! And deeply challenge the notion that technical debt can be artfully managed. Maybe?