RWS Architecture article

DC 3.0 Capability Roadmap

This note introduces the architecture roadmap graph for DC 3.0. It defines how service offerings, capabilities, dependency constraints, and target windows are modeled so the vault

  1. Typearchitecture
  2. Statusdraft
  3. Domainplatform
On this page
  1. Summary
  2. Applicable Principles
  3. Architecture
  4. Why This Exists
  5. Model Layers
  6. Core Object Types
  7. Availability States
  8. Dependency Semantics
  9. Exception Lane Rules
  10. Sidecar Model
  11. Decisions
  12. Open Questions

Summary

This note introduces the architecture roadmap graph for DC 3.0. It defines how service offerings, capabilities, dependency constraints, and target windows are modeled so the vault can answer practical roadmap questions.

The roadmap is not a replacement for target architecture, ADRs, or workpackages. It is the architecture layer that connects them into an incremental journey from early value to DC 3.0 target-state capability.

Applicable Principles

Architecture

Why This Exists

The DC 3.0 vault currently describes a target state and several urgent delivery realities. That is not enough for planning because business value arrives in increments. Each offering needs a visible path from early validation to MVP, soft launch, production, and DC 3.0 target state.

The capability graph provides that path by making the following questions answerable:

  • Which offering versions exist and what do they contain?
  • Which capabilities are required before an offering version can launch?
  • Which dependency blocks launch, production, scale, or target-state completion?
  • Which dependency is the latest blocker for initial availability?

Model Layers

LayerPurposeSource
Architecture narrativeHuman explanation, target-state intent, trade-offsMarkdown architecture notes
Architecture modelOffering versions, capabilities, dependencies, and target windows.model.yaml sidecars
Generated graphNormalized JSON for validation, visualization, and agentic useBuild output under apps/portal/*/capability-model.json
Portal viewsRoadmap, readiness, blocker, and exception viewsAstro portal

Core Object Types

ObjectMeaning
OfferingA business-facing platform service, such as Clusters as a Service.
Offering versionA named increment of an offering, such as CLaaS 0.1.0.
Capability versionA specific feature or outcome needed by another model item.
ExceptionA temporary non-target lane with explicit deviation and exit criteria.

Availability States

StateMeaning
not_startedIdentified, but no delivery or implementation work has started.
plannedAccepted into planning, but not materially underway.
in_progressImplementation, configuration, or design work is underway.
validatingImplemented enough for controlled validation or evidence collection.
availableAvailable for the dependency use described by this version.
blockedCannot progress until a blocker is removed.
pausedDeliberately stopped or deferred.
retiredNo longer valid for active dependency use.

State is about availability for dependency use, not strategic maturity.

Dependency Semantics

Dependencies are version-level. A service offering version does not merely depend on a product name; it depends on a capability version that provides a named feature.

Dependency attributes:

AttributeMeaning
refOffering, capability, SBB, or exception id.
version_constraintSemver range for acceptable dependency versions.
capabilitySpecific provided capability needed from the dependency.
blocksWhether the dependency blocks availability, production, scale, target, or none.
lagOptional quarter lag after the dependency becomes available.
reasonWhy the requirement exists.

Version constraints use comparable major.minor.patch values. The resolver selects the highest satisfying version by default.

Exception Lane Rules

Exception lanes are visible in the graph but should not satisfy normal target-state dependencies unless explicitly allowed by a later architecture decision.

Each exception must define:

  • what business pressure justifies it
  • which target-state capabilities it borrows from
  • which target-state capabilities it deviates from
  • what exit criteria retire or absorb the exception

The DC-A OpenShift AI lane is modeled this way to prevent tactical production work from polluting the normal DC 3.0 roadmap.

Sidecar Model

The machine-readable model lives in .model.yaml sidecars documented by architecture-model-sidecars. Service offering sidecars live in RWS-ARCH/70-togaf/offerings/ and declare which capability versions each offering version needs. Capability sidecars may live next to the SBB notes that explain their implementation.

Decisions

  • Architecture roadmaps are modeled as first-class architecture content, not as workpackage-only planning data.
  • Capability dependencies use explicit semver constraints and named provided capabilities instead of relying on product names alone.
  • Exception lanes remain separate graph nodes and must have exit criteria.
  • The first worked offering roadmap is Clusters as a Service Offering.

Open Questions

  • Which governance body approves state changes from validating to available?
  • Which capability chains need more precise target windows before CLaaS can be treated as implementation-ready?