I’m sure I’m not the first person to do this, but I’ve never heard anyone else explain it explicitly, so here’s my take on it. This was originally part of a discussion on the Software Craftsmanship Slack organisation.
Ninja pairing: you arrive, you pair, you depart, and no one even realises you were there.
Someone rants at you about their code over lunch, so after lunch, you sit with them and get them to explain the problem.
After a while, you ask for the keyboard. You mostly navigate, but share the keyboard and mouse a little.
Once you’ve solved the problem, you figure out whether it’s OK to stick around or whether you should go back to your desk.
If you stick around, great. You’re pairing now. Start injecting a little testing, a little design, maybe a bit of planning for the rest of the task/story/project.
If not, wait until it happens again. It’ll be easier next time.