Ship It Anyway

The date was picked before anyone looked at the work.

Read it instead
Engineering & judgement 7 chapters · 6 endings
The premise

What you're deciding

A release can accumulate risk through decisions that each look limited in isolation: an estimate becomes a promise, a review is shortened, an operational check is deferred, and the people supporting the service inherit assumptions they did not make.

This fictional run makes those compromises visible across seven chapters. It does not establish that a particular control is required or that moving a date is the right response for a real system.

How it plays

Seven release decisions under deadline pressure.

No trivia and no right answers — a narrative run about what a fixed release date does to engineering judgement.

01

Choose your origin

Four archetypes, four starting hands. Your pick sets the stats you begin with — not the ones you end with.

02

Face the scenarios

Seven decisions, each one nudging skill, wealth, reputation, and wellbeing. No take-backs.

03

Discover your ending

Your choices resolve into one of six outcomes — and an honest read on what that pattern costs.

Meet the archetypes

Pick a starting hand.

Each archetype begins with a different balance of strengths. Your pick sets the stats you start with — not the ones you end with.

7 chapters

The decisions waiting for you.

  1. 01The Date
  2. 02What Gets Cut First
  3. 03The Junior's Pull Request
  4. 04Launch Minus Two Days
  5. 0502:14
  6. 06The Retrospective
  7. 07The Next Date
The run

7 decisions, in order

Below is the whole run — every chapter, every option, and where each one leads. Press Play this run above to take it as a game instead, with stats that move as you choose and an ending scored from how you played.

Chapter 01

The Date

The release date was announced to customers before engineering saw the scope. It is six weeks out. Your honest estimate is ten, and you are the only person in the room who has read the whole ticket.

Everyone is looking at the calendar rather than at each other.

Where each choice leads

  • A — Unwelcome, on record, and it changes what happens in week five.
  • B — You have agreed to a date you do not believe. Week five arrives anyway.
  • C — You move the negotiation from the date to the contents. That is the winnable one.
  • D — A conference. Which is real, and also not the same as a technical constraint.
Chapter 02

What Gets Cut First

Week three. Behind, as expected. The team starts making the ordinary trade-offs, and the first things on the list are the ones with no visible output: the integration tests, the load test, the runbook.

Cutting them buys about a week.

Where each choice leads

  • A — The feature is visible and negotiable. The tests are neither, which is why they go first.
  • B — A specific, named risk rather than a general erosion.
  • C — "Backfill" is doing an enormous amount of work in that sentence.
  • D — Not blame-shifting. It makes an invisible decision visible while it is reversible.
Chapter 03

The Junior's Pull Request

A new engineer submits work that is functional and structurally wrong in a way that will be expensive in six months. Reviewing it properly is ninety minutes you do not have.

Approving it costs nothing today.

Where each choice leads

  • A — Ninety minutes now. They never make that mistake again.
  • B — "Later" is a place code goes to stay exactly as it is.
  • C — Fast, correct, and they learn nothing except that you will do it.
  • D — A compromise that survives only if the booking is real.
Chapter 04

Launch Minus Two Days

A staging run surfaces something odd under concurrent load — not reproducible, not understood, gone on the second attempt.

Investigating properly means missing the date. Everyone is very tired and the calendar is on the wall.

Where each choice leads

  • A — It is a race condition. It would have taken production down at scale.
  • B — The date holds, the blast radius does not. The best available answer.
  • C — Non-reproducible is not the same as not there.
  • D — You will at least find out immediately rather than from a customer.
Chapter 05

02:14

The pager. Error rates climbing, customers affected, and it looks a lot like the thing from staging.

The safe rollback loses several hours of customer data. The forward fix is obvious to you and completely untested.

Where each choice leads

  • A — Boring, defensible, reversible. Nobody writes a story about it.
  • B — It works. It also could very easily not have.
  • C — Three people at 2am make better decisions than one certain person.
  • D — The reason the flag was worth the extra day in Chapter 04.
Chapter 06

The Retrospective

The meeting where this either becomes a lesson or becomes a story. There is a strong pull toward blaming the deadline, which is true and useless, or the engineer who merged it, which is neither.

The interesting question is why the tests were the first thing cut.

Where each choice leads

  • A — Invisible work is cut first because it is invisible. That is fixable.
  • B — One change that actually lands beats twelve that are noted.
  • C — True, unactionable, and the same thing will happen next quarter.
  • D — Everyone knew last time too.
Chapter 07

The Next Date

Two quarters on. Another announced date, another scope nobody validated first. You are more senior now, which means what you say in the first meeting carries.

A newer engineer asks how you handle this.

Where each choice leads

  • A — The date has a conference attached. The contents rarely do.
  • B — It is not politics. It makes reversible decisions visible while they still are.
  • C — The single highest-leverage habit in the whole run.
  • D — Tests, runbooks, monitoring. No demo, no defender.
6 ways it ends

Where will your choices land you?

No ending is the “best” one — only the one your decisions earned.

The Engineer They Trust With It

You made the risk visible instead of carrying it.

Scope negotiated rather than dates, cuts documented while they were still reversible, a flag instead of a gamble, and a retrospective that named a mechanism rather than a person. None of it was heroic. All of it is why the next release was less interesting than this one.

The Safe Pair of Hands

You woke people up and rolled things back.

You chose the boring option at 2am, brought others in rather than being certain alone, and reviewed the junior's work properly when it cost you an evening. Nobody tells stories about the incidents you prevented. The people who worked with you know exactly which ones they were.

The One Who Hit Every Date

Delivered on time, repeatedly, at a price.

The dates held. The tests, the runbook and the load test did not, and each release started slightly further behind than the last. You are trusted to deliver and the system you deliver into is quietly getting harder to change. That bill arrives later and to someone else's quarter.

The One Who Was Right

You said ten weeks. It took ten weeks.

You gave the honest estimate in the room, protected the tests, stopped two days out to chase something non-reproducible, and were correct about all of it. Being right early is worth a great deal and costs something socially every single time. The record is what makes it pay eventually.

The 2am Regular

You held it together with your evenings.

Agreed to a date you did not believe, cut everything invisible, rewrote the junior's work yourself, shipped the unreproducible thing and pushed the untested fix at 2am. It worked, mostly. The delivery record is real and so is the fact that it depended entirely on you not sleeping.

The Whole Ledger

Shipped, tested, and still asleep at 2am.

Scope traded for the date, one named risk accepted rather than a general erosion, a flag on the uncertain change, a proper review for the newer engineer, and one concrete commitment out of the retrospective. Unspectacular in every direction, which is what a well-run release looks like.

Case file

Case file: making release risk discussable before it becomes an incident

This is not a release process to copy. It compresses a long sequence of planning, development, review and operational work into seven moments so that the trade-offs are visible. The service, deadline, team and incident are fictional. A choice that increases a game stat is not evidence that the equivalent action will make a real release safer, faster or easier to defend.

The first useful question is not whether a team should be brave enough to ship. It is what evidence is missing, who can supply it, and what could change if the evidence is unfavourable. A test result, rollback plan, runbook, monitoring check and load observation serve different purposes. Lumping them together as "quality work" makes them easy to postpone; naming the missing item makes a conversation about scope possible. The NIST Secure Software Development Framework treats practices such as verification as work with defined outcomes, rather than as time left over after feature work.

The run deliberately makes cutting scope look less dramatic than moving a date. That is a narrative device, not a universal rule. Some releases have legal, contractual, security or safety constraints that make a date genuinely immovable. Some apparently small scope changes create incompatible data, operational risk or customer confusion. The practical lesson is to state the constraint and its owner, then ask what is being traded—not to assume that a date can always move.

The on-call chapter also needs a boundary. A production incident is not a game mechanic and no one should use this page to decide whether to deploy, roll back, page a colleague, or ignore an alert. Follow the organisation's incident process, escalation rules and security policy. If those do not exist, the absence is itself a risk to make visible to the people responsible for the service.

Use this run as a prompt for a retrospective or planning conversation: What work is currently invisible? Which release condition has no named owner? What does "ready" mean in observable terms? Which decision would be hardest to explain after an incident? The answers belong in the team's own records and processes. The sources below explain secure-development principles; they do not validate the fictional outcomes or replace engineering judgement.

A credible alternative path

A real team may have more options than either shipping everything or moving the date. It might reduce exposure through a smaller release, a staged rollout, a feature flag, a read-only pilot, or added operational coverage—if its architecture and procedures support that option. Each alternative creates its own failure modes and evidence needs. The point is to compare feasible paths against the same stated release conditions, not to assume that a technique is safe because it sounds incremental.

Use this case file

Before a planned release, make a short decision record with five entries: the intended user outcome; the evidence required before release; the work explicitly deferred; the rollback or mitigation condition; and the person who can make the final call. Review it with the people who will support the service after launch. If a condition cannot be checked in time, record that fact and the consequence rather than silently treating it as complete. Do not copy the game's choices into a real process; use the exercise to expose what your own process has not named.

Questions before you act

Ask whether the release condition is observable, whether its evidence is current, and whether someone outside the feature team has reviewed the operational consequence. Ask what will be monitored after release and who responds if the expected condition does not hold. Finally, ask whether the decision record says who accepted each known risk. These questions may reveal a need to pause, change scope, add support or proceed; the page cannot select among them.

Learning path

Debrief the decision

Use the authored links below to examine the main trade-off from another angle.

Recommended next step Review the engineering judgement behind the deadline Compare speed, quality, scope, ownership, and evidence without treating one game ending as a release rule.
The pattern

What the run is actually about

The recurring mechanism in this run is that work without a visible deliverable can be difficult to defend under schedule pressure. Tests, runbooks, load observations, monitoring, rollback preparation, and review provide different evidence; treating them as one undifferentiated quality bucket hides which condition is actually missing.

Within the story, narrowing scope and writing down accepted risk improve several outcomes because they make trade-offs explicit. A real team may instead change a date, add support, stage exposure, meet a binding constraint, or decide that a release condition cannot be waived. NIST's SSDF describes verification practices as work with defined outcomes, but it does not validate this run's choices or prescribe one release decision. The practical prompt is to name the evidence, constraint, owner, and consequence in the team's own process.

References

Sources and further reading

Important note

Educational disclaimer

This is a narrative simulation for general professional education. It is not engineering, legal, or employment advice, and the stat effects are storytelling devices rather than predictions. Release practices, on-call arrangements and escalation policies vary by organisation — follow your own.