← All articles

If You Need a Hardening Sprint, Something Earlier Broke

By XNM Technologies · June 27, 2021 · 3 min read
If You Need a Hardening Sprint, Something Earlier Broke

A team I worked with in early 2021 had just gone fully remote and was racing to ship a release the business had promised for quarter-end. Their plan included a two-week "hardening sprint" at the very end: time to fix bugs, finish testing, and stabilize. It sounded responsible. It was actually a warning light. A hardening sprint is the place where all the work a team quietly skipped during the prior Sprints comes due at once.

The Scrum Guide is direct about this. Every Sprint must produce a usable, potentially releasable Increment that meets the Definition of Done. If you regularly need a separate phase afterward to make the work actually shippable, then your Increments were never done in the first place. The "hardening" label just disguises deferred quality as a planned activity.

Why the smell shows up

It rarely comes from laziness. It comes from a Definition of Done that is too weak, pressure to report more story points than the team can truly finish, or testing and integration treated as someone else's job for "later." Remote and hybrid work made this worse in 2021: the hallway conversations that used to catch half-finished work disappeared, so gaps stayed hidden until the end. A hardening sprint becomes the catch-all, and the catch-all keeps growing.

A field checklist you can use this week

  1. Read your Definition of Done out loud as a team. If it does not include testing, integration, and whatever else "hardening" usually covers, it is incomplete. Add those items now so done means releasable.

  2. Audit your last three Sprints for carry-over. List every item marked done that later needed rework in a stabilization phase. That list is your real gap, not a personal failing to assign blame for.

  3. Stop counting undone work as velocity. If an item is not done by the Definition of Done, it does not count this Sprint. Honest velocity is lower at first, then far more predictable.

  4. Pull testing and integration into the Sprint. Make them acceptance criteria on each backlog item, not a downstream stage. Automate the repetitive checks so the team can actually meet the bar every Sprint.

  5. Rename the hardening sprint as a transition, with an end date. If you genuinely need one to clear historical debt, treat it as a one-time cleanup with an explicit plan to never need another.

  6. Inspect this at the Sprint Retrospective. Ask one question: did everything we called done actually meet the Definition of Done? Improve the process where the answer is no.

The point is not to ban a stabilization period if your codebase is already carrying years of debt. The point is to stop building new debt. A team that finishes each Sprint to a strong Definition of Done does not accumulate a backlog of hidden risk, so it never needs a buffer to absorb it.

When you remove the hardening sprint and nothing breaks, you have proof the work was genuinely done. When something does break, you have found exactly where your Definition of Done needs to be stronger. Either way you learn something real, and the release stops depending on a hopeful two weeks at the end.

If your delivery cadence keeps leaning on a clean-up phase at the end, XNM's program & project delivery advisory can help you tighten your Definition of Done and finish each Sprint to a standard you can actually release.