Rescue StoriesAdvanced12 chapters

Rescuing Broken Software

Diagnosing, stabilising, and finishing a project that stopped working

A failing project is diagnosed, not restarted: establish facts, stop the bleeding, build a safety net, and renegotiate scope with the business before touching architecture, because the schedule is usually the actual defect.

Walking into a stalled delivery, the temptation is to form an opinion in the first hour and rebuild in the first week. Both are mistakes. This book runs the order that works: reconstruct the real state from the repository, the incident record and the deploy history; stabilise before improving; build a characterisation test net around the paths the business depends on; decide rewrite, refactor or replace with a defensible reason; and renegotiate the schedule before touching the architecture. It ends where a rescue should — with a team that can run the thing without you.

Written for: Founders and leaders with a delivery that has stalled, and the engineers walking into it.

3 of 12 chapters published. The rest go live as they are written.

Jacket for Rescuing Broken Software — Diagnosing, stabilising, and finishing a project that stopped working

What it makes operable

Outcomes, not topic coverage.

  1. 01Establish the actual state of a delivery within the first week
  2. 02Stabilise and build a retroactive test net before changing the design
  3. 03Decide rewrite, refactor or replace with a reason you can defend
  4. 04Sequence repairs without freezing delivery, then hand ownership back

Complete contents

12 chapters, in order.

Each chapter settles one decision, so it can be read on its own. Read in sequence to build the argument the book is making.

  1. 01

    What "Broken" Usually Means

    Separating a technical failure from a schedule, scope or ownership failure.

  2. 02

    The First Week: Establishing Facts

    Reconstructing the real state from the repo, the incidents and the deploy history.

  3. 03

    Reading a Codebase You Did Not Write

    Finding the domain logic, and the decisions nobody wrote down.

  4. 04

    Stability Before Features

    Stopping the bleeding, and resisting the pressure to keep shipping through it.

    In writing
  5. 05

    Building a Test Safety Net Retroactively

    Characterisation tests around the paths the business actually depends on.

    In writing
  6. 06

    Rewrite, Refactor, or Replace

    A time-boxed assessment with an honest threshold for each option.

    In writing
  7. 07

    Renegotiating Scope With the Business

    Presenting the trade so the schedule stops being the defect.

    In writing
  8. 08

    Working With the Team That Built It

    Getting the truth from people who expect to be blamed for it.

    In writing
  9. 09

    Sequencing Repairs Without Freezing Delivery

    Interleaving repair and delivery so neither one stops.

    In writing
  10. 10

    Restoring Deployability

    Getting back to a release you would be willing to perform on a Tuesday.

    In writing
  11. 11

    Handing Back Ownership and Documentation

    Leaving a team able to operate the system without you in the room.

    In writing
  12. 12

    Preventing the Next One

    The early signals that predicted this, and the controls that catch them.

    In writing

Evidence

What this book is arguing against.

Third-party sources behind the book's premise. Every figure in them belongs to the party that published it and is attributed to them in the text.