Shortly after a senior leader joins a new company, you’ll often notice them steer the organization towards a total architectural rewrite. Perhaps this is a switch from batch to streaming computation, from monolith to services, or adopting a new programming language. If you take a few minutes to reflect, I bet you can identify several times where you’ve had this experience.
Regardless of the proposed technical change, it’s almost always coupled with the promise of fixing a broad swath of organizational and technical challenges. I’ve coined a name for this pattern – proposing a sweeping technical shift to address a multitude of organizational challenges – The Grand Migration.
The complexities of government and the difficulties of reforming it make Death Star thinking powerfully seductive. Just use [insert latest technology here], aim it at the exhaust port, and all your problems will be solved.
It doesn’t quite work that way. In fact, simply adding technology without understanding the complexity of the bureaucratic processes and how they got to be the way they are can just perpetuate the problem, or even make it worse.
These overly simplified approaches to complex organizational problems end up far more costly than anticipated, have a high failure rate, and typically don’t address the underlying problems. It’s clear we want to avoid The Grand Migration, but it’s also essential for technology organizations to make ongoing improvement to their tools to retain their leverage to the businesses they empower. The most effective way I’ve found to strike a balance is having a clearly articulated technology investment thesis.
I’d love to see more organizations writing these sorts of investment theses and sharing them externally, I think they’re exceptionally valuable insight into how companies work. Written with self-awareness and honesty, they’re also a uniquely helpful tool to align on values with prospective colleagues.
On this topic, if you’ve never skimmed through the AntiPattern Catalog, it’s a delightful taxonomy of ways software goes wrong.