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.