Definition:
Hand off is an act of handing or instance of passing something or the control from one person or agency to another. Learning development expert Allen Ward defines a hand-off as a separation of knowledge, responsibility, action and feedback. Hand-offs occurs everywhere in a sequential development process. The business requirement gathered is handed off to architecture, which in turn is handed off to programmer who will hand-off the code to testers. Documents are produced in projects to enable the hand-offs. Holding a traditional project manager accountable for meeting project specification and deadlines she didn’t contribute to is an example of a responsibility hand-off.
Cross-functional teams became popular, as a response to the troubled caused on traditional development projects. Embrace Whole-Team Responsibility, means even though there may be one person for whom we look for certain task, just about everything is responsibility of the whole team. The more the whole team is involved, the more the team feels the shared responsibility, and the fewer hand-offs there will be. By eliminating hand-offs we eliminate problems created by waiting and the need to transfer knowledge from one person to another.
Further Reading:
Book: SUCCEEDING WITH AGILE Software Development Using Scrum by Mike Cohn