Skip to main content

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​

ChangeRisk
Label or descriptionLow
Projection/filter logicMedium
Key or grain changeHigh
Source connection changeHigh
Security changeHigh
Consumption contract changeHigh

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:

  1. detect drift;
  2. classify emergency versus unauthorized change;
  3. reconcile source and target;
  4. restore controlled state;
  5. record the incident.

Architect rule​

If you cannot reconstruct the production state from your release evidence, your lifecycle process is not mature enough.