What is legacy deprecation? It’s a cost of technical debt. If you’re writing software, you will deprecate legacy software; it’s inevitable. First, I’ll classify legacy deprecation, then help you avoid it.

Legacy Deprecation

The act of deprecating legacy software.

Let’s define each word separately to clarify.

Legacy

denoting or relating to software or hardware that has been superseded but is difficult to replace because of its wide use: over half of respondents have cited integration with legacy systems as a problem.

Deprecation

the classification of a software feature as obsolete and best avoided, typically because it has been superseded: one of the most noticeable changes is the deprecation of third-party cookies.

Why Prevent It?

Because deprecating legacy software is painful.

It’s expensive, complicated, and causes customer confusion.
Solely adding software features is tempting, but skipping design & maintenance costs a fortune.

Deprecating legacy software solutions can cost both you and your customers a fortune. Forcing people to learn a new tool, API, or process isn’t trivial. Your customers may need to organize training, change processes, and integrations. It’s a lot of work.

Deprecating legacy software should include significant testing.

Expect to spend countless hours running A/B tests, logging and fixing bugs, redirecting traffic to new APIs & user interfaces, and capturing work in backlogs.

Expect a lot of meetings.

How Do I Prevent It?

Pay technical debt, and modernize your software.

Adopt optimal patterns, modules, and innovative approaches to extend the life of software solutions.

Reduce software ownership costs.

Make software easy to change.

Conclusion

Legacy deprecation is easier if you’re a start-up with very little software. It quickly turns into a nightmare in an enterprise environment. I avoid allowing software to become legacy primarily for people.

People who move my cheese make me angry. Let’s have empathy and strive to avoid disrupting people’s lives.

Let’s do our best to avoid technical debt, implement cost-saving software improvements, and make everyone’s life a little better.

References