A Practical Method: Mapping a Real System Step by Step

By Pritesh Yadav 13 min read

So far in this book you have collected a toolbox: stocks, flows, feedback loops, delays, leverage points. This chapter is where you stop collecting tools and start using them. It gives you a single, repeatable, 8-step procedure for taking any messy real-world problem and turning it into a clear map you can actually act on.

Think of this as a recipe. You can follow it for a coffee shop queue, a team that keeps missing deadlines, a supply chain, or a public-health crisis. The steps are always the same. By the end you will have walked through two complete worked examples and a wallet-card summary you can keep beside you.

Key takeaway: A system map is not decoration. Its job is to find the one or two changes that will actually shift the system's behavior — and to warn you off the dozen changes that feel productive but change nothing.

Step 1 — Name the problem as behavior over time, not as an event

The first move is to draw a reference mode: a rough sketch (no precise data needed) of how a key quantity has changed over time and how you fear it will keep changing. The system-dynamics scholar John Sterman calls this "problem articulation."

The reference mode forces you away from event thinking ("the queue was huge on Tuesday") toward pattern thinking ("average wait has grown from 4 minutes to 18 minutes over six months and is still climbing"). Until you have a behavior-over-time graph, you do not have a problem — you have an anecdote.

wait
time |              .--   "and still climbing"
 18m |          .-'
     |       .-'
     |    .-'
  4m | .-'
     +------------------------------> time
       Jan              Jun
       (a reference mode: a trend, not a Tuesday)

A handful of canonical shapes tell you what kind of structure is underneath, before you even draw a loop:

  • Exponential growth — a reinforcing loop is in charge.
  • S-shaped growth — a reinforcing loop that runs into a balancing limit.
  • Oscillation — a balancing loop with a delay.
  • Overshoot and collapse — a balancing loop with a long delay eating away an eroding resource.
  • Goal-seeking decline — a balancing loop settling toward a lower target.
Common mistake: Mistaking an event for a problem. If you define the problem as "the queue was long Tuesday," every fix is event-level (an extra barista for Tuesday). Donella Meadows put the path plainly: systems thinking moves from events → patterns → structure.

Step 2 — Set the boundary: endogenous, exogenous, excluded

Every map needs an edge. A system boundary chart sorts every relevant variable into three columns:

Endogenous
Inside the model — its value is produced by the system's own structure (e.g. wait time, error rate).
Exogenous
Outside, but it pushes on the system — treated as a given input (e.g. how many customers arrive per hour).
Excluded
Deliberately left out — but written down, so everyone knows it was a conscious choice (e.g. coffee bean pricing).

The boundary should be broad enough that the system's main behavior is explained by the endogenous structure. The classic trap is drawing it too tightly, then wondering why your fixes never hold — the loop that matters got left outside. A practical test: if you catch yourself saying "and then something outside our control makes it worse," that something probably belongs inside the boundary.

Step 3 — List the key stocks

A stock is an accumulation: something you could measure at a single frozen moment, and that would still exist if time stopped. Meadows' examples: water in a bathtub, money in a bank account, a population, self-confidence.

Tip — the time-stop test: Freeze all activity. Can you still count it? If yes, it's a stock. If it only exists while something is happening, it's a flow.

Stocks give a system inertia. As we will see again with delays, you cannot change a stock instantly — even with the drain wide open, the tub takes time to empty. This inertia is exactly why systems resist quick fixes. List stocks first, because everything else connects to them.

Step 4 — Find the flows

A flow is a rate, measured per unit of time: customers per hour, dollars per month. Flows are the valves — the things you can turn up or down. For every stock from Step 3, ask two questions: what fills it? and what drains it?

Every stock has at least one inflow and one outflow. Only inflows → it grows forever. Only outflows → it drains to zero. For sources and sinks outside your boundary, draw a "cloud" symbol — it keeps the map honest about what you are and are not modeling.

Analogy — the bathtub: The water level is the stock. The faucet is the inflow, the drain the outflow. Faucet faster than drain, level rises. The deep point: you can't change the level instantly even with the drain fully open — which is why "just work harder this week" can't undo months of accumulated backlog.

Step 5 — Find the feedback loops and delays

Now connect the dots into a causal loop diagram. Every arrow carries a polarity: "+" means "if A goes up, B goes up"; "−" means "if A goes up, B goes down." To classify a loop, count the "−" signs around it:

Reinforcing loop (R)Balancing loop (B)
"−" signs around loopEven number (incl. zero)Odd number
What it doesAmplifies changeResists change, seeks a goal
Behavior aloneGrowth or collapseGoal-seeking (or oscillation, if delayed)
Everyday imageCompound interestA thermostat

Every real system has both kinds. A reinforcing loop always eventually meets a balancing constraint. A balancing loop alone settles down — but add a delay and it oscillates.

Analogy — the shower: You turn the knob hot. For 8 seconds, nothing (the delay). You assume it failed and turn it further. Now scalding water arrives, so you lurch to cold — and oscillate. The fix is not to turn harder; it is to shorten the delay or slow your own reaction to match it. Meadows warns that delays "cause oscillations, overshoots, and chaos."

List every significant delay, of two kinds: information delays (how long before someone notices the stock changed?) and material/process delays (how long before a decision becomes a physical change?).

Step 6 — Identify the dominant loop and the constraint

When several loops are present, one "wins" at any given moment and drives what you observe. Meadows called this shifting loop dominance. Early in an epidemic the reinforcing infection loop dominates (exponential spread); later the balancing immunity loop takes over and slows it. Address the loop that is dominant now.

Closely related is the constraint — the bottleneck that, if relieved, would most expand performance. This is Eliyahu Goldratt's central idea in The Goal. His five focusing steps: (1) identify the constraint; (2) exploit it (max output, no new spending); (3) subordinate everything else to it; (4) elevate it (invest to expand it); (5) go back to step 1. Improving anything that is not the constraint, by definition, does not increase throughput.

Common mistake: Improving a non-bottleneck. A coffee shop buying a second espresso machine when the real bottleneck is the card-reader terminal spends money and changes nothing.

Step 7 — Find the leverage points

A leverage point is a place where a small change produces a large shift in behavior. In her 1999 essay, Meadows ranked 12 of them from weakest to strongest. Her uncomfortable finding: people spend most of their effort on the weakest ones.

  • Weak (12–10): numbers/parameters (a tax rate); buffer sizes; physical stock-and-flow structure.
  • Moderate (9–6): lengths of delays; strength of balancing loops; gain of reinforcing loops; structure of information flows (who knows what, when) — often cheap and powerful.
  • Strong (5–1): the rules; power to change structure; the system's goals; its paradigms; and the ability to transcend paradigms.
Common mistake: Assuming high-leverage means easy. Meadows: "The higher the leverage point, the more the system will resist changing it." Changing a paradigm means changing what people believe — far harder than tweaking a number, which is why most organizations default to parameter fixes.

Step 8 — Test interventions for second-order effects

A second-order effect is a consequence of your fix that travels through the loops from Step 5 and comes back — often delayed — to hit the very thing you were trying to improve. This is Peter Senge's "fixes that fail" archetype.

Before committing, trace every arrow out of your intervention and ask: does this path lead back to my target variable, and does it help or hurt? Four test questions: (1) Am I changing structure or just symptoms? (2) Does this create a new dependency? (3) Who else responds to the change? (4) What happens to stocks I didn't target?

The 8-step procedure (a wallet card)

  1. Draw a behavior-over-time graph; name the problem as a trend.
  2. Set the boundary: endogenous / exogenous / excluded.
  3. List key stocks (time-stop test).
  4. Find the flows for each stock (what fills, what drains).
  5. Draw causal links with polarity; mark all R and B loops and delays.
  6. Identify the dominant loop now and the binding constraint.
  7. Locate leverage points (prefer 9→3 over 12→10).
  8. Trace second-order effects before choosing an intervention.

Worked example: the team that keeps missing deadlines

Step 1 (behavior): Tasks remaining stay stubbornly flat for weeks, then a desperate spike of completions near the deadline, then a tail of rework. This has happened in three of the last four projects. Name it: "chronic deadline-slip and rework cycle," not an isolated failure.

Step 2 (boundary): Endogenous — tasks remaining, completion rate, rework generated, effective capacity, pressure, corners cut, defect rate. Exogenous — initial scope, deadline, headcount. Excluded — personalities, office politics.

Step 3 (stocks): Tasks Remaining; Rework Backlog; Team Morale / Effective Capacity.

Step 4 (flows): Tasks Remaining is filled by scope additions, drained by completion rate. Rework Backlog is filled by rework generation, drained by rework completion. Capacity is filled by rest/learning, drained by burnout.

Step 5 (loops + delays):

  B1 (intended):  Tasks Remaining -> Pressure -> Completion
                  -> (drains) Tasks Remaining   [balancing]

R1 (vicious): Pressure -> Corners cut -> Rework generated -> Rework Backlog -> Completion falls -> Tasks Remaining stays high -> Pressure [reinforcing spiral]

Loop B2: sustained pressure erodes morale → completion falls → more pressure (a balancing loop driving toward a worse equilibrium). Delays: a 1–2 week discovery delay before rework is spotted; a several-week capacity-recovery delay.

Step 6 (dominance + constraint): Weeks 1–6 B1 dominates; from week 7 R1 takes over as rework piles up. The constraint is not raw work rate — it's the rework backlog. In Goldratt's terms, the bottleneck is quality-at-source.

Step 7 (leverage): Extending the deadline or hiring a contractor (parameters, weak) just lets R1 generate rework faster. A daily "completed vs rework generated" dashboard shortens the discovery delay (#9, #6). A "definition of done" checklist (#5) starves the rework loop. Shifting the goal from "tasks completed" to "tasks done right first time" (#3) is the single most powerful change.

Step 8 (second-order):

  • Work nights and weekends → more pressure → more corners cut → R1 accelerates → more rework in three weeks, plus morale drains. Self-defeating.
  • Add a checklist alone → week-1 completions slow → pressure spikes → team may abandon the checklist under pressure. Fragile unless the goal changes too (classic "shifting the burden").
  • Change the goal to quality-first AND show rework rate daily → B1 now seeks quality, the information delay shrinks, R1 loses its fuel. Highest-leverage and most durable; just manage stakeholders through a temporarily slower-looking week or two.

Why simple interventions fail over time: shifting dominance and the Beer Game

The deadline example shows a deep lesson: the dominant loop shifts as stocks change. A fix that works while a reinforcing loop is in charge (hire more staff to serve more customers) can stop working — or reverse — once a balancing limit (physical space, manager bandwidth) takes over. Skilled mappers anticipate the moment dominance will shift and design interventions that survive the shift.

Example — the Beer Game: MIT Sloan's classic supply-chain exercise (from Jay Forrester's program). Four tiers — retailer, wholesaler, distributor, factory — react to a single one-time doubling of customer demand. Each tier's ordering is a balancing loop chasing a target inventory, but each loop has a shipping delay and an ordering delay. Because the delays are long relative to how fast things change, the loops systematically overshoot: the factory ramps past 40 cases/week, then shuts down, and inventory swings wildly at every tier. This is the bullwhip effect. The players' choices look locally rational yet produce collective disaster — Senge's point that structure, not intent, drives behavior. The leverage point is #9: share point-of-sale data upstream in real time to shorten the information delay.
Example — policy resistance: In the opioid epidemic, prescriptions rose sharply, overdose deaths followed with a ~5-year lag, then policy curtailed prescriptions — yet deaths kept rising as supply shifted to heroin and fentanyl. The fix touched a parameter (#12, prescription rate) while leaving the structure intact: the stock of physically dependent people drains over years, not in response to a supply cut. Including that stock in the model would have predicted the shift. The missed higher-leverage points were the system's goal (#3) and the paradigm (#2) that synthetic opioids were safer.
Common mistake: Building the map alone in a room. A solo map reflects one person's mental model, not reality. The people who live inside the system — the baristas, developers, patients — know stocks, flows, and delays no outside analyst can find from data alone. Sterman makes participatory model-building an explicit phase.

Key Takeaways

  • Start every map by drawing the problem as a trend over time (a reference mode), never as a single event — its shape already hints at the loop structure beneath.
  • Set the boundary on purpose: endogenous, exogenous, excluded. Too tight a boundary leaves the real loop outside, and your fixes won't hold.
  • Use the time-stop test to separate stocks (accumulations) from flows (rates); stocks give systems their inertia and resistance to quick fixes.
  • Count "−" signs to label loops R or B, and list every information and material delay — delays are what turn balancing loops into oscillation and overshoot.
  • Find the dominant loop and the constraint (Goldratt): improving a non-bottleneck improves nothing, and dominance shifts as stocks change.
  • Aim for higher-leverage points (information, rules, goals, paradigms) over parameters, and always trace second-order effects before you act.

Continue reading