- Published on
Shipping Debrief: The Work Is Not Done When It Ships
- Authors
- Name
- Iván González Sáiz
- @dreamingechoes
Table of contents8 sections
At 16:42, the deployment turns green.
The dashboard settles. Someone adds a check mark to the Slack thread. A few messages arrive — nice work, great push, onto the next one — and the board already has another ticket waiting at the top. By the next morning, the team is discussing estimates again.
The work shipped. The way the team worked disappears.
That is the part delivery often leaves behind: the assumption that turned out to be wrong, the review that arrived a day too late, the test that caught more than expected, the hand-off that created three quiet hours of waiting. None of it looks large enough for a postmortem. Most of it will not survive until the next retrospective.
Shipping should open a small window where the team can ask what this delivery revealed about how it operates — then change one thing while the evidence is still warm.
The false finish line of software delivery
Teams need a definition of done. Without it, work drifts. The problem begins when the team lets done describe more than the artifact.
The code may be in production, the migration stable, the feature available. Those are real endings, but they do not mean the team has absorbed what happened while getting there.
Delivery produces two outputs. One is the thing that shipped. The other is evidence about the system that shipped it: where judgment was strong, where context arrived late, where quality signals held, and where the team's habits made the work heavier than it needed to be.
A few deliveries later, the same late review appears. The same requirement changes shape halfway through implementation. The same release checklist catches the same class of problem manually. Everyone remembers the friction, vaguely, but nothing in the system remembers it for them.
Product learning is not operating learning
There is already useful work to do after a launch. A post-launch care window watches over several days as the product lands, then guides adjustments to the experience, stability, or early rough edges. The Missing Aftermath creates room for the human weight and emotional loose ends of delivery to be named before the next cycle begins.
A Shipping Debrief sits beside both practices, with a narrower object and a stricter output. It does not primarily inspect how the product landed or help the team process the weight of delivery. It asks what the delivery exposed about the system that produced it — and which small operating change should be tested next.
A product signal might show that people abandon a new flow at the permissions step. Operating learning notices that the team never tested permissions with production-shaped data. The care window may lead to changing the experience; the Shipping Debrief may lead to adding a data-shape check before implementation begins.
In other words, a completed delivery becomes a case study of how the team plans, builds, reviews, and releases software. The debrief earns its place only when those observations change how the next delivery is handled.
What a delivery reveals about the team
Before work begins, a team can believe its requirements are clear, its review path is lightweight, and its tests provide the right protection. During delivery, those beliefs meet calendar pressure, old code, partial context, unexpected dependencies, and the ordinary limits of attention.
Picture the morning after a release: coffee going cold beside the keyboard, three tabs open, an engineer scrolling back through Slack to find the moment an API contract changed. The ticket says done. Their browser history tells a more complicated story about how the work moved.
Maybe a Risk Sketch surfaced the most important unknown early. Keep that behavior. Maybe the approach was discussed only after the pull request grew large enough to feel personal. Change the trigger for an Approach Review. Maybe the test suite was green while the rollout dashboard showed a failure mode nobody had named. Add the missing signal before the next release.
The useful unit is not "what went well" or "what went badly." It is the gap between what the team expected and what it encountered.
Surprise is operational data.
What the practice borrows
The Lean Startup's Build–Measure–Learn loop treats building as part of a feedback cycle, not as the final act. Its focus is validated product learning: put something real into the world, measure what happens, and use that evidence to decide what comes next. A Shipping Debrief borrows the shape of that loop and turns it inward. Which of the team's working assumptions survived delivery?
DORA's software delivery performance guidance uses delivery signals to help teams assess their current system, find friction, commit to an improvement, and check whether it helped. The metrics matter, but the posture matters more: measurement should guide improvement over time, not become a target or a competition between teams.
John Allspaw's writing on blameless postmortems at Etsy asks people to reconstruct the actions they took, the effects they observed, the expectations they held, and the assumptions that made those actions reasonable at the time. Etsy's debriefing facilitation guide treats the debrief first as a learning opportunity. A Shipping Debrief is not an incident review, but it needs the same curiosity: blame removes the detail the team came to learn from.
Atlassian's Team Health Monitor connects reflection about how a team works with selected areas for improvement and later checkpoints. The Shipping Debrief stays smaller and closer to one delivery, while keeping that movement: observe, choose, revisit.
The 20-minute Shipping Debrief
Run the debrief after a meaningful delivery, while the work is fresh but the release pressure has settled. Use it when the work carried uncertainty, crossed team or system boundaries, exposed a quality gap, or felt harder than the plan suggested. Routine, low-risk deploys do not need one.
For three minutes, nobody talks. In a shared room, pens move across paper; on a remote call, faces tilt down and keyboards click. That silence lets people meet their own memory before they meet the group's version of it.
What surprised us?
Which expectation or assumption did that challenge?
What in our way of working amplified or reduced it?
What should be different next time?
What signal will tell us whether the change helped?
The questions follow one chain: event, assumption, system, change, evidence. Spend three minutes writing alone, eight comparing perspectives, seven choosing and shaping one change, and the final two recording it. For a distributed team, the same questions can stay open async for a day, as long as someone closes the thread with the agreed experiment.
Specificity does most of the work. "Communication was poor" can mean almost anything. "The API contract changed in a private thread after implementation started" gives the team somewhere to look. A useful debrief reconstructs the delivery. It does not grade the people inside it.
The operating change after the conversation
Five questions can still produce a crowded page. The output should stay small.
Evidence from delivery:
Operating change:
Signal to watch:
Steward:
Review date:
The evidence anchors the adjustment in what happened during delivery. The operating change names one change to the team's normal way of working, and the signal makes it inspectable. The steward agrees to bring the question back; the review date prevents a temporary response from becoming immortal process.
Filled in, it might look like this:
Evidence from delivery: The API contract changed after implementation started because the adjacent team had interpreted the requirement differently.
Operating change: For cross-service changes, review the contract with both owners before implementation begins.
Signal to watch: Whether boundary disagreements still first appear in pull requests.
Steward: Backend lead.
Review date: After the next two cross-service deliveries.
The example is deliberately modest. No new committee, permanent meeting, or promise that disagreement will disappear. One earlier conversation, one signal, and two deliveries to see whether it helped.
The Retro Without a Diff
The common failure mode is a thoughtful retrospective that changes nothing.
People share honest observations. The board fills with notes. Someone groups them into themes, everyone votes, and the meeting ends with the relief of having said the right things. Two weeks later, the same system produces the same friction because no working agreement, review trigger, quality check, planning artifact, or release habit changed.
Call this the Retro Without a Diff.
Reflection needs a diff. No — that is not quite right. Some events only need acknowledgment, some surprises are one-offs, and some problems sit outside the team's control. Pretending otherwise turns every honest observation into another piece of work.
But when the same friction returns, the learning loop needs to alter the conditions around it. The diff can be one sentence in a working agreement, one earlier pair review, or one obsolete step removed from a release checklist. Small enough to try, specific enough to notice, reversible enough to delete.
That reversibility is a guardrail. Only add an operating change when the team can name the evidence behind it and the date when it will be reviewed. A mature team can test a habit, learn that it does not help, and remove it without treating the experiment as failure.
This post is part of the series The Engineering Team Operating Layer, about small practices for better engineering teams.
Final thoughts
Shipping matters. Teams need the satisfaction of finishing and the ability to move without endlessly reopening what is done. But completion only says the artifact is ready. It does not say the team used what the delivery revealed before the details cooled into a vague story about how the work went.
A Shipping Debrief keeps that window open for twenty minutes — long enough to examine one surprise, find the assumption beneath it, and decide whether the system should change before it carries the next piece of work.
After your next meaningful delivery, choose one habit to keep or change, then give that decision a date to prove it earned its place.
Enjoyed this article?
Subscribe via RSS
Follow along in your favourite feed reader. Every new post lands there as soon as it's published — no account needed.