# Change an existing system safely

Taiga Learning · Worksheet
https://taiga.training/en/lessons/existing-systems/

Use fictional or approved information. Do not put secrets in this worksheet.

## Learning objectives
- Identify contracts that a local code change can affect.
- Explain a staged expand-and-contract change.
- Distinguish code rollback from data recovery.

## Exercise
Choose a small field or API change. List every reader and writer, including background jobs. Describe an additive first step, a transition check, and a removal condition. Identify which step could prevent rollback.

## Your response
- Scenario and scope:
- Assumptions and open questions:
- Proposed answer or decision, with reasons:

## Verify your response
| Claim or criterion | Evidence or test | Result or gap | Owner |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Next action
- Action, owner, and date:
- When will you review this response?

## Principle to retain
Review the transition between versions, not only the final design. Old and new components may run at the same time.

## Sources
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

This worksheet supports learning. Completing it does not itself authorize a production change.
