Plan-Then-Build vs Iterate-and-Adapt
The overview made the case that a “way of working” is just an answer to one question: how does a group turn effort into outcomes without descending into chaos? Before you can pick a method like Scrum or Kanban, you have to understand the two deep philosophies underneath all of them. Almost every method you’ll ever meet is a variation on one of two ideas: plan it all first, then build it, or build a little, learn, and adjust.
This page teaches those two philosophies from the ground up — what each one is really betting on, when each shines, and why the honest answer is almost never “one is modern and the other is obsolete.” By the end you should be able to look at any piece of work and sense which philosophy fits it, instead of reaching for whichever one your last workplace happened to use.
Two ways to cross unfamiliar ground
Section titled “Two ways to cross unfamiliar ground”Imagine you need to get a group of people from one side of a landscape to the other. There are two honest strategies.
The first: study the whole map, plan the entire route, then walk it. You decide every turn before your first step. If the map is accurate, this is wonderfully efficient — no backtracking, no wasted energy, everyone knows exactly where they’re going and when they’ll arrive.
The second: take a few steps, look around, adjust, take a few more. You don’t commit to the whole route up front because you don’t trust the map — maybe there is no good map. You learn the terrain by walking it.
That’s the entire debate. Everything else — the ceremonies, the boards, the sprints — is machinery built on top of one of these two bets. And the choice between them comes down to a single question: how good is your map? How well do you actually understand the ground before you set out?
Plan-then-build (waterfall)
Section titled “Plan-then-build (waterfall)”The plan-then-build philosophy — often called waterfall, because work flows downward through fixed stages like water over a series of ledges — says: decide everything up front, then execute in sequence. First you gather all the requirements. Then you design the whole thing. Then you build it. Then you test it. Then you deliver it. Each stage finishes before the next begins, and you don’t loop back.
Requirements → Design → Build → Test → Deliver (all) (all) (all) (all) (once)The great strength of this approach is predictability. Because you’ve decided everything in advance, you can produce a real schedule, a real budget, and a real promise: “It will be done on the 14th, and it will do exactly these things.” Everyone can coordinate around that plan. A supplier knows what to deliver; a customer knows what they’re getting; a manager knows when to expect it.
This works beautifully when two conditions hold: the problem is well understood, and change is expensive. Think of building a bridge, running a payroll cycle, or setting up a new hospital ward to a known specification. You don’t want a bridge team “iterating” on where the support pillars go after they’ve poured the concrete. You want them to figure it out completely on paper, where mistakes are cheap, and then build once, correctly. The up-front thinking is the whole point.
Iterate-and-adapt (agile)
Section titled “Iterate-and-adapt (agile)”The iterate-and-adapt philosophy — the family of methods usually called agile — makes the opposite bet. It says: you can’t plan everything up front, because you don’t yet understand the problem well enough. So instead, ship something small, put it in front of real people, watch what happens, and use what you learn to decide the next small step.
Build a little → Show it → Learn → Adjust → Build a little more → ... ↑_______________________________________________|The great strength here is flexibility. You’re not betting everything on a plan being right, because you’re only ever committing to the next short stretch. When you discover that customers actually want something different from what everyone assumed — and on fuzzy problems, they usually do — you can turn without having wasted months building the wrong thing in full.
This works best when the problem is fuzzy and you’ll learn by doing. Think of a cafe experimenting with a new menu, a team building a product nobody has built before, or a clinic trying to improve how patients move through intake. Nobody can write down the right answer in advance, because the right answer only reveals itself once real people interact with a real attempt. Here, a giant up-front plan isn’t wisdom — it’s an elaborate guess dressed up as certainty.
The honest trade-off
Section titled “The honest trade-off”It’s tempting to declare a winner. Resist it. Each philosophy buys you something real and charges you something real, and pretending otherwise is how teams end up using the wrong one.
Up-front planning buys predictability — and bets everything on the plan being right. When the plan is sound, you get efficiency, clear commitments, and calm coordination. But the bet is total: if the world turns out different from your assumptions, you may not discover it until the very end, when change is most expensive. You can spend six flawless months building exactly the wrong thing.
Iterating buys flexibility — and can feel directionless. You stay responsive, you fail cheaply and early, you rarely build the wrong thing for long. But the cost is that you can’t promise much about the final destination, and to people who crave certainty it can look like a team wandering without a plan. Done badly, iteration becomes an excuse to never decide anything — endless motion, no arrival.
Buys you Costs youPlan-then-build predictability rigidity if the plan is wrongIterate-and-adapt flexibility uncertainty about the destinationNotice that these are mirror images. The thing one philosophy is best at is precisely the thing the other is worst at. That’s why the choice can’t be made in the abstract — only against a specific piece of work.
Neither is modern, neither is outdated
Section titled “Neither is modern, neither is outdated”You will hear waterfall spoken of as old-fashioned and agile as the enlightened, modern way. Ignore this. It’s fashion, not reasoning.
Waterfall isn’t a mistake people used to make before they knew better — it’s the correct approach for well-understood problems where mistakes are costly, which is why bridges, aircraft, and buildings are still planned this way. Agile isn’t a universal upgrade — applied to a problem that is well understood, all its checking-in and adjusting is just overhead, a lot of ceremony around a route you could have simply drawn on the map.
The real variable is uncertainty. The more you already understand the problem, and the more expensive it is to change course later, the more up-front planning earns its keep. The fuzzier the problem, and the cheaper it is to adjust as you go, the more iteration earns its keep. That’s the whole decision. A method is not virtuous or backward; it is only fitted or ill-fitted to the uncertainty in front of you.
Real work is usually a blend
Section titled “Real work is usually a blend”Here’s the part the dogma leaves out: in real life you rarely face a project that is entirely knowable or entirely fuzzy. Most work is a mix. And so most good ways of working are a mix too.
The practical move is to plan the parts you understand and iterate on the parts you don’t. A hospital opening a new ward plans the fixed, knowable things in full — the building, the equipment, the staffing rota, the safety procedures — because those are well understood and expensive to get wrong. But it treats the new patient-flow process as something to iterate: try it, watch where patients bottleneck, adjust weekly. Same project, both philosophies, each applied where it fits.
Ward opening├─ Building & equipment → plan-then-build (well understood, costly to change)├─ Staffing & rotas → plan-then-build (known constraints)└─ Patient-flow process → iterate-and-adapt (fuzzy, cheap to adjust, learned by doing)This is the mature view, and it’s what most real teams actually do once you strip away the labels. The question is never “are we waterfall or agile?” It’s “which parts of this work do we understand well enough to plan, and which parts will we only understand by doing?” Answer that honestly, per project, and you’ll reach for the right tool nearly every time.
Try this
Section titled “Try this”Pick one project or task you’re responsible for this week and ask the map question of each part of it: do I understand this well enough to plan it in full, or will I only understand it by doing it? Write the project’s parts in two columns — “plan” and “iterate.” Notice whether you’ve been forcing the whole thing into one philosophy when it actually wants both. Then, for one part you’d put in the “iterate” column, deliberately ship something small this week and see what you learn before committing further.
Reflect
Section titled “Reflect”- Think of a recent project that went badly. Was it a well-understood problem run as if it were fuzzy, or a fuzzy problem run as if it were well understood — and how did the mismatch show up?
- When you start work, what’s your default philosophy — plan it all first, or dive in and adjust? Where did that default come from, and does it actually fit the work you do most?
- What is one thing you’re currently trying to plan in full that you honestly can’t yet, because you’ll only learn the answer by doing it?
- Predictability and flexibility are a genuine trade-off. For your current work, which one do the people around you (customers, your boss, your team) actually need more of — and are you giving them that one?
- Where in your work could a blend serve better than either pure approach — some parts locked down by an up-front plan, others left open to iterate?
Show reflections
- The goal is to feel the two failure modes in your own experience. A fuzzy problem run as rigid waterfall usually shows up as “we built exactly what the plan said and it was wrong.” A well-understood problem run as loose iteration shows up as churn, rework, and missed deadlines on something that could simply have been planned. Naming which one it was tells you what to change next time.
- Most people have a default they never chose — inherited from a boss or an industry. The useful insight is noticing when your default and your actual work disagree: a naturally-planning person doing genuinely uncertain work, or an improviser handling things that really needed a plan.
- This surfaces the specific place iteration would help you. If you can’t yet answer a question on paper — because it depends on how real people react — that part is begging to be shipped small and learned from, not planned in full.
- This is the trade-off made personal. If your stakeholders need firm commitments and dates, leaning hard into open-ended iteration will frustrate them even if the work is technically better; if they need responsiveness, an immovable plan will feel rigid. The method has to serve the need in the room.
- A strong answer resists picking a side and instead draws the line through the project — the knowable, costly-to-change parts planned; the fuzzy, cheap-to-adjust parts iterated. That per-part thinking is the whole skill this page is trying to build.