Start before the end
Handover planned for the final week produces a document nobody can use. Begin while there is still time to discover what is missing, ideally a month or more before the transition.
The useful test is whether the receiving team can do things, not whether they have been told about them.
Transfer by doing, not by presenting
Walkthroughs feel productive and transfer very little. Instead, have the receiving team take real work — a bug, a small feature, a deployment — while the original team is available to answer questions.
Everything they get stuck on is a genuine gap in the documentation, discovered while it can still be fixed by the people who know the answer.
Document what is not in the code
How the system works is largely readable. Why it works that way is not, and it is the part that gets lost.
- Decisions and the constraints behind them, including rejected alternatives
- Known failure modes and what to do about each
- The parts that look wrong but exist for a reason
- External dependencies, who owns them, and how to reach them
- Anything that has caused an incident, and what was changed
Hand over the operational reality
Access to every account and system, in the receiving team's own credentials rather than shared ones. Alert routing changed to them. Runbooks that they have actually followed at least once.
Check for accounts registered to individuals — domains, certificates, app stores, third-party services. These are the things that quietly expire eighteen months later with nobody able to renew them.
Prove it with a release
The clearest test of a handover is whether the receiving team can take a change to production unaided, with the original team watching but silent.
Whatever goes wrong during that exercise is exactly what would have gone wrong later, without help available.
Agree what happens afterwards
A defined period where questions can still be asked, with a named contact and an end date, prevents both an abrupt cutoff and an indefinite obligation.
Write down what is included so both sides have the same expectation.
