Skip to content

Contracts make expectations explicit

Statement

Expectations that matter to producers and consumers should be made explicit, machine-readable where practical, and testable wherever enforcement can be automated.

Rationale

Undocumented expectations become tribal knowledge. Tribal knowledge does not scale well across autonomous teams, organisational boundaries or automated systems.

Implications

Contracts should capture more than schema. Depending on the context, expectations may include semantics, quality, freshness, ownership, compatibility, security and operational commitments.

Join the argument

Agree, challenge or add evidence

Architecture improves when its assumptions are challenged. Say which kind of contribution you're making:

  • Challenge I disagree because…
  • Evidence We've seen this too…
  • Question How would this work when…?
  • Alternative Another way to approach this…
  • Extension This also implies…

Please keep clients, employers and colleagues unidentifiable. Strong contributions may be quoted and credited on this site. Read the contribution guidelines and the privacy notice.

Comments are provided by giscus and stored on GitHub. Posting requires a GitHub account.

Chapter 5 begins · Promises meet intent Sharing agreement How does a producer's promise meet a consumer's purpose without either side pretending to control the other? Data contract