Recently one of our key engineers resigned. This engineer has co-authored a major component of our application. We are not hitting Truck number yet though, but we're getting close :)
Before the guy waltzes off, we want to take actions necessary to recover from this loss as smoothly as possible and eventually 'grow' the rest of the team to competently cover the parts he authored.
More about the context: the domain the component covers and the code are no rocket science but still a lot of non-trivial stuff. Some team members can already cover a lot of this but those have a lot on their plates.
These are the actions that come to my mind:
- Improve tests and test coverage - especially for the non-trivial stuff,
- Update high level documents,
- Document any 'funny stuff' the code does (we had to do some heavy duct-taping),
- Add / update code documentation - have everything with 'public' visibility documented.
Finally the questions:
What do you think are the actions to take in this situation? What have you done in such situations? What did or did not work well for you?