20.4 Versioning & Change Management
Version control is broader than storing source files. The goal is reproducible knowledge of what changed, why, who approved it and what was deployed.
Change categories
| Change | Risk |
|---|---|
| Label or description | Low |
| Projection/filter logic | Medium |
| Key or grain change | High |
| Source connection change | High |
| Security change | High |
| Consumption contract change | High |
Change record
Every material change should capture:
- business reason
- impacted objects
- source systems
- data contract impact
- security impact
- performance expectation
- test evidence
- rollback approach
- approval
Breaking versus compatible change
A compatible change preserves consumer expectations. A breaking change alters fields, keys, semantics, access behavior or data meaning.
Prefer additive evolution for shared contracts. Deprecate old interfaces before removing them.
Production drift
Drift occurs when PROD differs from the controlled source state.
Controls:
- detect drift;
- classify emergency versus unauthorized change;
- reconcile source and target;
- restore controlled state;
- record the incident.
Architect rule
If you cannot reconstruct the production state from your release evidence, your lifecycle process is not mature enough.