← All posts

Agile, before the frameworks

What the four values and twelve principles actually say, which ones matter in practice, how to spot agile theatre, and when plan-driven is the right call.

Agile is a page of text, not a tool

The whole of agile is four value statements and twelve principles, published on agilemanifesto.org in 2001. Stand-ups are not in it. Story points are not in it. Neither are sprints, burndown charts, Jira workflows, or two-day certification courses.

That gap matters, because in most organisations “we’re agile” means “we run the ceremonies.” Those are two independent claims. The best team I have worked on ran a perception-model pipeline with no sprint boundary at all — they cut a candidate model whenever the validation set said it was better than the one in the car — and they adapted faster than any Scrum team in the building. A team down the hall had every ceremony, a certified coach, and a six-month cycle from requirement to anything a customer could see.

So read the source. It is shorter than the average onboarding doc.

The four values, read literally

Every value is a comparison of two real things, written as “we value X over Y.” The sentence people forget sits directly under them: while there is value in the items on the right, we value the items on the left more. The right-hand items are not junk. They are the things you sacrifice second, not the things you delete.

Individuals and interactions over processes and tools. When a labelling error shows up in a training set, the fix is one call between the data engineer and whoever wrote the annotation spec. Not a defect ticket that routes through two queues. But the release checklist that blocks a flash of an ECU without a signed hardware-in-the-loop run stays — that process exists because a human once forgot.

Working software over comprehensive documentation. A demo on target hardware settles an architecture argument in ninety seconds; a 40-page design doc argues for a month. And yet in automotive, some documents are the product: the safety case, the interface control document a supplier builds against. Those get written properly.

Customer collaboration over contract negotiation. The OEM integration engineer who joins your Thursday review catches the CAN signal-scaling mismatch in week 3. The one who only reads your milestone report catches it at vehicle integration, in week 30. Contracts still exist — you just stop using them as the primary channel.

Responding to change over following a plan. Plans are how you find out you were wrong. Keeping one after the evidence changed is the failure, not having one.

Individuals and interactions Processes and tools
<text x="8" y="74" fill="var(--heading)">Working software</text>
<text x="632" y="74" text-anchor="end" fill="var(--text-muted)">Comprehensive documentation</text>
<rect x="8" y="82" width="624" height="14" rx="3" fill="var(--surface-2)" stroke="var(--border)"/>
<rect x="8" y="82" width="436" height="14" rx="3" fill="var(--accent)"/>

<text x="8" y="134" fill="var(--heading)">Customer collaboration</text>
<text x="632" y="134" text-anchor="end" fill="var(--text-muted)">Contract negotiation</text>
<rect x="8" y="142" width="624" height="14" rx="3" fill="var(--surface-2)" stroke="var(--border)"/>
<rect x="8" y="142" width="436" height="14" rx="3" fill="var(--accent)"/>

<text x="8" y="194" fill="var(--heading)">Responding to change</text>
<text x="632" y="194" text-anchor="end" fill="var(--text-muted)">Following a plan</text>
<rect x="8" y="202" width="624" height="14" rx="3" fill="var(--surface-2)" stroke="var(--border)"/>
<rect x="8" y="202" width="436" height="14" rx="3" fill="var(--accent)"/>

<text x="8" y="250" fill="var(--text)">Left is weighted higher. Right is not zero.</text>
The four value pairs. Each right-hand item keeps real weight — the manifesto says so explicitly.

The principles that carry most of the load

Twelve principles, and they are not equally load-bearing. In my experience four of them do most of the work, and if you only get these four you will already outperform a team doing full Scrum without them.

Working software is the primary measure of progress. This is the one that kills status theatre. “Perception module 80% complete” means nothing. “The model runs on the target SoC at 22 ms and the drive log replays clean” means something.

Deliver working software frequently — weeks, not months. Short cycles are not about speed for its own sake. They bound how wrong you can be before someone tells you. A three-week integration cadence means a bad interface assumption costs three weeks; an annual one means it costs a year.

Simplicity — maximising the work not done. The most valuable thing a senior engineer does is delete a requirement. The config framework nobody asked for, the abstraction layer for the second vendor that never arrived: that is where schedules go.

At regular intervals the team reflects and adjusts. This is the only self-correcting mechanism in the document. Everything else is a static rule; this one lets a team fix its own rules.

The others matter — sustainable pace, technical excellence, motivated individuals given trust — but they tend to follow from these four rather than lead.

What actually changes, and what doesn’t

What changes: decisions move to the people holding the evidence. Integration stops being a phase and becomes a daily condition. Estimates become forecasts you revise, not commitments you defend. Requirements arrive as conversations plus acceptance criteria instead of a frozen 200-page spec. Rework gets found in week 3 instead of week 30.

What does not change: the work still takes as long as it takes. Agile is not a productivity multiplier and anyone selling it as one is selling something. Hard problems stay hard — a sensor fusion stack with a latency budget is difficult under any methodology. Code review, CI, static analysis, coding standards, traceability: all still mandatory. Deadlines still exist. You still need architecture; “emergent design” does not mean “no design,” it means the design is allowed to be corrected by what you learn.

Agile theatre

The common failure is a team running every ceremony and shipping at exactly the pre-agile rate. The ceremonies were adopted; the values were not. It is diagnosable from symptoms.

SymptomWhat it’s supposed to beThe fix
Backlog nobody grooms — 300 stale items, top of list written 8 months agoA ranked, living list of the next most valuable workDelete anything untouched for 90 days. If it matters it comes back. Groom 30 minutes a week, top 20 items only.
Retro with no action items, or the same three complaints every timeThe team’s mechanism for changing its own processOne action per retro, named owner, checked at the next retro. Zero actions two retros running means stop holding it.
”Sprint” whose scope is set by someone outside the team, mid-sprintA commitment the team makes and controlsThe team decides what enters the sprint. Anything urgent enters by displacing something — visibly, with the person asking present.
Velocity used as a performance metric across teamsA rough planning aid, internal to one teamStop reporting it upward. Report shipped increments. Points inflate the moment they are graded — you have measured nothing.
Daily stand-up as a status report to the leadPeer coordination and unblockingFace the board, not the manager. If nobody’s plan changed as a result, cancel it and use a channel message.

The tell is always the same: the ritual persists after the feedback it was meant to produce has stopped arriving.

When plan-driven is genuinely the better choice

Agile is not universally correct, and pretending otherwise costs credibility with the people you need to convince.

Safety certification. ISO 26262 or DO-178C work needs requirement-to-test traceability, staged reviews, and frozen baselines. You can run agile inside a work product, but the audit trail is plan-driven by construction, and that is correct — the cost of a field failure is not measured in story points.

Fixed-scope, fixed-price contracts. If someone signed for a defined deliverable at a defined number, “welcome changing requirements” is a commercial problem, not an engineering virtue. Change control exists because change costs money that must be attributed to someone.

Hardware-coupled schedules. Tooling lead times, B-sample dates, and validation vehicle slots do not iterate. Software feeding those gates plans backwards from an immovable date. Iterate inside the gate; do not pretend the gate moves.

The honest position: use the values everywhere, use the ceremonies where they pay, and use plan-driven process where the constraint is real.

Monday

  • Read the manifesto out loud with your team. Fifteen minutes. Most people have never read it.
  • Pick your longest feedback loop — idea to something a user can touch — and measure it in days. That one number is your agility. Halve it.
  • Cancel one ceremony that produced no decision in the last month. Notice whether anything breaks.
  • At the next retro, leave with exactly one action item and an owner’s name against it.
  • If you report velocity to anyone outside the team, stop this week. Replace it with what shipped.
  • List the constraints on your project that genuinely cannot iterate. Plan those. Iterate everything else.