Cover: handover shown as a four-phase timeline, documentation written as you go, an unassisted deploy, an overlap period and a bounded support tail

Most handover advice is a list of things to hand over. That list is worth having, and we have written it out in what you should own when a build ends. This is the other half of the problem: you have been given all of it, correctly and on time, and the work still slows to a crawl for four months.

Why the dip happens even when nothing goes wrong

A team that built a system carries a model of it that no document contains. Not secrets, and not negligence. Just the accumulated sense of which parts are fragile, which test is flaky for a known reason, what that oddly named function is actually for, and why the obvious refactor was tried in March and reverted.

The receiving team has to rebuild that model from the outside, from code and documents, while also being expected to ship. That takes months, and it is not a failure of anyone’s competence. Treating the dip as avoidable leads to the worst version of it, because nobody plans for something they have decided will not happen.

Team output before and after two styles of handoverTwo lines showing delivery output over eight months, with handover at month zero. Handover as an event: output holds at full rate until the moment of transfer, then falls to about a quarter, and takes roughly six months to climb back to near its previous level. Handover as a process: output dips slightly in the two months before transfer because time is spent on knowledge transfer, falls only to about three quarters afterwards, and is back to full rate within three months. The area between the two lines is the cost of the difference.Delivery output, before and after handoverfullhalfnonehandoverHandover as an eventeverything transferred in the final fortnightHandover as a processtransfer starts months out, with an overlap-4 months0+2+4+6The green line is slower before the handover. That is the trade, and it is the cheaper half of it.
Illustrative shapes, not measured data. The pattern is one every team that has received a system recognises. The point is the area between the lines, which is paid in delivery either way.

The one test that produces information

Documentation quality is unmeasurable from the inside. The author cannot tell which steps they skipped, because the skipped steps are the ones they do without thinking.

So run the test. Before the engagement ends, someone from the receiving team takes the documents and, without asking anyone anything, sets up an environment and deploys the system. The outgoing team watches and writes down every point where the person gets stuck. They do not help.

1

It is uncomfortable, and that is the mechanism

Watching someone struggle with instructions you wrote is the fastest documentation review in existence. Every stall is a defect with a precise location. Schedule it as a working session with two named people, not as an action item, or it will not happen.

2

Fix, then repeat with a different person

The second run catches what the first person happened to already know. Two clean runs by two different people is a genuinely defensible claim that the documentation works. Put both runs in the schedule at the start of the engagement, so the second one has room to happen.

3

Do it for the unglamorous paths too

Deploying is the easy one. Rotating a credential, restoring from backup, reprocessing a failed batch job and rolling back a bad release are the ones people need at 2am. Pick the three operations that would cause an incident if done wrong, and rehearse those the same way.

The knowledge that does not fit in a document

Architecture diagrams and setup guides transfer the shape of a system. They do not transfer why it has that shape, and the receiving team pays for that gap every time they consider a change and cannot tell whether the current design is deliberate or accidental.

The cheapest fix is a decision log: a short, dated entry for each significant choice, recording the options considered, what was picked and what made it the right call at the time. Ten lines each. Written when the decision is made, because reconstructing it later produces a rationalisation rather than a record.

This is the artifact that stops the new team from either treating every existing choice as sacred, which freezes the system, or rewriting things whose reasons they never learned, which breaks it.

Honest framing for the receiving team: some of what you inherit was a compromise under a deadline and everyone knew it. A handover where the outgoing team says so, in writing, is a better handover than one where everything is presented as considered design. Ask directly for the list of things they would change if they were staying. It is usually short, accurate, and the most useful document produced in the whole process.

What actually transfers momentum

A runbook, not a wikiThe specific operations someone will need to perform, written as steps: deploy, roll back, rotate a secret, restore a backup, reprocess a failure, add a user.
A decision logDated entries for the choices that would otherwise look arbitrary, including the options rejected and why.
A map of the dark cornersThe fragile parts, the known-flaky tests, the scheduled jobs, the integration nobody remembers building. Named, with an owner’s honest opinion attached.
An overlap periodThe receiving team ships real changes while the outgoing team is still reachable. Reversed shadowing, not observation.
A defined support tailA bounded number of hours over a fixed number of weeks, in the contract. Not “give us a shout if you need anything”.
One named person on each sideHandover between organisations goes through individuals. Two names, with the time to do it, written down.

The overlap is the item most often cut, and the one that does the most work. Reading code teaches you the system slowly. Shipping a change to it, with the people who wrote it available for ten minutes when you get stuck, teaches you quickly. Plan for the receiving team to make real, deployed changes before the outgoing team leaves, not after.

Things that should worry you

Signals that this handover is going to hurt
  • Documentation scheduled as a final deliverable. It is always the item squeezed when the deadline tightens, so it arrives thin and written from memory.
  • Nobody has deployed the system except the person who set it up. The deployment process exists in one head and possibly one shell history.
  • “It’s all in the code.” True and useless. The code records what, never why, and never the options rejected.
  • No overlap period in the plan. The receiving team’s first real change lands after the people who could answer questions have gone.
  • A support window described in words rather than hours. Unbounded goodwill ends when the next project starts, which is usually the following Monday.
  • Credentials arriving as a spreadsheet on the last day. Credentials are the item most often forgotten and the one that breaks things first.

If you are the one handing over

A clean handover is a commercial asset, not a cost. Clients talk to each other, and “they left us in good shape” is a stronger reference than any case study. It also protects you: the team that inherits a mess will attribute every subsequent problem to the people who built it, fairly or not.

Two practical commitments make the difference. Write the documentation as you go, so it describes what is true rather than what someone remembered. And run the unassisted deploy test on your own work early enough that failing it is still cheap to fix.

If you are the one receiving

Protect the dip. Do not commit to a feature roadmap for the first two months, because you will miss it and lose credibility that you need. Spend that capacity on getting to a state where you can deploy confidently and debug independently, and say so explicitly to whoever sets expectations.

Then pick one genuinely useful change and ship it end to end while the previous team is still reachable. Nothing else builds working knowledge as fast, and nothing else tells you as clearly what the documentation left out.

More on the entitlements side of this in what you should own when a build ends, on the contract terms that make a clean exit possible in fixed price or time and materials, and on what the system costs to keep running once it is yours in what software maintenance really costs.

We treat handover as a deliverable with an acceptance test rather than a favour at the end, including on systems we did not build. If you are taking over a system and want help doing it without stalling, tell us what you are inheriting.

Common questions

How do you hand over a software project without losing momentum?

Start months before the end rather than in the final fortnight, and build in an overlap where the receiving team ships real changes while the outgoing team is still reachable. Prove the documentation by having someone who did not build the system deploy it unassisted. Book a support tail as a defined number of hours in the contract rather than relying on goodwill. A dip in output is unavoidable. Those three things control how deep it goes and how long it lasts.

How do you know if handover documentation is good enough?

Have someone from the receiving team set up an environment and deploy the system from the documents alone, without asking questions, while the authors watch and record every point where they get stuck. Fix those, then repeat with a different person. Two clean runs by two different people is the only defensible evidence. Documentation quality cannot be judged by its authors, because the steps they skipped are the ones they do without thinking.

What should be included in a software handover?

A runbook covering the specific operations someone will need to perform, a dated decision log explaining why things are the way they are, an honest map of the fragile parts and scheduled jobs, an overlap period, a support tail defined in hours, and one named person on each side with the time to do the work. The code, infrastructure, intellectual property, documentation and credentials are the entitlements. This list is what makes them usable.

How long should a handover period be?

Long enough for the receiving team to deploy the system, ship at least one real change and rehearse the operations that would cause an incident if done wrong, all while the outgoing team is still available. For a system of any substance that is weeks rather than days, followed by a bounded support window. The right measure is capability demonstrated, not calendar time elapsed.

Note on sources

This article is drawn from delivery practice rather than published research. There is no reliable public dataset on post-handover productivity, and we have not invented one: the chart above is an illustration of a pattern, explicitly labelled as such, not measured data. Where a claim here can be tested, test it in your own situation. The unassisted deploy described above is the cheapest way to do that.

The distinction between documented knowledge and the undocumented reasoning behind decisions is long-standing in knowledge management literature and is not original to us.

Written September 2026.