SMARTER SUPPLY CHAINS. STRONGER BUSINESS.
Supply Chain Partners — Connecting People, Process, Technology

SCP approach / Synthetic worked example

Customer Promise Protection: from problem to acceptance evidence

A fictional example connecting analysis, requirements, Gherkin acceptance criteria and UAT planning.

One operating question

Which customer orders need attention, what response is feasible, and who may authorise it? Fictional Northbridge uses twelve selected orders to examine shared stock, inbound supply, quality holds and delivery events.

Apply the SCP approach

  1. Define: agree the order population, frozen delivery promise, owners and acceptance criteria. Output: scoped problem and initial requirements. Decision: is the boundary measurable?
  2. Understand: map the order-to-delivery process and validate stock, receipts and timestamps. Output: baseline and data gaps. Decision: is the information usable?
  3. Diagnose: examine shortages with allocation analysis, Pareto analysis and fishbone hypotheses. Output: evidence-supported causes and risks. Decision: which causes merit action?
  4. Design: compare recovery options; describe user stories, use cases and Gherkin criteria. Output: proposed workflow and test plan. Decision: is a controlled trial justified?
  5. Test, prove and embed: run reference checks, then plan integration tests and business-user UAT. Output: test evidence, defects and remaining risks. Decision: do authorised owners accept the change?
  6. Sustain and improve: monitor data freshness, event misses, service and full costs. Output: owned control plan. Decision: continue, refine or stop?

What the synthetic analysis reveals

The initial queue contains six orders: SO003, SO002, SO005, SO007, SO009 and SO012. Four physical recoveries are illustrated. SO005 has no qualified alternative; SO012 needs a timestamp correction, which earns no physical-recovery benefit. A later carrier event puts SO008 at risk, demonstrating why a snapshot alone is insufficient.

User stories and acceptance criteria in Gherkin

Open each Feature below. Eight stories contain 24 Given/When/Then acceptance scenarios, including exceptions and permission boundaries.

US-01: Recognise order risk
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-01 Recognise order risk
  As a planner
  I want to see order risk with its supporting evidence
  So that I can act on the right shortages

  Scenario: AC-01 Allocate shared stock once
    Given SO001 needs 50 units of A and SO002 needs 40 on 7 October
    And usable A stock is 60 and the inbound receipt is 9 October
    When the planning snapshot is assessed
    Then SO001 is covered and SO002 is 30 units short
    And the same stock is not allocated twice

  Scenario: AC-02 Include a receipt on the material need date
    Given SO004 needs 60 units of C on 7 October
    And usable stock is 10 and 50 inbound units are confirmed for 7 October
    When the planning snapshot is assessed
    Then SO004 is covered

  Scenario: AC-03 Exclude quality-held stock
    Given SO009 needs 50 units of H on 12 October
    And usable H stock is 10 and blocked H stock is 40
    And the inbound receipt is 13 October
    When the planning snapshot is assessed
    Then SO009 is 40 units short
    And the blocked stock remains unavailable
US-02: Prioritise the exception queue
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-02 Prioritise the exception queue
  As a operations lead
  I want to review exceptions using an agreed allocation policy
  So that I can protect earlier commitments without arbitrary scores

  Scenario: AC-04 Use a stable priority sequence
    Given the twelve-order synthetic snapshot has been assessed
    When the review queue is sorted by material need date then customer tier then order ID
    Then the order sequence is SO003, SO002, SO005, SO007, SO009, SO012
US-03: Validate supply information
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-03 Validate supply information
  As a planner
  I want to identify missing or stale confirmations
  So that I can avoid acting on unreliable coverage

  Scenario: AC-05 Show missing information explicitly
    Given item B has 80 inbound units but no receipt date
    When SO003 is assessed
    Then its state is "Missing input"
    And its shortage quantity is unknown rather than zero

  Scenario: AC-06 Accept the freshness boundary
    Given a supply confirmation was updated exactly 24 hours before the assessment
    When freshness is assessed using the agreed 24-hour threshold
    Then the confirmation is current

  Scenario: AC-07 Flag information beyond the freshness boundary
    Given a supply confirmation was updated 24 hours and 1 second before the assessment
    When freshness is assessed using the agreed 24-hour threshold
    Then the confirmation is stale

  Scenario: AC-08 Correct a stale confirmation without claiming a recovery
    Given SO012 initially appears 60 units short
    And its item K confirmation is stale
    When the planner verifies and records receipt on 13 October with a current timestamp
    Then SO012 is covered
    And the correction earns no physical recovery or financial saving credit
US-04: Approve proportionate recovery actions
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-04 Approve proportionate recovery actions
  As a operations manager
  I want to review feasible recovery proposals within my delegated authority
  So that I can protect service while controlling spend

  Scenario: AC-09 Prevent a planner from authorising spend
    Given a planner proposes a GBP 300 recovery
    When the planner requests execution
    Then the result is "Approval required"
    And no execution is recorded

  Scenario: AC-10 Require recorded approval
    Given an operations manager has authority for a GBP 300 recovery
    When execution is requested without recorded approval
    Then the result is "Approval required"

  Scenario: AC-11 Respect the delegated spending boundary
    Given an operations manager may approve a recovery costing up to GBP 500
    When a GBP 500.01 recovery is requested with that manager approval
    Then the result is "Approval required"
    And Finance approval is needed under the synthetic policy

  Scenario: AC-12 Record an approved action only once
    Given a current GBP 300 action is approved by an operations manager
    And its action key is REC-SO002
    When the same approved action is submitted twice
    Then one simulation action and one audit entry exist
    And the second result is "Already recorded"
US-05: Protect quality and the original promise
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-05 Protect quality and the original promise
  As a customer service lead
  I want to preserve quality controls and original customer commitments
  So that I can report service honestly

  Scenario: AC-13 Reject an action involving a held lot
    Given a recovery has spend approval but the proposed lot remains on quality hold
    When execution is requested
    Then the result is "Quality hold"
    And no execution is recorded

  Scenario: AC-14 Allow a separately qualified alternative
    Given a separate alternative lot has completed quality approval
    And a current GBP 320 recovery has recorded spending approval
    When an authorised operations manager requests execution
    Then the result is "Recorded in simulation"
    And the original blocked stock remains held

  Scenario: AC-15 Keep the frozen promise for performance measurement
    Given SO005 has a frozen promise of 10 October and actual receipt of 14 October
    When customer service communicates a revised date of 14 October
    Then SO005 remains late against the frozen promise
US-06: Respond to new transport information
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-06 Respond to new transport information
  As a planner
  I want to refresh risk when new shipment events arrive
  So that I can act on threats that were not known at the first snapshot

  Scenario: AC-16 Detect a later carrier delay
    Given SO008 was covered by an inbound receipt on 9 October
    And a carrier event received on 7 October changes that receipt to 14 October
    When the new event is accepted and risk is reassessed
    Then SO008 becomes 30 units short
    And its frozen customer promise remains 11 October

  Scenario: AC-17 Ignore a repeated event identifier
    Given carrier event EVT-G-01 has already been accepted
    When EVT-G-01 is received again
    Then the result is "Duplicate ignored"
    And the planning version does not increase again
US-07: Retain an evidence trail
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-07 Retain an evidence trail
  As a pilot sponsor
  I want to trace decisions to data, approvals and outcomes
  So that I can review the change before authorising rollout

  Scenario: AC-18 Record a decision audit trail
    Given a current recovery with recorded approval is accepted in the simulation
    When the action record is inspected
    Then it includes actor, time, action, reason, cost, approval, evidence and planning version

  Scenario: AC-19 Block action on unvalidated information
    Given a recovery has spending approval but its supporting data is not current
    When execution is requested
    Then the result is "Data validation required"
    And no execution is recorded

  Scenario: AC-24 Revalidate after a planning version change
    Given a recovery was assessed against planning version 1
    And a new event has changed the current version to 2
    When the version 1 recovery is submitted
    Then the result is "Revalidation required"
    And no execution is recorded
US-08: Measure outcomes and full costs
# SYNTHETIC DATA AND FICTIONAL CLIENT. No client UAT sign-off.
Feature: US-08 Measure outcomes and full costs
  As a finance reviewer
  I want to reconcile service and financial results without double counting
  So that I can make an evidence-based investment decision

  Scenario: AC-20 Require delivery in full as well as on time
    Given an order for 50 units arrives by its frozen promise but only 49 units are received
    When OTIF is calculated
    Then the order does not count as OTIF

  Scenario: AC-21 Keep the complete eligible cohort
    Given the synthetic live pilot contains 120 eligible orders of which 108 are OTIF
    When the pilot service result is calculated
    Then the denominator is 120 and OTIF is 90 percent
    And the denominator is not restricted to alerts or successful recoveries

  Scenario: AC-22 Reconcile freight and programme costs once
    Given the synthetic comparison-adjusted gross freight benefit is GBP 720
    And additional inspection costs GBP 80
    And economic programme costs are GBP 9400 and cash programme costs are GBP 7600
    When the pilot business case is calculated
    Then operating benefit before programme costs is GBP 640
    And net economic result is minus GBP 8760
    And net cash result is minus GBP 6960
    And the GBP 820 detailed recovery freight is not deducted a second time

  Scenario: AC-23 Avoid a saving claim for an uncommitted proposal
    Given an unqualified GBP 1800 proposal is rejected
    And no approved baseline expenditure exists for that proposal
    When benefits are assessed
    Then the rejected proposal contributes zero saving

Reference checks and UAT are separate

24 Python reference assertions pass. They exercise selected rules in an in-memory illustration. The Gherkin files have not been executed through Cucumber. Live integration, security, performance and business-user acceptance remain unproven.

All 24 client UAT cases: Not run. The execution template leaves actual results, evidence, defects and sign-off blank. Users must run the agreed scenarios in the client environment and record their outcomes before an acceptance decision.

Example trace: CPP-01 → US-03 → AC-06 (exactly 24 hours remains current) → UAT-06 → reference check → boundary defect demonstration → corrected reference check. Client acceptance is still absent.

Benefits must include the full costs

The synthetic cohort illustration shows GBP 720 gross benefit, less GBP 80 inspection cost: GBP 640 operating benefit. Including GBP 9,400 economic programme costs gives a GBP 8,760 net loss; the cash result is a GBP 6,960 loss. These are illustrative short-period results, not a forecast or client return.

Do not count a timestamp correction as a recovered order, an uncommitted rejected proposal as a saving, or order value as protected profit. Agree the assumptions, comparison cohorts and double-counting controls with each client.

Business analysis / Requirements structure

Connect the business outcome to the detail

Grouping requirements helps a team see why a change matters, manage its scope and retain the links from a business need through to acceptance. We would agree a proportionate structure with the client, using stable IDs and clear ownership.

  1. Business outcome: the measurable improvement sought, with its baseline, scope and sponsor.
  2. Epic: a substantial body of related work supporting that outcome. Agree its boundary and success measures.
  3. Feature: a coherent capability within the epic, small enough to assess and plan. Define what it enables and its dependencies.
  4. Detailed requirements: specify the needed behaviour, rules, data and quality constraints. User stories can express a user's goal and reason; use cases describe interactions, alternative paths and exceptions.
  5. Acceptance criteria: define the specific, testable conditions each requirement must satisfy, expressed as Gherkin Given/When/Then scenarios where appropriate.

Linked underneath: testing and UAT evidence

Acceptance criteria → linked test cases → recorded results and defects → authorised acceptance decision. Retain the criterion version, test environment, tester and evidence so the team can see what was proved and what remains unresolved. The criteria define what must be met; testing and UAT evidence record whether it was met.

User stories and use cases are complementary ways to describe requirements. A use case may support several stories; it does not have to be a child work item. Security, accessibility, data freshness and performance requirements may apply across several features and should be linked wherever they need verification. Tasks describe the work to deliver the change.

A Customer Promise Protection example

Synthetic example — proposed SCP grouping, not a client implementation.

  1. Outcome CPP-01: improve fulfilment against the frozen customer promise, assessed alongside full operating costs. Targets would be agreed with each client.
  2. Epic EP-CPP-01: Customer Promise Protection.
  3. Feature FE-CPP-01: recognise and prioritise order risk. Groups US-01, US-02 and US-03 in the worked example.
  4. Story US-03: enable a planner to validate supply information before acting. Linked use case UC-CPP-01 describes reviewing an exception, checking freshness and requesting a correction when needed.
  5. Criterion AC-06: Given supply information is exactly 24 hours old, When freshness is assessed, Then it remains current under the synthetic rule.

Linked evidence for AC-06

AC-06 → UAT-06 → actual result, supporting evidence and any defect → authorised acceptance decision. UAT-06 remains Not run. The separate Python reference check passes; it does not constitute client UAT or acceptance.

Review testing and UAT status →

The other proposed features group controlled recovery (US-04, US-05), event handling and audit (US-06, US-07), and benefits measurement (US-08). Keep the tested version of each criterion and the evidence together when a requirement changes.

Manage the structure without losing the links

  • Record an ID, parent or related item, owner, source, priority, status and version. Link dependencies and cross-cutting requirements explicitly.
  • Prioritise features by value, risk and dependencies, then refine the detailed requirements with users. Assess changes against scope, tests and expected benefits.
  • Use Define to establish the outcome and initial groups; refine them through Understand and Design; verify them in Test, prove and embed; monitor the outcome in Sustain and improve.
  • Apply this to Control Tower workflows, automation readiness and other services where process or system changes require clear requirements and acceptance.

Tool mapping: Azure Boards provides Epic and Feature levels above requirement-level items; the item name depends on the chosen process. Jira commonly groups stories under epics, so a separate Feature level needs an agreed mapping or suitable configuration. Confluence can hold linked use cases, process descriptions and decision records. Agree the structure around the client's tools rather than assuming the same hierarchy everywhere.

References: Microsoft: organise features and epics; Microsoft: work item types; Atlassian: epics and stories. Source guidance reviewed 17 October 2026; the grouping and example above are SCP proposals.

Keep the evidence connected

Tools to manage requirements, testing and decisions

Jira and Confluence, or Azure DevOps, can support a linked record of the problem, user stories, Gherkin acceptance criteria, tests, defects and approvals. We would agree the workflow, owners, permissions and version controls around your existing systems.

  • Jira and Confluence: link delivery work items with process descriptions, requirements and decision records. Agree how test cases, execution evidence and defects will be managed, including any test-management extension.
  • Azure DevOps: use Boards for delivery work and Test Plans for test cases and execution records, with links back to requirements. Documentation can sit in a wiki or your agreed knowledge repository.
  • Across either option: retain stable IDs, named owners, the version tested, evidence and an authorised acceptance decision. Tool configuration and appropriate access are part of the design.

These are alternative ways to organise delivery. The tools preserve links; business users still need to perform UAT and an authorised owner must decide acceptance.

Atlassian: using Jira and Confluence together · Microsoft: Azure DevOps and Test Plans

Use the example in a discovery discussion

The example connects synthetic records, requirements, acceptance criteria and UAT planning on this page. Agree client-specific rules, permissions, evidence and costs before a pilot.

Gherkin reference: Cucumber. Acceptance-testing reference: ISTQB Acceptance Testing syllabus (2019).