Skip to main content

17. Development and Delivery

This section defines how capabilities and supporting components are developed, tested, and delivered in a way that preserves architectural integrity while enabling high velocity.

17.1 Capability Development Guidelines

Capability development follows outcome-first principles.

Guidelines:

  • Start with a clear capability outcome and contract
  • Implement deterministic execution first where feasible
  • Add AI-assisted execution only when justified
  • Avoid embedding integration logic in the DXP

Capabilities:

  • Must be independently buildable and deployable
  • Should have minimal dependencies
  • Must respect declared inputs, outputs, and context

This ensures consistency and composability across teams.

17.2 Testing Strategy

Testing is aligned to capability contracts.

Testing includes:

  • Contract tests to validate inputs and outputs
  • Deterministic execution tests with fixed data
  • AI-assisted execution tests using controlled scenarios
  • Failure and degradation tests

Tests:

  • Are automated by default
  • Run independently of consuming systems
  • Validate behaviour, not implementation

This provides confidence without brittle test suites.

17.3 Contract Validation

Contracts are validated continuously.

Validation occurs:

  • At development time through schema checks
  • At deployment time through gateway enforcement
  • At runtime through input and output validation

Contract violations:

  • Are rejected explicitly
  • Are logged and observable
  • Do not propagate downstream

This prevents accidental breaking changes.

17.4 Continuous Delivery

Delivery pipelines are capability-centric.

Pipelines:

  • Build, test, and deploy capabilities independently
  • Support parallel version operation
  • Enable rapid rollback

Continuous delivery:

  • Does not require DXP redeployment
  • Supports incremental adoption
  • Preserves backward compatibility

This enables safe, frequent change at scale.