Skip to content

← Archive

The Pipeline Is the Product

Spending a sprint on deployment infrastructure before writing any application code looks like deferring value. The evidence pointed the other way.


27 May 2026 4 min read

Early in a project I worked on, I spent an entire sprint building a deployment pipeline before writing a single line of application code.

The sprint produced nothing a stakeholder could click on. No screens. No features. No visible progress. What it produced was a working CI/CD pipeline: a mechanism that would take any future commit to the protected branch, build it, and deploy it to the production environment automatically, within about four minutes.

At the time, this felt like a straightforward application of continuous delivery principles. In retrospect, I had underestimated how completely it would shape everything that followed.

The Conventional Reading

The standard argument against spending time on infrastructure before product is that it delays value delivery. The framing is usually opportunity cost: every sprint on pipeline work is a sprint not spent on features. There's a version of this argument that's difficult to dismiss. Early-stage projects should be wary of over-engineering their infrastructure. Building for scale before you have users is a well-documented failure mode.

But this reading misses something specific about what a pipeline enables.

What the Pipeline Does

Without a deployment pipeline, every deployment is a manual operation. You build locally, move artefacts, watch logs, verify. That takes time, it introduces inconsistency between environments, and it's a context switch: you stop working on the problem to manage the mechanics of shipping the solution.

A working pipeline removes that cost permanently. From the moment it's in place, every commit flows to production automatically. The feedback cycle that iterative development depends on, the loop from change to evidence of change, compresses from hours to minutes.

In this project, 152 production deployments happened across the subsequent sprints. The median time from commit to a deployed change in the production environment was four minutes twelve seconds. The change failure rate across those deployments was 2.0 percent. Mean time to recovery from a failure was twenty-three minutes. All four DORA metrics landed in the high-performing band.

When I looked back at where that performance came from, the answer was uncomfortable in its simplicity. It traced to the pipeline decision more than to any discipline applied in later sprints. The pipeline was the precondition for everything that came after.

The Inversion

Here's what I'd have said before: the pipeline is infrastructure. Infrastructure enables product. Product creates value. Therefore the question is how quickly you can build the product, and "when should I build the pipeline?" has the answer "when the absence of one starts to create problems."

Here's what I'd say now: in the early sprints of a codebase you intend to operate in production, the pipeline is not infrastructure. It is the primary means by which you can demonstrate anything at all. The ability to commit a change and show it live to a stakeholder within five minutes is not a nice-to-have. It is the feedback loop that iterative development requires to function.

The second thing the pipeline does is change the risk profile of every subsequent decision. When deployment is a manual, infrequent event, you tend to batch changes and ship large updates. When deployment is automatic and takes four minutes, you ship small changes constantly. Small changes fail less, and when they do fail they're easy to diagnose and revert. The high-performing DORA numbers are not a consequence of later discipline; they are a direct consequence of making deployment so easy that frequent, small deployment becomes the path of least resistance.

The Surprise

What changed my thinking wasn't the metrics. It was a reflection partway through the project: every piece of measurable quality I could point to, the delivery cadence, the ability to show working software at every stakeholder review, the low change failure rate, traced back to a decision made before any user-facing feature was written.

Before this project I'd have read "spend a sprint on CI/CD before building features" as deferring value creation. What I found instead was that the pipeline was the value-creating artefact of those early sprints. Not because the pipeline itself was the deliverable, but because it made everything that followed a different kind of work: work where you could verify, demonstrate, and recover.

The Qualification

This is not a universal argument for infrastructure over product. There are contexts where the right move is to build something fast, validate it, and retrofit delivery automation later. A prototype is not a production system, and a proof of concept doesn't need DORA metrics.

The argument is narrower: in a project where you intend to operate the system in production, where you expect to iterate over months, and where stakeholder feedback will shape the design, the pipeline is not a supporting element. It is the asset that makes iteration meaningful.

The cost of building it in sprint three instead of sprint seven is one sprint. The cost of building it in sprint seven instead of sprint three is four sprints of deployment friction, inconsistent environments, and feedback cycles that are hours long instead of minutes. The arithmetic is straightforward, and the intuition points the other way, which is why the sprint felt like a waste for most of the time I was spending it.