DEV Community

Cover image for When Is Rolling Forward Safer Than Rolling Back?
Umer Amin Durrani
Umer Amin Durrani

Posted on AI-assisted

When Is Rolling Forward Safer Than Rolling Back?

You take a wrong turn. Your passenger says, “Just reverse.”

Solid advice in an empty car park. Slightly different situation on a busy flyover.

A software rollback also depends on what happened after the turn.

The previous release isn't automatically the safer release

Imagine that a new application version has written records the earlier version cannot interpret.

Returning to the previous binary might be quick. Returning to safe behaviour might not be.

On the other hand, a rushed forward fix can introduce another unknown. “I can patch it in five minutes” belongs in the same category as “I'm leaving the house now”: useful information, but worth checking.

A decision framework I would bring to the incident

Question Why it matters
Does the previous version work with current persisted state? Compatibility can rule out an ordinary rollback
Can we contain the effect by disabling one feature? A smaller action may reduce impact without a full release
Is the proposed forward fix narrow and verifiable? Another speculative deployment can increase uncertainty
Are external systems already acting on the new data? Reverting local state may not undo those effects
Who can authorise the recovery choice? Parallel uncoordinated changes make diagnosis harder

There is no clever slogan that replaces these answers.

The Technical PM contribution

During an incident, the useful job is not to shout “rollback” louder than everyone else.

Make the alternatives visible. Capture what is known, who is investigating each unknown and when the team will reassess. Keep customer communication aligned with the actual state of recovery.

Afterwards, turn the uncertainty into a release improvement. If nobody knew whether the old version could read the current schema, add that check to the next release plan.

GitHub's deployment environment controls can help enforce certain deployment gates where available. They do not decide whether an old application is compatible with your current data; that remains a system-specific question.

What fact would make you reject a rollback and choose a forward fix instead? I'd love a concrete scenario, with the sensitive details removed.

Draft prepared with AI support. The scenario is hypothetical and the decision table is a discussion aid.

Discuss #DevOps #Architecture #Productivity

Top comments (0)