OpenSME

Running business software

Plan a business software update with a usable rollback

Keep application files, data changes and integration recovery in the same update decision.

OpenSME Editorial · Published 4 November 2026

Define the change boundary

List the application version, extensions, database changes and integrations affected by the update. Use the supplier's release notes for the exact upgrade path you intend to take. In this fictional example, a quoting application changes how it stores attachments. That change affects both the database and the file store. Replacing the old application files alone does not restore the old storage layout.

Prepare a representative rehearsal

Use a separate environment with controlled test data and the same relevant versions as production. Disable outgoing mail, billing actions and webhooks. Rehearse opening an existing quote, editing an attachment, approving a new quote and exporting the result. Include a record created before the update and one created afterwards. Record the time each stage takes so the planned maintenance window has a factual basis.

Separate backup from rollback

A backup is a retained recovery input. A rollback is the procedure that returns the service and its data to a working state. Check that the pre-update backup covers the affected database, attachments and configuration, and rehearse the restoration route. Read the software's documentation for schema compatibility: an older binary must not be pointed at a changed database unless that combination is explicitly supported.

Agree the stop conditions

Choose specific failures that stop the release: an unreadable attachment, failed reconciliation, denied access for a required role or a broken integration handoff. Name the person who decides, the latest decision time and the person who restores service. Keep an incident contact route outside the application being updated. A window that closes before anyone can make the rollback decision is not a workable plan.

Handle writes during the decision window

Agree whether users can create new records before acceptance checks finish. If writes are allowed, document how they are captured and reconciled if restoration becomes necessary. Pause relevant scheduled jobs using the product's supported controls. Record the exact point at which integrations resume and inspect their queues. Restoring yesterday's database while leaving today's external shipment requests untouched creates a separate reconciliation problem.

Close the update with evidence

Record the installed versions, verification results, release time and outstanding issues. Keep the previous recovery set under the agreed retention policy rather than deleting it immediately after a successful login. Run the restore drill again when storage or backup behaviour has changed. The completed plan should let another authorised operator explain both the new state and the precise route back from a failed update.


Continue reading

Use the software shortlist worksheet →