Squad Rotation
Whether rotations occur according to the standard six-month schedule or punctually due to new project needs, the re-assignment of squad members is common to most projects. To minimize downtime, rotating squad members will be done in two phases. The first phase focuses on onboarding incoming members and familiarizing them with the project. The second phase focuses on offboarding outgoing members and ensuring that all existing work is wrapped up. Squad rotation requires the involvement of both Product Managers and the Development team.
In an ideal situation, each phase should correspond to one sprint - usually two weeks. Therefore, an efficient rotation is a one-month effort. In cases when rotations are more time-sensitive, the rotation should still maintain the two phase approach but be condensed within the timeframe.
Product Managers and Developers must complete the following requirements when rotating on and off a squad.
Developer Rotation
Phase 1
Team Lead Responsibilities
- Transfer of knowledge between Team Leads.
- Continue to assign the user stories to the outgoing Developer.
- Add the incoming Developer as code reviewer on all new pull requests.
Developer Responsibilities
- Set up the codebase(s) in their local environment and ensure they can run it.
- Continue performing code reviews on the project that they are phasing out of while starting code reviews on the new project. It will help them familiarize with the ongoing priorities and challenges but also with the codebase.
Product Manager Responsibilities
- Introduce the project to the incoming Developer.
- Set up and/or request all required accounts and credentials for the incoming Developer.
- Ensure the incoming Developer has write access to the code repositories.
- Introduce the incoming Developer to the client.
- Invite the incoming Developer to join the sprint planning session along with the current squad members.
Handover templates for Engineering Lead and Team Lead
Phase 2
Team Lead Responsibilities
- Assign the user stories to the incoming Developer.
- Ensure the swift completion of user stories and pull requests by the outgoing Developer.
- Ensure the incoming Developer is in close proximity to the squad in the office.
Developer Responsibilities
- Wrap up in-progress user stories and pull requests on their current project until full completion. No unfinished work must be left behind.
- Work on the user stories in the new project.
Product Manager Responsibilities
- Include only the incoming Developer is in the sprint planning session.
- Ensure the user stories for the current sprint have been assigned by the Team Lead solely to the incoming Developer.
Product Manager Rotation
Phase 1
Outgoing Product Manager Responsibilities
- Ensure that the project’s documents are up-to-date.
- Ensure that the stakeholders list is up-to-date.
- Schedule a meeting with the incoming Product Manager to explain the project.
- Introduce the client and squad members to the incoming Product Manager.
- Set up and/or request all required accounts and credentials for the incoming Product Manager.
- Invite the incoming Product Manager to join the sprint planning session along with squad members.
- Continue to lead meetings and sprint planning sessions. Make it clear to the client and squad that they will be transitioning off the project.
- Continue to create user stories for the current or next sprint. There should be a sprint of planned work ready for the incoming Product Manager.
- Assign some stories for the incoming Product Manager to QA.
Incoming Product Manager Responsibilities
- Setup a meeting with the outgoing Product Manager to gain an overview of the project.
- Read up on the project’s documentation, stakeholders, designs, etc.
- Attend sprint planning and client meetings for the project.
- Gain access to all required accounts and credentials from the outgoing Product Manager.
- Review any deviations and blockers on the project.
- QA stories in the current sprint.
Team Lead Responsibilities
- Continue to forward questions to the outgoing Product Manager, but include the incoming Product Manager in cc.
- Include the incoming Product Manager in discussions.
Phase 2
Outgoing Product Manager Responsibilities
- Ensure that the project’s documents are up-to-date.
- Transfer all meeting ownerships to the incoming Product Manager.
- Remove themselves from future meetings.
- Continue to attend meetings and sprint planning sessions but only in a support role.
- Continue to monitor discussions and conversations and assist when needed.
- Ensure that the incoming Product Manager is the main point of contact in conversations.
Incoming Product Manager Responsibilities
- Lead all meetings and sprint planning sessions.
- Create new user stories. There should be at least a sprint of backlog ready.
- Take initiative in answering questions from Team Leads and Engineering Leads.
- Ensure that they are the main point of contact in conversations.
- QA all stories in the current sprint.
Team Lead Responsibilities
- Forward all questions only to the incoming Product Manager, but include the outgoing Product Manager in cc.