All thoughts and musings
Engineering LeadershipJan 27, 2026 · 7 min read

The Multi-Year Roadmap That Survives Contact With Reality

A three-year roadmap that locks every quarter is fiction. One with no direction is chaos. The job is building the version that holds a line while reality keeps moving it.

RoadmapMulti-year

Every multi-year roadmap I've inherited has failed in one of two ways. Either it was a Gantt chart that planned quarter eleven in the same detail as quarter one, and reality shredded it by month four. Or it was a vibe, three years of "scale the platform" and "invest in AI" with nothing underneath, and the team did whatever was loudest that week. Both feel like planning. Neither survives contact with reality.

The roadmap that works is a third thing. It commits hard to direction and stays deliberately loose on path. It tells you what you're trying to be true in three years, and it refuses to pretend you know the exact route there. That distinction sounds academic until the market shifts, a competitor ships, or a model release rewrites your assumptions, and you find out which kind of roadmap you actually built.

Direction is fixed, path is negotiable

A real roadmap separates two things most companies fuse: the outcomes you're betting the business on, and the work you think will get you there. The first should barely move year to year. The second should be rewritten constantly. When people say a roadmap "changed," they usually mean the path changed, which is fine. The failure is when direction quietly changes because nobody was guarding it.

So I anchor the roadmap to a small number of durable outcomes, three or four, expressed as conditions: the platform supports ten times the load without re-architecture, onboarding a new product line takes weeks not quarters, AI is doing real production work in the core workflow. Those are stable enough to plan against and concrete enough to argue about. Everything below them, features, sequencing, tooling, is a hypothesis I expect to revise.

Plan in horizons, not quarters

The Gantt-chart mistake is planning all of time at the same resolution. Reality doesn't work that way, so the plan shouldn't either. I run three horizons at different fidelity:

  • Now (0–6 months): committed, sequenced, resourced. This is a plan you can hold a team to.
  • Next (6–18 months): directional bets with rough shape. Named, owned, scoped enough to argue about, not yet scheduled to the week.
  • Later (18–36 months): the outcomes and the big architectural and AI bets, deliberately vague on execution. Its job is to keep today's decisions from boxing in tomorrow's options.

The discipline is letting work earn its way forward. Things graduate from Later to Next to Now as you learn, and they get more detailed only as they get closer. If a roadmap specifies month thirty in the same detail as month two, that detail is fiction and it will cost you, because teams treat written-down detail as commitment whether you meant it that way or not.

A roadmap's job isn't to predict the future. It's to make sure today's decisions don't quietly foreclose the future you actually want.

Architecture and AI are roadmap citizens, not someday-items

Here's where most roadmaps rot. Architecture work and AI initiatives get parked in a "later" column that never arrives, because feature work always wins the quarter. Then three years pass, the platform can't take the next jump in load, the AI bet is still a slide, and the roadmap that looked responsible was quietly accumulating debt the whole time.

I treat both as first-class line items with the same standing as revenue features, because they are the thing that lets you keep shipping revenue features. Architecture earns roadmap space when it's tied to a named future outcome, not refactoring for its own sake, but the specific re-architecture that the ten-times-load outcome demands. AI gets treated the same way: not "explore AI" floating in Later forever, but concrete bets with owners, evals, and cost ceilings, sequenced so the foundational work, data, observability, guardrails, lands before the agentic systems that depend on it. I've run LLM-powered data agents on roughly 250 million records a month across a 75-node cluster. None of that happens if AI lives in the someday column.

Build in the slack reality will demand

A roadmap planned to 100% capacity is a roadmap that breaks the first time anything goes wrong, and something always goes wrong. So I plan the committed horizon to leave real headroom, the room to absorb the incident, the discovery, the bet that didn't pan out. That's not padding; it's the part of the plan that acknowledges you're operating under uncertainty. The roadmaps that survive aren't the ones with the most detail. They're the ones with enough give to bend without snapping.

And it has to be reviewed like a living thing, not blessed once and framed on a wall. I revisit the path every quarter and the direction once a year, on purpose, so changes are decisions rather than drift. A good multi-year roadmap isn't a promise about what will happen. It's a stance about where you're going, paired with the honesty to keep rewriting how you get there. Get that balance right and the roadmap stops being a document people quote at each other and becomes the thing that actually steers. If you want help building one that holds, that's the work I do as a fractional CTO.

Keep reading
Engineering Leadership · Dec 18, 2024

The Kind of CTO You Need at Each Stage

AI-Native · Apr 9, 2025

Becoming AI-Native: Rebuilding the Operating Model, Not Just the Product

Operating Philosophy · May 12, 2025

Business Before Backlog