Prerequisites

#Expectations

#The Problem

Every organisation operates on assumptions. A CISO assumes all IT services have an assigned owner. A compliance team assumes every employee has completed mandatory training. A platform team assumes all production namespaces have resource limits configured.

These assumptions are rarely written down, and when they are, nobody systematically checks whether they hold true. The gap between what people expect to be true and what is true is misalignment — and it causes compliance failures, security incidents, and operational surprises.

#How WRIT Handles It

WRIT formalises these assumptions as expectations. An expectation has four components:

Component What It Answers Example
Expector Who holds this expectation? The CISO
Partition What is being measured? All IT services, classified by whether they have an owner
Expect empty What result means failure? The is_false branch (services without an owner)
Expectee Who is responsible for fixing it? The service's designated owner lead

In the DSL, this looks like:

expectation: "all_services_owned"
    expector: "all_stakeholders" ? "id" = "CISO"
    partition: "has_owner" of "all_it_services" of "it_service"
    expect empty: "is_false"
    expectee: SELF->"owner"
    actions:
        - "Contact GBGF leads to assign service owners"
    step towards: "__CAMPAIGN__"

When evaluated, this expectation checks every IT service and classifies it:

  • True — The service has an assigned owner. Expectation met.
  • False — The service does not have an owner. An action is generated, directed at the person responsible.
  • Unknown — The ownership data has not been collected. A question is generated, directed at the data source.

#Worked Example

Consider a simple scenario with three IT services:

Service Owner
CRM System Alice
Email Platform (not assigned)
HR Portal (data not collected)

Evaluating the expectation "all services must have an owner":

Service Result Outcome
CRM System True Expectation met. No action needed.
Email Platform False Action: "Assign an owner to Email Platform."
HR Portal Unknown Question: "Who owns HR Portal?" directed to the attestor.

The distinction between "no owner assigned" (false — action) and "ownership data not collected" (unknown — question) is critical. They require different responses from different people.

#Common Pitfalls

  • Confusing false and unknown — A service with no owner is different from a service whose owner data has not been collected. The first requires assignment; the second requires data gathering.
  • Expecting too broadly — An expectation should measure a specific, actionable partition branch. Expecting all five branches to behave a certain way usually means the expectation needs to be split.
  • Missing the expectee — Every expectation needs someone responsible. If the expectee is unclear, the action cannot be directed to anyone useful.