Supply Chain Mapping for Wardley Maps
You are conducting the supply chain identification phase of a Wardley mapping engagement. Your goal is to decompose agreed user needs into the capabilities and components that deliver them, producing a complete dependency graph.
Prerequisites
Check that the project directory contains:
- •
needs/needs.agreed.md
Check that the client workspace contains:
- •
resources/index.mdand research sub-reports inresources/
If needs.agreed.md is missing, tell the user to complete wm-needs
first. The .agreed.md suffix indicates the client has signed off.
The project path is clients/{org}/projects/{project-slug}/.
Step 1: Re-read research through the lens of needs
Read needs/needs.agreed.md to understand the agreed user classes
and their needs.
Then re-read resources/index.md and relevant sub-reports in
resources/, specifically looking for:
- •Capabilities the organisation uses to deliver each need
- •Technologies and platforms underlying those capabilities
- •External dependencies (suppliers, partners, data sources)
- •Infrastructure underpinning everything
You are building a mental model of "how does this organisation actually deliver what users need?"
Step 2: Decompose each need
For each agreed need, work top-down:
- •What capabilities directly deliver this need?
- •For each capability, what does it depend on?
- •Continue recursively until you reach:
- •Commodities (electricity, internet, standard hardware)
- •External services with no further visible decomposition
- •Fundamental resources (raw materials, data, people)
Write each chain to chain/chains/{need-slug}.md using the template
in chain-template.md.
Formatting rules for dependency trees:
Need Name ├── Capability A │ ├── Sub-capability A1 │ │ └── Infrastructure Component │ └── Sub-capability A2 ├── Capability B │ └── Sub-capability B1 │ ├── External Service │ └── Data Source └── Capability C (commodity)
Guidelines:
- •Use the tree to represent visibility. Components near the top are visible to the user. Components deeper are increasingly invisible. This maps directly to the Y-axis (visibility) of the eventual Wardley map.
- •Do NOT attempt to position components on the evolution axis. That is stage 4 (wm-evolve). The horizontal axis has no meaning at this stage. Dependency trees are the honest representation — they encode what we know (depth/visibility) without pretending to know what we don't (evolution).
- •Flag shared components. When a component appears in multiple chains, note it with "(shared)" and list which other needs also depend on it. Shared components are structurally important.
- •Stop at sensible boundaries. Don't decompose "electricity" into "power generation -> transmission -> distribution." Stop where the organisation's agency ends, unless infrastructure is specifically in scope.
- •Use the organisation's language where possible. If they call it a "Fleet Management System" not "Asset Tracking Platform," use their term. The client needs to recognise their own supply chain.
Run chains in parallel where possible — each need's chain is independent.
Step 3: Identify shared components
After all chains are written, look across them for:
- •Shared components: same capability serving multiple needs. These are structurally important — they sit at critical junctions and often become strategic leverage points.
- •Implicit dependencies: components that are assumed but not explicit in any single chain (e.g. "identity management" underlying multiple systems).
- •Potential duplication: cases where two chains use different names for what might be the same component. Consolidate these.
Step 4: Synthesise
Write chain/supply-chain.md using the consolidated template in
chain-template.md. Include:
- •Merged dependency graph — all chains combined, deduplicating shared components
- •Shared components table — each shared component with the needs it serves and its depth from the user
- •Component inventory — a flat table of every unique component with its parents, children, and notes
- •Observations — structural insights:
- •Bottlenecks or single points of failure
- •Surprisingly deep dependency chains
- •Missing capabilities (things that should exist but weren't found)
- •Clusters of related components
- •Open questions — for client review
Step 5: Present to client
Present the consolidated supply chain to the client. Ask:
- •"Does this dependency structure match how your organisation actually works?"
- •"Are there capabilities missing from these chains?"
- •"Are there capabilities listed that don't actually exist or are wrong?"
- •"Do the shared components look right? Are there others?"
- •Address any open questions.
The client will likely:
- •Correct component names to match internal terminology
- •Add capabilities you couldn't see from public research
- •Identify dependencies between components that weren't obvious
- •Flag components that are planned but don't exist yet
Step 6: Iterate and agree
Based on client feedback:
- •Update individual chains in
chain/chains/as needed - •Rewrite
chain/supply-chain.md - •Ask the client to confirm: "Is this supply chain now accurate and complete enough to proceed to evolution assessment?"
When the client agrees:
- •Copy to
chain/supply-chain.agreed.md - •Append to
decisions.md:markdown## {Date} — Stage 3: Supply chain agreed **Agreed**: Supply chain document signed off by client. **Components**: {total count} unique components identified **Shared components**: {list of key shared components} **Scope notes**: {any caveats}
Important notes
- •Output is markdown only. No OWM files at this stage. The evolution axis is unknown, so OWM would require guessing half the coordinates. Markdown dependency trees are the honest representation.
- •The
.agreed.mdfile is a gate. The next skill (wm-evolve) will refuse to proceed without it. - •Component count matters. A typical map has 15-30 components. If you have fewer than 10, you may be too coarse. If you have more than 50, you may need to split into submaps. Discuss with the client.
Completion
When supply-chain.agreed.md is written, tell the user the next step
is wm-evolve to position components on the evolution axis and
produce the first real Wardley map in OWM format.