Home

Rotting Software Isn't Deprecated

2024-04-15 - Cameron Harder-Hutton


You can say your software is deprecated, but if there's no new thing, it isn't deprecated yet. It's just rotting.

Maybe the software has gotten out of control. Maybe nobody is around who knows the language/technology/etc it's built with. Maybe it's really difficult to change and improve upon safely.

All of these are okay, it happens. But it's not deprecated yet.

First, understand the failure modes that led you to this point.

  • Did your team deliver too many consecutive features in 'the fastest way possible', due to business constraints?
  • Were there future use cases your team didn't anticipate and the software can't support them easily?
  • Were dependency updates forgotten about and now it's a huge effort to update them?

Again, these are all okay. A big part of software engineering is about making trade-offs.

But the answer isn't "it's deprecated, no changes, KTLO until we have time to build the new thing". This will make people build around you. It will minimise your pain, but ultimately do more harm than good.

Instead:

  • Identify the process improvements that need to be made to prevent this happening again.
  • Create a vision for the software and share it with people making changes (deprecation could be a vision).
  • Set expectations with your stakeholders by explaining the vision to them.
  • Budget for incremental steps towards the vision when implementing new features.

Have any thoughts? Send me an email!