Reversibility

When possible, design so that a step you implement can be reversed if necessary.

context

Problem

  • In the software industry, developers use a Version Control System (VCS) to make it simpler to reverse changes that break the software. The system tracks all changes and allows you to go back to a previous version is there are problems.

  • Not all changes are easily reversible. If I cut a wooden board too short, I can’t easily make it longer again. In those cases, we want to think about how we might reverse the change we’re making.

  • In the context of creating Artifacts, reversibility seems more under our control, but with things like the internet, we’ve found that some things can’t easily be unsaid or taken back.

Therefore:

When possible, design so that a step you implement can be reversed if necessary.

Connection.

Notes/patterns mentioning this pattern