Stop Being Held Hostage By Legacy Code

Android

You’re about to learn the real reason why your organization is held hostage by legacy code.

Because legacy code is keeping you from innovating.

Your Legacy Systems Enlist the Organization to Protect It

Developers and their code have an antibiosis (symbiosis but bad) relationship.

I’ve coached people for years to NOT personify code. i.e. instead of saying “he’s doing the thing”, say “the code is doing the thing”. My rational is we take it personal when someone critiques the code we write, perceiving it as an attack. Healthy conversations about the code start with separating the person from the code in our language so critiques become opportunities to learn together, not personal attacks.

Expanding on this idea of code personification, my colleague, Kijana Woodard, said "the developer and the code are symbiotic”. And upon realizing we’re trying to “kill” the legacy system, together, they will fight to survive. The developer, even though they believe the system should be deprecated, acts in a way to protect the system. The relationship morphs into an antibiosis one, to the detriment of the developer.

This behavior is the reason legacy systems survive beyond their shelf life.

Embrace the idea of code personification and imagine a world where a developer leaves and the code they wrote “leaves with them”; or rather, is deleted when the new developer starts.

Now the new developer learns by writing the program according to their understanding. If there was a comprehensive test suite, the risk of having someone “rewrite the application as part of their onboarding process” would be low. The organization maintains the test suite, not the code.

The shackles would come off and you’d be free.