Skip to content

ADR-008 — Capability Ontology

Status

Accepted

Context

"Capability" is one of the most overloaded terms in enterprise architecture. In retail systems design it is used to mean a software feature, a business process, an application module, or an architectural building block. UC-BoK requires a precise definition that supports maturity scoring, gap analysis, and vendor mapping without being tied to any specific application or vendor.

Decision

A UC-BoK Capability is a named, vendor-neutral business ability that a retail organisation must possess to execute Unified Commerce. Capabilities are defined in SPEC-008.

The ontology classifies Capabilities into four types:

Type Definition
Transactional Executes a discrete commercial action (e.g. checkout, payment-processing)
Operational Manages ongoing state or inventory (e.g. inventory-visibility, store-operations)
Analytical Produces insight from data (e.g. customer-segmentation)
Orchestration Coordinates multiple capabilities or systems (e.g. order-orchestration)

Rules:

  1. A Capability is not an application — it is the ability that an application implements.
  2. A Capability has a maturity scale (0–4) defined by the Assessment Framework (ADR-014).
  3. Capabilities are the primary bridge between the Reference Architecture layer and the application/vendor layer.
  4. Each Capability must declare its domain, business outcome, and canonical supporting application types.
  5. Capability IDs are stable and immutable once published.

Consequences

  • catalogs/capabilities.yaml is the canonical capability register.
  • Reference Architectures (ADR-013) express capability priorities using this vocabulary.
  • The UCMI Assessment Engine (scripts/assess.py) scores retailers against RA capability priorities.
  • Vendors cannot create new capabilities; they implement existing ones.