A3.1 · Agile, distilled · dive 2
Inspect and adapt
Under every Agile practice is one engine: build a thing, inspect what it reveals, adapt the plan. Strip the ceremony and this engine remains.
Inspect-and-adapt is the empirical core of Agile — examine a shipped increment, then change the plan in response, rather than commit to a plan up front. It is the second half of the loop: demo → review → feedback → adapt. Switch the view on the right to map each cycle phase to its loop stages.
The cycle · mapped to the loop
The engine under the practices
Strip a standup, a retro, or a sprint review down to what it is for and the same engine appears: build a thing, inspect what it revealed, adapt the plan in response. That is the empirical core of Agile — decisions made from what a real increment showed, not from a plan committed to up front. The ceremony around it is variable; the engine is constant.
The Author/Operator loop is this engine, run by two roles. Its first half — sharpen → build → ship — produces a running increment. Its second half — demo → review → feedback → adapt — is inspect-and-adapt by another name: the Operator demos and reviews what shipped, gives feedback, and the plan adapts. The unit inspected is always a shipped, running rung; the thing that adapts is the plan, not the rung that was demoed.
- inspect-and-adapt
- The empirical core: examine a shipped increment, then change the plan in response — rather than commit to a plan up front and follow it.
- build
- The loop's first half: sharpen → build → ship. A thin rung becomes running software.
- inspect
- The loop's demo → review. The Operator runs the rung and judges it against the spec. Inspection reveals; it does not change anything yet.
- adapt
- The loop's feedback → adapt. Feedback edits the spec; the roadmap re-orders. The plan changes, not the rung that was demoed.
The unit inspected is a shipped rung — which is why working software is load-bearing: there is nothing to inspect without it.
What is inspected, and what adapts
Inspection and adaptation act on different things, and conflating them is the common mistake. What you inspect is the shipped increment — the demo. What you adapt is the plan: the spec, the single source of truth, and the order of the roadmap. The demo is read, not written; it is evidence, not a target. And the code is never patched in isolation — a patch that does not land in the spec forks the code from the source of truth, and the spec starts to lie about the system.
Select a candidate below to see whether feedback adapts it. Two of the four candidates are valid adapt targets — the spec and the roadmap order; the demo and the code-in-isolation are not. This is the rule that keeps inspect-and-adapt honest: feedback edits the plan, and the increment is regenerated from it.
A candidate · does feedback adapt it?
Inspect the increment; adapt the plan. Feedback lands in the spec and the roadmap order — never in the demo or the code in isolation.
Inspect-and-adapt on the Portal
On the Portal — the learning platform this course builds — the web chapter F6 runs this engine every rung. The roadmap's iteration table names, per rung, the demo (“hit the root, see a page”, “browse the catalog; create with inline errors”) and the feedback asked (“shell and layout right?”, “layout, UX, error wording?”). The Operator inspects the shipped rung against that demo, gives feedback, and the plan adapts before the next rung is built.
Crucially, what adapts is the spec, never the engine under it. Every F6 rung calls only the
Portal facade, so when feedback edits a rung's spec, the read model and supervision
tree below the facade do not change to suit it. Inspect the web surface; adapt the rung's spec; the engine
underneath stays still.
# F6 runs inspect-and-adapt per rung: build → ship, then demo → review → feedback → adapt. # BUILD: a thin rung becomes running software over the Portal facade. id = Portal.ID.generate(:course) # the shipped increment to inspect # INSPECT: the Operator demos and reviews — "layout, UX, error wording?" assert Portal.ID.decode(id).type == :course # judged against the spec # ADAPT: feedback edits the SPEC, not the demo or the code in isolation; the roadmap re-orders. # the engine under the facade never changes to suit the feedback.
The principle
Inspect a shipped increment; adapt the plan, not the increment. Feedback lands in the spec and the order of the work, and the increment is regenerated from the adapted plan.
On the Portal
On F6, demo → review → feedback → adapt runs after every rung ships;
feedback edits the rung's spec and the roadmap re-orders — the engine, code, and supervision tree
under the Portal facade never change to suit it.
Inspect-and-adapt is the loop's second half: build reveals, inspection judges, and the spec is what adapts.
Recap — the constant engine
Inspect-and-adapt is the empirical engine under every Agile practice: build a thing, inspect what it reveals, adapt the plan. It is the loop's second half — demo → review → feedback → adapt — and the thing adapted is the plan: the spec and the roadmap order, never the demo or the code in isolation. With the engine fixed, the closing dive sorts the practices around it — what to keep, what to adapt, what to drop.
Next in A3.1: A3.1.3 · Keep vs ceremony — classify each common Agile practice keep, adapt, or drop for a one-agent / one-reviewer pair.
References
The empirical, feedback-driven tradition this engine comes from, and where the loop it names is drawn in the course.
Sources
- Humble, J. & Farley, D. — Continuous Delivery — fast feedback from a releasable increment, inspected and acted on.
- Beck, K. — Extreme Programming Explained — the inspect-and-adapt loop and continuous feedback.
- Hunt, A. & Thomas, D. — The Pragmatic Programmer — the single source of truth feedback edits.
Related in this course
- A3.1 · Agile, distilled — the module hub.
- A3.1.1 · The values — the previous dive.
- A3.1.3 · Keep vs ceremony — the next dive.
- A1.03 · The Author/Operator loop — the loop this engine runs.
- A1 · Why an Agile Agent Workflow — the case for thin, provable slices.
- Companion · Phoenix (F6) — the rungs this engine inspects and adapts.