• Home
  • BVSSH
  • C4E
  • Playbooks
  • Frameworks
  • Good Reads
Search

What are you looking for?

Standard : All infrastructure modules are versioned and backwards-compatible

Purpose and Strategic Importance

This standard ensures all infrastructure modules are versioned and maintain backwards compatibility, enabling safe and predictable evolution of infrastructure. It reduces disruption and supports collaborative, multi-team environments.

Aligned to our "Infrastructure as Code (IaC) & Policy as Code" policy, this standard enhances stability, reusability, and trust in automation. Without it, changes can break dependent systems and increase operational risk.

Strategic Impact

  • Improved consistency and quality across teams
  • Reduced operational friction and delivery risks
  • Stronger ownership and autonomy in technical decision-making
  • More inclusive and sustainable engineering culture

Risks of Not Having This Standard

  • Slower time-to-value and increased rework
  • Accumulation of inconsistency and process debt
  • Reduced trust in engineering data, systems, or ownership
  • Loss of agility in the face of change or failure

CMMI Maturity Model

Level 1 – Initial

Category Description
People & Culture Teams use infrastructure code inconsistently.
Versioning is not discussed or shared.
Process & Governance No process exists for managing module changes.
Breaking changes are introduced unknowingly.
Technology & Tools IaC code is stored locally or manually copied across teams.
Measurement & Metrics No visibility into module usage or change history.

Level 2 – Managed

Category Description
People & Culture Some teams use versioning schemes informally.
Sharing is ad hoc and undocumented.
Process & Governance Module updates are peer-reviewed but may not check for compatibility.
Technology & Tools Versioned repositories begin to emerge.
Semantic versioning is inconsistently applied.
Measurement & Metrics Module usage is partially tracked through manual inventory or tagging.

Level 3 – Defined

Category Description
People & Culture Teams align on shared practices.
Versioning and compatibility expectations are clearly communicated.
Process & Governance Semantic versioning is standard.
Backward compatibility is a required checkpoint.
Technology & Tools Modules are published to internal registries with clear version tags and changelogs.
Measurement & Metrics Compatibility issues are tracked across deployments.
Usage patterns begin informing refactoring.

Level 4 – Quantitatively Managed

Category Description
People & Culture Teams understand how versioning impacts downstream consumers.
Collaboration spans across squads.
Process & Governance Version updates trigger automated pipelines and impact analysis.
Technology & Tools Tools verify compatibility and warn of unsafe changes.
Consumers are alerted before upgrades.
Measurement & Metrics Metrics include upgrade frequency, compatibility issues, and reuse across teams.

Level 5 – Optimising

Category Description
People & Culture Teams co-design shared infrastructure modules.
Practices are continuously improved.
Process & Governance Versioning is integrated into governance frameworks.
Deprecation policies are automated.
Technology & Tools Feedback loops support dynamic compatibility testing.
Self-service tooling supports safe adoption.
Measurement & Metrics Module maturity, drift, and technical debt trends are visualised and used for prioritisation.

Key Measures

  • % of modules with semantic versioning
  • Number of incidents caused by incompatible module changes
  • Time-to-upgrade for shared modules
  • Adoption rates and reuse across teams
  • % of automated compatibility checks in pipelines
Associated Policies
  • Infrastructure as Code (IaC) & Policy as Code
Associated Practices
  • Domain-Driven Design (DDD)
  • Modular Monoliths
  • GraphQL-first APIs
  • CQRS (Command Query Responsibility Segregation)
  • Strangler Fig Pattern
  • Hexagonal (Ports & Adapters) Architecture
  • Event-Driven Architecture (EDA)
  • Microservices Architecture

Technical debt is like junk food - easy now, painful later.

Awesome Blogs
  • LinkedIn Engineering
  • Github Engineering
  • Uber Engineering
  • Code as Craft
  • Medium.engineering