It’s Tuesday morning. A PM is waiting on comps that were promised last Thursday. The designer is waiting on answers product owes her from a meeting that keeps moving. The engineer has the ticket open, knows the fix in his head, and has nothing he’s allowed to build yet. Three capable people, all blocked, all busy. That’s not a dysfunctional team. That’s the relay working exactly as designed. Hold the picture; we’ll run it again at the end.
This is an opinionated account of how we actually build, not a balanced survey of AI in software. It’s written for people who want to change how they work, and it’ll ask a real trade of you: async by default with live workshops when the climb needs them, throwaway builds treated as a tool, design done in the running product, and a habit of seeing the next turn and taking it rather than waiting to be handed it. This is how we build at Frequency. We run it every day. It cost us the daily standup, the comprehensive comp, and the comfort of being the only hands on the work — and we’d make the trade again. And if you run an engineering org, read it as an economics argument first: the unit cost of a working version collapsed, and most processes still price it like it’s expensive. Everything below follows from repricing that one input.
Building software used to be a relay race. A spec slid from product to design to engineering, each discipline taking its turn, each waiting for the one before. That made sense for a long time. It doesn’t anymore, and the reason is smaller than it sounds. Almost nothing about how we build needs to change. The steps are the same ones the industry already trusts. The disciplines are the same. The loop is the same. What changed is that AI touches a few specific points along the way, and those touches quietly rearrange everything around them. Product development and software development used to take turns.
Now they climb together. And the titles blur as they do: a PM can stand up the working prototype that used to require an engineer, and an engineer gets pulled into the product calls that used to arrive already decided. AI lets anyone produce the asset a given step demands, so who does the work stops being fixed by job title and starts being whoever’s closest to the question. None of these moves are new. Being able to afford them is. Once you can, the old order stops fitting, and a different one falls out almost on its own. Switchback is what you get when you stop bolting AI onto the old order and instead ask, at every single step, where it actually does its best work, and where it does none, then let the honest answers redraw the sequence. Map keeps its hands off the vision. Explore hands it the wheel. Every step uses AI exactly as much, and as little, as that step rewards. The name comes from how a trail takes a mountain too steep to walk straight up — it cuts back and forth across the slope, and every turn is what makes the climb possible. Hold that picture too; the whole method lives inside it.
Picture the old ways of the software development life cycle for a second. Not one way, really. We tried a lot of them, and we kept trying to fix them. Waterfall marched a spec down a line of specialists. Scrum chopped the march into two-week pieces and called the pieces sprints. Kanban put the work on a board and watched it flow. The V-Model folded the line into a V so testing finally answered back to requirements. Boehm’s Spiral wrapped it in risk-driven loops. Agile made short iterations the default. They argued about cadence and ceremony and who owned what, and the arguments were real. But pull any one apart and underneath they all kept the same shape: requirements, design, build, test, passed between the same people in the same order, work mostly moving between disciplines in well defined handoffs. We made the loop smaller and faster, and never touched its shape. The wall just got repainted every few years.
Fidelity only climbed. An idea started as a sketch, became a comp, became a build, and each step cost more than the last. So going backward was expensive. You committed to a direction early, while everything was still cheap, and then you poured your real effort into raising the fidelity of that one bet. Trying five ideas for real? Building the thing twice on purpose? Nobody could afford that. We called it process, and we shipped, eventually.
That shape only ever made sense because building was the expensive part. So you protected it. You front-loaded everything cheaper than code, you handed off cleanly between specialists, and you waited your turn. Reasonable. For about thirty years.
Then the cost of reaching a working version fell through the floor, and the relay stopped making sense at all. Suddenly anyone could reach working software, and everyone went their own way with it, improvising in every direction with AI and no shared shape to climb.
Then the cost of reaching a working version fell through the floor, and the relay stopped making sense at all.
So here’s where most teams actually landed. The old walls came down and nothing went up where they’d been. What you get instead is a quieter kind of mess. Nobody’s sure who’s holding what. An agent runs a research spike, hits a fork, and stops to ask the one question only product can answer, and product is heads-down in another meeting, so the spike either stalls or engineering guesses. You try ten directions in a week and throw most of them away, which is the whole point, except now you can’t tell what any of it added up to, or whether the codebase got better or just bigger. Progress stops being something you can feel. You shipped a lot of motion. You’re not sure you climbed.
It flips the math on bite size, too. Agile shrank the bites to keep risk survivable back when building was slow and expensive. Now that a working version is cheap, you can afford bigger bites again: a whole microapp built in one pass to a working plateau — a real, usable version you stop and stand on, the resting point this method is named for — not a single feature nibbled off per sprint. Bigger bite, then stop and decide.
Before we walk the trail, three words have to mean something, because the whole climb runs on them: Value. Learning. Progress.
Value is working software in front of someone who can react to it. Not a deck, not a comp, not a description of what we’re going to build. It’s the earliest version a customer or a stakeholder can actually use and push back on. The sooner that exists, the sooner you know whether you’re building the right thing at all. Learning is what that reaction hands you. Every plateau is a question put to a real person: is this it, or did we just find out it isn’t? You don’t earn that answer by guessing harder up front. You earn it by getting something real in front of someone early and listening to what comes back.
Progress is the one that’s easy to fake — ten experiments and a busy changelog can be pure motion. Progress is climbing: the summit visibly closer because something real was learned, together, not in turns.
That’s the why. The rest of this is the how. We break the climb into twelve steps, grouped into four phases: Discover, Frame, Plateau Loop, and Ship. Each step has a job to do, a point where AI earns its keep and a point where it stays out of the way, and a gate to clear before you move on. Laid out on the page they look like a straight line, and they aren’t: you’ll cut back and forth between them all day, which is the whole point and the name. But you have to know the steps before you can leave them on purpose, so we’ll walk them in order first, starting where every climb starts: Discover.
Phase A · Discover
Map the problem, explore the options, pick a path that everyone agrees looks promising.
1
Map
Lay the whole product out as user stories, the spine of what people actually need to do, before a single token gets spent building. A shared map of the problem the whole team can stand around, argue over, and agree on before anything moves.
AI
AI brainstorms and summarizes the research, but stays out of editing the vision itself, so the story map stays free of AI slop and bloat.
Deliverable
A clear, concise story map
Gate
MVP Stories Mapped
2
Explore
Fan out a dozen real directions and actually try the interactions instead of describing them. Keep it broad-stroke UX, not UI: the flow and the feel, not the fonts and tiny decisions that come later. Lean into vibecoding, throwaway and fast, and don't sweat polish yet. You want to feel which options have legs.
AI
AI generates a dozen clickable directions in an afternoon, so 'let's just see it' becomes the default instead of another week of debating it.
Deliverable
Several rival directions to react to
Gate
Multiple options illustrated.
3
Shape
Walk into the session with the wireframes already prepped, so the hour goes to deciding rather than drawing. Pick the direction that is right, set the appetite for how much it deserves, and cut the options that do not earn the climb.
AI
AI iterates the options live in the meeting, reshaping the wireframes in real time as the room debates, so the decision lands on screen.
Deliverable
A chosen direction at a fixed appetite
Gate
Bad ideas eliminated.
Map
Every climb starts before anyone agrees on a direction, with somebody pulling out a map. And here, in a method that puts AI in the loop everywhere else, is the one place you keep its hands off. The vision is the single artifact you do not want a model quietly padding out. A bloated map is worse than no map. It launders guesses into something that reads like rigor, and every step downstream inherits the guess as if it were settled. So the human draws the spine of what people need to do , AI fetches and summarizes the research feeding it, and the line between those two jobs stays bright.
The map: the backbone, the stories, the MVP line. The warm cards arrived mid-climb. The one artifact AI never edits.The map is not a PRD. It does not say how to solve anything. It says what people need to do, not how they should do it, and that restraint is the point: the moment you write the solution into the problem, you have picked a path before you have seen the options. Keep it clear, keep it concise, keep it about the problem. We start every map in storymaps.io . It existed long before we did, it’s free, and it does one thing well: a shared map you build as a team and export straight into Linear when the stories are ready to become work. Start here. Not because the tool is magic, but because the discipline is. Mapping by hand, as a team, is what keeps the vision yours and keeps the AI bloat out before it can creep in. This is the one artifact you build deliberately, and the whole climb is steadier for it.
Explore
One afternoon of Explore: three earn the stamp, one earns the climb.Then you go wide , and this is where old habits die hard. We were never precious about sketches, because sketches were cheap. We got precious about wireframes and prototypes because they got expensive, and somewhere along the way “throwaway” became a dirty word. AI made them cheap again. So the preciousness should evaporate with the cost. Explore is a dozen real, clickable directions you fully intend to discard, because the fifth one costs about what the first did and the only way to know which has legs is to feel it, not to argue it in the abstract.
Shape
Shape, live: prepped at 10:04, reshaped by 10:24 — the decision lands on the real thing.Shape is where you stop drawing and start deciding. Walk in with the directions already prepped and spend the hour choosing, not producing. There’s an honest tradeoff here, worth naming: prepping the wireframes ahead of time tilts the room toward what got drawn. We’ll take that trade every time. A room arguing over three real things decides better than a room inventing one thing from a blank wall, and the appetite you set on the winner matters more than the polish you’d have burned the hour on.
Notice who did all this. Not “product, then design.” Discover used to be a relay of turns. Now it’s whoever is closest to the question, holding the pen until the next person needs it. That blur is not a bug to manage. It’s the phase working as intended.
Phase B · Frame
Turn the path into shared pieces and an order, ready to build in parallel.
4
Identify
Name the components, schemas, and systems worth pulling out, before the team cheerfully builds the same thing five different ways. Decide what becomes shared substrate now, while it is one decision instead of five cleanups later.
AI
AI scans the chosen direction for shared pieces and flags what should become a reusable component or schema before duplication sets in.
Deliverable
The shared pieces, named and claimed
Gate
Reusable parts identified.
5
Breakdown
Write the chosen direction down as a real spec, literal enough that whoever builds it has something exact to work from and QA has something exact to check. The same artifact authors the work and verifies it later, which is why it is worth getting right.
AI
AI drafts the spec from the shaped direction, then you correct the intent and tighten the contract before anyone starts to build.
Deliverable
A spec precise enough to build from
Gate
Spec written and reviewed.
6
Sequence
Sort out what runs in parallel and what has to go first, which matters far more when several people are building at once and moving fast than it did when work crawled through one queue. Map the dependencies once so independent work fans out at full speed and nothing collides.
AI
AI maps the dependency graph so independent work runs all at once and parallel changes never trip over the same shared files.
Deliverable
A plan the team can run in parallel
Gate
Dependencies mapped, work parallelized.
Identify
Discover was loose on purpose. Frame is where that ends. You picked a path, and now you turn it into something the team can build at once without tripping over each other. That starts with the least glamorous move in the whole climb: naming the pieces worth sharing before anyone builds them. Skip it and you get five parallel efforts inventing five versions of the same button , the same table, the same auth check, each subtly different, each now a thing you maintain forever. Identify is you walking the chosen direction and pulling out the components and schemas that should exist once. It is boring, and it is the difference between a system and a pile.
Breakdown
Here’s the part that feels like a step backward and isn’t. You stop prompting and start specifying. After a phase of throwaway and vibe, writing a real spec can feel like sliding back into heavy process, the documents and sign-offs we were all glad to leave behind. It isn’t the same thing. The spec isn’t there to slow you down or cover anyone. It’s there because whoever picks it up needs something literal to build against and QA needs something literal to check against, and the same artifact does both jobs. Vibe is how you explore. A spec is how you produce. Start vibe, finish spec-driven , and don’t confuse the two phases for each other.
Sequence
With people, sequencing was a polite suggestion. You’d note that the API should probably land before the UI and trust the team to sort the rest in standup. Once several people are building at once, each moving fast with agents at their side, the order is the whole game. What can run in parallel, what has to wait, which tasks touch the same files and will collide if they run together. Get it right and the work finishes in the time of the longest single path. Get it wrong and the changes overwrite each other and you find out at merge. Sequence is the map of that dependency graph, and it matters more now than it ever did in a room moving one ticket at a time.
Frame is the quiet phase. No demos, no wide exploration, just the unglamorous work of turning a direction into pieces, contracts, and an order. It’s also the phase that makes everything after it go fast. The discipline you spend here is what lets the team fan out across the work and trust that everyone builds the same system, not five arguments about what the system was supposed to be.
Phase C · Plateau Loop
Build, look, decide, climb
7
Draft
Stand up the first working version that runs end to end on the services and components you already own. It comes up rough but real, the whole path wired together, something the team can click through and react to the same afternoon.
AI
AI builds the running skeleton straight from the spec in one pass, while you hold the scope and keep calling what is in and what stays out.
Deliverable
A running end-to-end draft
Gate
Something real to react to
8
Refine
Once it works, make it good. The care that used to pour into hi-fidelity comps lands here instead, on the running interface, where you judge polish against the real thing and tune the details that only surface once it is live and moving.
AI
AI turns your design and interaction calls into changes against the live build in minutes, so you direct the polish instead of redrawing it.
Deliverable
A polished, usable build
Gate
Polished to the plateau
9
Reckon
Gather around the real build and make the honest call. Either this is close enough to keep, or you learned enough to rebuild it properly from a clean start, climbing from a higher ledge while the substrate underneath carries forward.
AI
AI summarizes what changed and what is still open, framing the keep-or-rebuild decision so the room makes it against the real thing.
Deliverable
A plateau call, or a clean restart
Gate
Plateau signed off
10
Rebuild
If Reckon says climb again, start from the higher ledge and do it properly. The substrate never moves: components, schemas, and systems hold their ground while the layer on top gets rebuilt with everything the first pass taught.
AI
AI rebuilds clean from the updated spec in one deliberate pass, lessons applied, while the systems you already established carry forward.
Deliverable
The better pass, standing
Gate
The better pass stands
Draft
Now you build, and the first thing you build is deliberately rough. A Draft is a
walking skeleton : the thing running end to end, every screen reachable, every path connected, standing on the components and schemas you named back in Frame. It is not pretty and it is not done, and that is the point. You’re getting something real all the way through before you refine any one piece, because a rough thing that runs tells you more in a day than a perfect thing on paper tells you in a week. The roughness isn’t a compromise you apologize for. It’s the fastest way to put something real in front of someone.
Refine
Then design comes back, and here is the change that should feel strange if you’ve been doing this a while. Refine happens against working software , in the codebase, not in a comp three steps removed from it. The old loop sent design away to produce new files that someone then had to rebuild. Now the designer tags into the real thing and tunes the spacing, the states, the copy, on the actual running build. Working software is the best brief you’ll ever get. You refine the edges that actually bite, the ones you can only see because the thing is real, instead of guessing at them from a static picture.
Same screen, one day apart: the skeleton ships with holes on purpose; the polish lands on the running build.And none of this is actually new, which is worth saying out loud. Refining against the running thing always happened, it just happened in the cracks. An engineer would stand up a rough functional version as they coded, then nudge it until it matched the designs, and nobody called it a step because nobody saw it. Switchback pulls that moment into the open and names it. What changes is what we save for it: the real design work, the spacing, the states, the polish that used to get poured into a comp up front, now lands here instead, against working software, at the one moment it’s actually needed. The instinct is the same one engineers always had. We just stopped paying for it early.
Reckon
Reckon: the build on screen, the ledger beside it — close enough to keep, or did we learn enough to do it right?This is the honest moment, and the one most teams flinch at. You stand around the real build and make a call: is this close enough to keep climbing, or did we just learn enough to do it properly from a clean start? Fred Brooks told us to plan to throw one away half a century ago, and we mostly nodded and ignored him. But when Brooks threw one away, the architecture went with it. That was the whole cost, and nobody could pay it twice. We don’t have that problem. The substrate stays; only the top layer goes. Throwing away a draft you built this morning isn’t a confession of anything. It’s just the cheapest way you had to learn what the real thing needed. So when Reckon says start over, that’s not the plan breaking down. That’s the plan working. Reckon is a scheduled decision point, not a postmortem.
Rebuild
If Reckon says climb again, Rebuild starts from a higher ledge. You take everything the first pass taught you and do it properly, in the spirit of spike and stabilize: the spike was the probe, the stabilize is the real build that learns from it. And here’s why starting over doesn’t hurt. The substrate underneath never had to move. The components, the schema, the systems you established hold their ground while you rebuild the layer on top. You’re not back at the bottom of the mountain. You’re standing on everything the climb already earned, building the next pass from higher up.
This is the loop the whole method is named for. Draft, look, decide, climb. It’s where building finally became cheap enough to do twice on purpose, and doing it twice on purpose is what makes the second one good. The relay never had room for this. You got one pass and you defended it. The Plateau Loop gives you as many as the climb needs, each one starting higher than the last.
Phase D · Ship Continuously
The bar every change clears
11
Review
By now you like what you have, so this is where you productionize it. Code review is the line between a prototype that merely runs and code fit for production, read closely by a human the way anything customers will depend on deserves.
AI
AI pre-reviews the diff and flags risk, regressions, and missing tests, so your attention goes to the judgment only a human can bring.
Deliverable
Production-ready, reviewed code
Gate
Signed off by a human
12
QA
Verify the element does exactly what the spec said it would, and that nothing already working quietly broke on the way. Match the depth of testing to the size of the change, asking no more ceremony than the change actually earns.
AI
AI writes and runs the tests against the spec, then surfaces the regressions and edge cases before the change ever leaves the loop.
Deliverable
Tests passing at the right level
Gate
QA passed
Release
Send the element out on its own cadence, one small atomic change moving through the pipeline on its own. A single polished component can ship to production while the larger feature it belongs to is still several plateaus from done.
AI
AI runs the mechanical pipeline steps and drafts structured release notes from the change set, so shipping stays boring and repeatable.
Deliverable
Shipped substrate that compounds
Gate
Released and recorded
Review
Here’s where the skeptic finally gets an answer. If you’re throwing builds away and moving this fast, where’s the rigor? Right here. Nothing leaves the loop without a real
code review , the kind where a human reads the diff and owns what merges. Move fast and throw away cheap does not mean ship slop. The two were never in tension, because the thing you throw away is the exploration, and the thing you review is what survives it.
And this is where the hours go now. When the build gets drafted in minutes, the keystrokes stop being the cost and the reading becomes it. Review is often the single biggest block of human time in the whole climb, and that’s the trade working as intended: you spend it on judgment, not typing. Three things happen here at once. You set the gates, the bar each change has to clear before it earns its place up the mountain. You enforce DRY again, catching the duplicate component or the second copy of a schema that slipped past Identify while everyone was moving fast. And you take the work the last stretch to production-ready: the hardening, the error paths, the edge cases a prototype skips and a shipped system can’t. The build came together in minutes, which is exactly why you have the time to read it this carefully, not less.
QA
QA closes a loop you opened back in Frame. The spec the build came from is the spec QA checks against, because both are literal and both are the same artifact. That’s the quiet efficiency of spec-driven work: the thing that authored the build also verifies it. This isn’t a three-week QA gauntlet bolted on at the end. It’s a real check, sized to what’s shipping , run continuously as pieces come out of the loop rather than saved up for one terrifying release.
Two things gate the door to Deploy alongside that spec check: tests and documentation. They sit here for a reason. Ship is the first moment you are committing to keep what you built. Everything before it in the Plateau Loop was a draft you might still throw away, and tests and docs written for a build you rebuild tomorrow get thrown away with it. So you hold them until you are near the summit, when the thing is clearly staying. If you are keeping it, you want tests that prove it works and docs that tell the next person how. If you are not, you were right not to spend the time. Write them test-driven earlier if that is your style, the choice is yours, but the gate is not optional: nothing ships without both.
Release
And Release isn’t a finale. It’s a gate that pieces clear all the way up the climb. A refined component ships this afternoon while the larger feature it belongs to is still an open question two plateaus above it. Atomic changes, CI/CD, structured release notes, all running on the substrate every app shares, and each deploy hardens that substrate a little more, so the next build starts higher still. You aren’t waiting for a finish line to ship value. You’re shipping the parts that earned it, continuously, and what ships is the durable stuff, not the throwaway.
This is the difference that matters most. Ship stopped being the last phase and became a standing discipline. The throwaway top layer never ships. The substrate underneath always does, the moment it clears the gate. That’s how you build value the whole way up instead of all at once at the end, and it’s why a switchback two plateaus later doesn’t cost you the ground you already shipped. Then you watch what happens in the wild, and what you learn flows right back into the next Map. It was a circle the whole time, not a line.
So what’s a Switchback?
Look at how a trail climbs a steep mountain. It never goes straight up. It cuts back and forth across the slope, each turn trading a little extra distance for a grade you can actually walk. Try to march straight at the summit and you burn out a quarter of the way up. The hiker who zigzags looks like they’re going sideways half the time, and they reach the top first. The doubling back isn’t lost ground. It’s the only thing that makes the climb possible.
Building works the same way now. A switchback is the move you make the moment the climb tells you something you didn’t know at the bottom. You decide who it needs next and you pull them in, right at the altitude where they matter. Sometimes that’s product, sometimes design, sometimes no one but you. Each turn looks like sideways motion. Each one is how you keep your footing on a slope too steep to take head-on.
| The climb tells you | Who you pull in | The switchback | The old way |
|---|---|---|---|
| A new user story surfaces mid-prototype, one no doc could have predicted because it only became real once the thing was real | Product, to reframe the problem | Cut back to Discover and pick it up | Log it for next quarter, ship what you already specced |
| Three directions go in front of stakeholders and the assumed favorite falls flat | Stakeholders, to choose for real | Abandon it, take a different line up | Build the favorite anyway, the plan was approved |
| Late in the build, the thing works but feels rough | Design, to polish it in the codebase | Climb back to Refine | Design reopens the comps and hands new files down the line |
| You hit a fork mid-build the spec doesn't cover | Product, for a fast call | Cut back to Breakdown, tighten the spec, resume | You guess, and find out in QA |
| Reckon says you learned plenty but the foundation is wrong | Engineering, to rebuild clean | Throw out the top layer, climb from the substrate | Sunk-cost forward on a shaky base |
| You want to branch off and try something unrelated, just to see | No one. It's your idea, go | Spin up an experiment two plateaus up | Nobody has a spare sprint to gamble |
None of this is new behavior. Every row is something a good team always wanted to do. What’s new is that you can afford to. AI collapsed the cost of each step, so doubling back stopped being a detour you dread and became a turn you take without thinking. And once it’s that cheap, you don’t do it once a project. You do it several times a day. Agile said respond to change over following a plan, then made changing course cost a ceremony. This is that promise with the cost finally taken out. You don’t schedule the turn and you don’t apologize for it. You see the better line and you take it.
Here’s a real one, so the table isn’t hypothetical. Monday, forty minutes at the map. Tuesday, four directions on the screen by lunch, three killed by two o’clock. Wednesday, a walking skeleton the stakeholders clicked through themselves — and clicking it surfaced a story no doc would have found, which went onto the map before the meeting ended. Thursday, Reckon said rebuild: the foundation was wrong, and finding that out cost us a day, not a quarter. Friday, the second pass shipped its first two components to production while the feature they belong to stayed an open question. One week, five switchbacks, nothing lost. Check that against your current calendar — that’s the whole pitch.
That’s also the part most teams aren’t ready for. A process built to absorb one reluctant change of course will buckle when the team is switchbacking by the hour. The speed is the easy part. Being built for it is the work. Anyone can be pulled in at any altitude, which means everyone has to be reachable at any altitude. No one disappears into a two-week silo, because the climb might need them on the next turn.
And here’s what makes the doubling back sustainable instead of exhausting: you never climb back down past the last ledge. Every phase leaves one. Discover leaves you stories and a map. Frame leaves you named components and a spec. The Plateau Loop leaves you working systems. Each one is solid ground that holds while you cut back and try a different line above it. That’s why a switchback costs an afternoon instead of a sprint. You’re not starting from the bottom. You’re standing on everything the climb has built so far, and taking the next turn from higher up.
The walls were holding up deliverables
The walls weren’t bureaucracy. They were load-bearing. Every discipline needed weeks of solo work to produce its deliverable before the next one could start: design couldn’t move until product handed over a finished spec, and engineering couldn’t move until design delivered comps.
What changed isn’t the walls. It’s the deliverables. A spec, a comp, a working prototype — the things each discipline used to disappear for weeks to produce — got cheap and fast. And once a deliverable is cheap to produce, the person who makes it doesn’t have to be the specialist who always made it. Product spins up an experimental branch with a clickable preview, not to ship it, but to put a real thing on the table and argue for it. Design weighs in on UX against that running preview, then tweaks the components after they’re built, in the real interface, not in a file the build will only imitate. Anyone with the tools can move a deliverable forward. So the waiting dissolves. Not because we tore down the walls, but because the thing the walls were holding up got light enough to pass around. The disciplines stay. The twelve steps stay. We just reach for the right one at the right moment, instead of running all of them, in order, every time.
Switchback isn’t a chain of handoffs. It’s the same people, weaving in and out of one build.
The real shift: who’s holding the pen
Look back at that walk up the trail. The interesting thing isn’t any single step. It’s who shows up for each one, and who steps away. That movement is the actual shape of Switchback.
One climb, three threads, no batons: the pen moves to whoever is closest to the question.Product
In for:
mapping the vision, shaping direction with stakeholders, and reviewing the real thing once it runs.
Steps back for:
concepting every screen and babysitting a functional prototype. That’s on purpose.
Design
In for:
shaping, pulling out the components worth reusing, then refining the build once there’s something real to refine.
Steps back for:
vanishing for two weeks on pixel-perfect comps nobody needs yet.
Engineering
In for:
the whole climb. Turning shaped direction into something that runs, then rebuilding from what each pass teaches.
The through line. AI rides along the entire way.
Here’s the unlock that makes the weaving possible. AI means non-engineers can actually do the steps now, not just describe them and wait. A PM can map and shape with real artifacts instead of a slide. A designer can generate concepts and refine components directly instead of filing a ticket and losing a sprint. The work moves to whoever is closest to it, because the tools finally allow it. We only ever handed off because one role physically had to do each part. That wall is mostly gone.
To be clear, this isn’t vibe coding . As Simon Willison and Thoughtworks keep saying, the discipline was never in the vibes. It’s in pulling the right people in at the right moment, and getting out of the way the rest of the time.
What it asks of you
None of this is free. The speed is the easy part to fall in love with. The hard part is what the model asks of the people running it and the process holding it together, and it asks something real of both. Every role gives up a comfort it’s had for years. And the whole thing leaks if you don’t build it to hold.
What it asks of people
Underneath all three is one demand that doesn’t sort by role: you have to move without being moved. The relay told you when it was your turn. Switchback doesn’t. Work goes to whoever’s closest to it, which means you pick it up, you don’t wait to be handed it. There’s no one assigning the next turn and no standup where your task gets read back to you. The model has no oversight to give and can’t afford the oversight you’d need. People who drive themselves forward thrive here; people who wait to be told what to do quietly stall the climb, and at this speed the stall is expensive. If you need someone standing behind you, the climb leaves without you.
Product has to stop being afraid of the codebase. Not to become an engineer, but to stop treating “the build” as someone else’s country. The unlock is vibecoding: spinning up an experimental branch and putting a clickable thing on the table instead of writing a document describing the thing you wish existed. You don’t have to make it work. You have to be willing to make it real enough to argue over. The comfort you give up is the spec as a finished handoff. The thing you gain is the ability to show an idea instead of pitching it.
Design has the harder adjustment, because it gives up the most. Two shifts. First, you stop thinking in screens and start thinking in design language and components, because the screen is the throwaway and the system is the substrate that carries forward. Second, and this is the one that stings, you weigh in on UX early with minimal exploration and let go of the comprehensive comp. You will not surface everything up front. Edge cases and rough spots will go unnoticed because you didn’t spend two weeks hunting them in a static file. And at this pace, that is fine. The thing you didn’t catch surfaces when the real build runs, and that’s the moment you get tagged back in to fix it against working software instead of guessing at it in advance. The comfort you give up is exhaustive certainty before anyone builds. What you gain is your fingerprints on the real thing, not on a picture of it.
Engineering shifts from writing every line to steering the work. You spend less time at the keyboard and more time shaping the spec, scoping work so it can run in parallel, managing the context each agent gets, and owning what clears the gate. You stay in the code, switchbacking as you go, not handing it off wholesale and walking away. The keystrokes were never the value. The judgment was, and now it’s nearly all judgment: what to build, what to reuse, what to throw away, what’s good enough to ship. The comfort you give up is being the one whose hands were on every line. What you gain is leverage you could never reach one keystroke at a time.
What it asks of process
Here’s the failure mode nobody warns you about. When doubling back is cheap, things fall through the cracks cheaply too. A user story surfaces mid-build and lives only in the head of whoever saw it. A stakeholder who should have been pulled in wasn’t, because pulling them in took three seconds and you were moving fast. A step got quietly skipped because the climb felt obvious. None of these hurt today. All of them compound. This is drift: the climb slowly diverging from what’s actually recorded, agreed, and known, until the map and the mountain are two different things.
The answer is not to slow down. It’s to build the connective tissue that makes a switchback safe. When you cut back to add a story, the story gets captured before you climb on. When you pull someone in, the loop knows they were pulled in. The gates earn part of their keep here: they’re not just quality bars, they’re drift checks, the place where you confirm the work still matches what everyone thinks it is. A team switchbacking by the hour with no process to catch what scatters isn’t agile. It’s just losing things quickly. The discipline is what turns speed into progress instead of motion.
What it asks of the org chart
And one ask sits above the roles, because it belongs to whoever runs the org. Switchback changes what you hire for, and what you stop hiring for. The team gets smaller and more senior — judgment is the input that multiplies here, so a five-person team of people who can make the Reckon call outruns a fifteen-person team that escalates it. Coordination roles thin out, because the gates and the one-home-per-artifact rule do most of the coordinating that used to take a layer of management.
Your own attention moves too. You stop reviewing effort — the standups, the status decks, the burndown theater — and start reviewing gates, because the gates are where the work either matches what everyone thinks it is or quietly stops matching. That’s the audit surface where a CTO’s attention actually changes outcomes. The trade runs all the way up: less oversight of motion, more judgment at the moments that bind.
How to actually run this
The model is only as good as the discipline under it. Here’s how to keep a fast, switchback-heavy team from turning speed into chaos. The principles hold no matter your toolchain. The specifics are how we run it at Frequency, offered as a worked example, not a mandate. Steal what fits.
Stories are sacred
Principle
Everything the product does earns a story on the map, downstream fixes and stakeholder asks included. The point is coverage: the map is the one place anyone can see, in plain language, what the product does and what's about to land. That's where a feature nobody needs gets caught, and where things get greenlit or stopped while stopping is still cheap.
How we do it
Stories live in the storymap, not in Linear. Linear runs the tasks, and at AI speed that ticket list bloats fast; the map holds the why, a simple big-picture view you can take in at a glance without wading through a backlog of tickets. That's what lets product, stakeholders, and anyone who needs the shape rather than the detail read it and weigh in. When a new idea surfaces, it goes back onto the map and you ping it up as a change, so the people who decide see it before it quietly gets built.
Hold the state in one place each
Principle
Every artifact has exactly one home, and that home is reachable by anyone on the team. Drift starts the moment a story lives in someone's head, a decision lives in a DM, or the spec and the build disagree about what's true. One home per artifact, no shadow copies.
How we do it
The story map lives in storymaps.io and exports into Linear when stories become work. The spec lives inside the Linear ticket itself, so each ticket is one self-contained unit of work with its context in one place, and the thing it's built from and the thing QA checks against are the same ticket. Linear holds what's in flight, who's on it, and which gate it has cleared. If you can't answer "where does this live" in one breath, that's the gap to close first.
Make pulling someone in an explicit act
Principle
"Pull in whoever the climb needs" only works if pulling them in is a logged event, not a tap on the shoulder. Async-first, because reachability at any altitude can't mean availability at any moment. When you pull someone in, the loop should know it happened, so the work has a record and the person has context when they arrive.
How we do it
A switchback that needs another discipline becomes a Linear mention or a threaded message tied to the work, never a hallway ask or a buried DM. The trigger and the ask live next to the ticket, so whoever gets pulled in lands with the context already there instead of needing a meeting to catch up.
Track at the gates and at every switchback
Principle
Capture is event-driven, not continuous ceremony. You don't need constant status. You need two reliable moments: every gate, where you confirm the work still matches what everyone thinks it is, and every switchback, where whatever surfaced gets written down before you climb on. A new story appears mid-build? Logged before you move. That single habit kills most drift.
How we do it
Gates are explicit states in Linear, and clearing one is a deliberate check, not an automatic transition. When a switchback surfaces a story, it goes into the map or a ticket in the moment, by whoever saw it, before the next thing starts.
Meet only where judgment has to happen live
Principle
Almost everything is async. The few genuinely synchronous moments are the ones where a decision needs the whole room, not a status update anyone could read in a thread. Status is async. Judgment is live. Most standups are status pretending to be judgment.
How we do it
Two meetings earn their place. Shape, where the room looks at the prepped directions and decides which one is right and at what appetite. And Reckon, the keep-or-rebuild call against the real build. Both are decisions, made better live. Everything else, progress, handoffs, pulling people in, runs in threads. No daily standup. The work tells you its status; you don't need a meeting to recite it.
Run it asynchronously by default
Principle
The relay needed everyone lined up in sequence. This doesn't. A switchback-heavy team works best when the default is async and synchronous time is reserved and rare. That's what lets an engineer steering a batch of parallel work, an offshore teammate, and a designer three timezones away all contribute to the same climb without waiting on each other.
How we do it
Work moves through Linear and threaded discussion. Long, well-scoped tasks can run async while people are offline, set up and steered by whoever owns the context rather than handed over wholesale, so the climb keeps moving across timezones. The two live decisions, Shape and Reckon, get scheduled deliberately. The test of whether you've got this right: someone can be offline for a day and the climb doesn't stall, because nothing important was trapped in a synchronous moment they had to attend.
What has to exist first
Switchback is an iteration model, not a from-zero one. It describes how you climb fast once the mountain is equipped, and it quietly assumes the equipment is already there. You don’t cut switchbacks up a bare rock face; you cut them into a slope that already has a trailhead, fixed lines, and a base camp. For software, that base camp is engineering’s developer experience, and most of it has to exist before any of this gets cheap.
Infrastructure that’s already standing. Environments, CI, deploys, secrets, the plumbing that turns a merge into something running. If standing up infra is still the project, you aren’t switchbacking yet. You’re cutting the trailhead, and that’s its own climb with more of the old shape to it.
A preview build for every branch. The whole model runs on putting a working version in front of someone who can react to it. That only pays off if every branch gets a real, shareable URL on its own. No preview builds, no cheap “let’s just see it,” and both Explore and Refine lose their footing.
Database migrations that are safe and boring. Reckon and Rebuild only make sense if throwing a build away doesn’t threaten the data under it. When schema changes are routine, you climb again from a higher ledge without fear. When they’re terrifying, the substrate stops being something you can stand on.
A defined brand and a real component system. Refining in the running product only works if there’s a design language and a component library to refine against. Without it, every screen relitigates fonts, spacing, and color, and the broad strokes from Explore have nothing to harden into.
Project setup that’s already solved. Scaffolding an app, wiring auth, adding a service, if these are bespoke every time, the cost of a working version never actually collapsed and the premise doesn’t hold. The work has to be assembling solved pieces, not reinventing the trailhead on every climb.
Under all of it is one line: Switchback works once you’re over the hump, iterating and shipping lots of things on top of foundations that are already solved. Engineering either walks in with a mature developer-experience stack or builds one first. There’s no version of this that runs without a base camp.
Who this is not for, and where it breaks
Switchback is not a universal claim. It earns its keep on a specific kind of work, with a specific kind of team, and the honest edges matter as much as the model. Here is where it strains or fails outright, so you can tell whether you are on the trail it was built for.
It assumes a working version is cheap. The whole model leans on the cost of reaching running software having collapsed. Where that is not true, the math changes. Deep systems work, novel algorithms, hard real-time, kernel and firmware, anything where the build itself is still the slow and expensive part, keeps more of the old shape, because you cannot afford to throw a build away and climb again. The cheaper your path to something real, the better this fits.
It assumes a small, senior, generalist-leaning team, and that is the load-bearing assumption.
“Anyone reachable at any altitude, no one in a two-week silo” only works if everyone can supervise agents, cross into a neighboring discipline, and make a real call when the climb hands them one. That describes a small, senior, AI-fluent group. It does not obviously survive juniors who cannot yet supervise an agent, strict specialization where people don’t cross lanes, or scale past a single squad, where “pull in whoever the climb needs” stops fitting in one shared head. We run it on the team it suits and stay honest that we have not proven it past that. The gates and the spec give less experienced people real structure to work inside, but structure is not judgment. This is a multiplier, and it multiplies whatever judgment is already there, including none.
And reachability has a cost the relay never charged. Async-first is not the same as always-on, but a team that can be pulled in at any altitude can also be interrupted at any altitude, and deep-focus time is the first casualty if you are not deliberate about protecting it. The same property that lets a designer tag into a running build mid-climb is the one that can shred a maker’s afternoon. You have to defend focus on purpose, because the model will not defend it for you.
And it needs the connective tissue to actually exist. A switchback-heavy team with no place to capture what surfaces does not get agility. It gets fast, cheerful drift. If your org cannot commit to one home per artifact and event-driven capture at the gates, the speed will outrun the record and you will lose things quickly. Regulated work can still run this way, but the gate gets heavier and the audit trail has to be real. Switchback is for teams that can trade the comfort of the relay for the speed of the climb, and mean it.
Stop waiting your turn.
Switch back to the better line.
None of the twelve steps are new. You’ve seen all of them before. What’s new is the question underneath them: at every step we asked where AI does its best work, and where it does none, and the answers wouldn’t sit still in the old order. So you don’t run the steps once, in order, single file. You switchback — mid-build, mid-loop, the moment the climb shows you a better line. Doubling back stops being a setback. It becomes how you move. Design ships a component while its feature is still an open question; product adds a story while engineering is three plateaus up. There are no turns left to wait for.
Run that opening scene again
Remember the PM, the designer, and the engineer from the top? Run it again, the new way. It’s Tuesday afternoon and they’re looking at the same screen, and it works. It’s rough, but it runs. The designer is nudging the spacing while they talk. The engineer is reading the spec they all agreed on this morning. The PM is asking the only question that matters now: is this the right thing, or did we just learn enough to do it better? Nobody is waiting on anybody. Nobody disappeared for two weeks. They are simply on the trail together, deciding whether to refine or to climb.
Want the mechanics?
The guide walks all twelve steps in depth: who’s in the room at each one, what AI does, and the gate to clear before you move on. The SDK turns the steps into Claude skills you can drop into your own repo.
Glossary
The vocabulary the model runs on.
Switchback terms
Switchback A deliberate change of direction mid-climb, made the moment the work tells you something you didn't know at the start. Cutting back to an earlier step, abandoning a path, or pulling in a different person. Cheap now, so you do it often.
Plateau A working version of the thing, reached in one pass. Not a finished product and not a throwaway demo. The stopping point where you look at something real and decide whether to keep climbing or rebuild.
Ledge The durable result a phase leaves behind: stories from Discover, specs and components from Frame, working systems from the Plateau Loop. You never climb back down past the last ledge, which is what makes a switchback cost an afternoon instead of a sprint.
Substrate The components, schemas, and systems that carry forward across passes. The throwaway top layer gets discarded; the substrate holds and hardens with each deploy, so the next build starts higher.
Gate The exit condition a step has to clear before work leaves it. Not a sign-off committee, a bar: stories mapped, spec reviewed, bad ideas eliminated. Sized to what's passing through.
AI-era SDLC terms
Agent An AI system given a goal and the autonomy to pursue it across many steps, reading and writing files, running tests, opening pull requests, rather than answering a single prompt. You direct and oversee; the agent does the keystrokes.
Subagent A specialized agent spawned to handle one slice of a larger task, with its own context. Splitting work into subagents is how you parallelize it: each one scoped to the piece it owns and the context that piece needs.
Orchestration Coordinating work across multiple agents toward one goal: decomposing it, giving each piece the context it needs, managing what runs in parallel versus what waits, and pulling the results back together. The job is managing context and dependencies, not handing the whole thing over.
Vibecoding Fast, exploratory prompting where you chase a feel and don't sweat structure, correctness, or polish. The right mode for Explore, the wrong mode for production. Vibe to explore, spec to produce.
Vibecoded wireframe A clickable, throwaway direction generated in minutes to be reacted to, not shipped. Real enough to feel the interaction, rough enough that nobody mourns it when it's discarded.
Agentic engineering Building software by steering agents through well-scoped, well-contextualized work rather than typing every line by hand, with the engineer owning the architecture, the context each agent gets, and what clears review. The grown-up sibling of vibecoding: same leverage, real rigor.
Spec-driven development Writing a literal specification first and treating it as the source of truth whoever builds it works from and QA checks against. The same artifact authors the work and verifies it.
Context Everything an agent can see in a single pass: instructions, relevant code, the spec, prior results. Limited and valuable, which is why what you put in front of an agent matters as much as what you ask it to do.
Spike A short, exploratory build whose only job is to learn, not to keep. A question asked in code. In the Plateau Loop, the Draft is a spike.
Experiment A branch someone spins up to try an idea without committing the team to it. Cheap enough now that 'let me just see' is a normal move, even two plateaus into something unrelated.
Eval A repeatable test of whether AI output meets a bar, run like a test suite rather than judged by eye. How you keep quality honest when generated code outpaces what a human can read line by line.
Walking skeleton A thin slice of the system that runs end to end, every part connected but nothing finished. What a Draft produces: something real all the way through before you invest in any one piece.
Bibliography
Every idea Switchback resequences, and where it came from.
1
Jeff Patton · User Story Mapping (O'Reilly, 2014); "The New Backlog Is a Map" (2008)
2
Design Council · The Double Diamond (2004)
3
Ryan Singer / Basecamp · Shape Up (2019)
4
Andy Hunt & Dave Thomas · Don't Repeat Yourself (The Pragmatic Programmer, 1999)
5
GitHub · Spec-Driven Development with Spec Kit; Kiro (AWS, 2025)
6
Addy Osmani · The Agent Orchestra (2025)
7
Alistair Cockburn · Walking Skeleton (Crystal Clear, 2004); Hunt & Thomas, Tracer Bullets (1999)
8
Kent Beck · Make It Work, Make It Right, Make It Fast
9
Fred Brooks · "Plan to Throw One Away" (The Mythical Man-Month, 1975); Dan North, Spike and Stabilize (2011)
10
Google · Code Review Developer Guide
11
Martin Fowler · The Test Pyramid (2012)
12
Jez Humble & David Farley · Continuous Delivery (2010)
13
Marty Cagan / SVPG · Dual-Track Agile
14
Sean Grove · "The New Code" (OpenAI, AI Engineer World's Fair, 2025)
15
a16z · Disposable Software (2025); How Generative AI Is Remaking UI/UX Design (2025)
16
Andrej Karpathy · "vibe coding" (2025); Simon Willison, "Not all AI-assisted programming is vibe coding" (2025)
17
Thoughtworks · "From vibe coding to context engineering" (2025)
Flint Barrow
Frequency · June 2026
I’ve spent over twenty years building software and running small expert teams. I came up in NLP and survey tech, working on hard language problems back when the only way through was to build the machinery yourself. I’ve been a founder and an inventor, and I’m still building, still in the codebase, still chasing the spark that turns a rough idea into something real.