OODA loop
Cycle through observe, orient, decide and act faster than the situation changes, treating orientation as the step that decides the rest.
- Time cost
- 10 min per cycle
- Output
- A cycle time and an explicitly updated model of the situation.
- Steps
- 5
Use when
- The situation is moving and a decision made slowly will be answering a state that no longer exists.
- You are competing with someone who is also adapting.
- A plan keeps being overtaken by events.
Do not use when
- The situation is stable. Fast cycling adds churn and no information.
- The decision is irreversible. Speed is a liability at a one-way door.
Inputs required
- A live feed of what is actually happening
- Authority to act without re-approval each cycle
Procedure
- 01
Observe
Gather what is happening now, not what the plan expected. Separate observation from interpretation — most failures here are interpretation smuggled in as fact.
- 02
Orient
Update your model of the situation. This is the step that matters and the one usually skipped: prior experience, expectations and analogies all distort it, and a stale orientation makes every subsequent step wrong.
- 03
Decide
Pick an action given the updated model. Hypothesis, not certainty. The decision is provisional because the next observation will test it.
- 04
Act
Do it, and do it in a way that generates observation. An action that tells you nothing wastes a cycle.
- 05
Shorten the loop
The advantage comes from cycling faster than the situation changes, not from any single decision being good. Measure how long a cycle takes and remove what is slowing it.
Characteristic failure mode
Worked example
A shop is losing customers and the cause is unknown.
- 01Observe: takings by hour, not by week — the weekly figure hid the pattern.
- 02Orient: the loss is concentrated in a two-hour window, so the earlier theory about pricing is wrong.
- 03Decide and act: change staffing in that window only, and watch the same measure.
Result
Four days per cycle instead of one month. The reorientation — from a pricing problem to a coverage problem — was what the shortened loop bought.
Where to go next