Is your company experiencing difficulty and frustration with its offshore project teams? Are your teams not consistently...
performing well? Are the results not what was expected? Clear direction is important in ALM, but most especially in managing offshore teams. In this tip, you’ll learn about managing offshore test teams through each phase of the project cycle—from selecting the team and executing the project through presenting and documenting its results.
Inception phase: Selecting your team
In the inception phase, your most important task is selecting your team. Your onsite coordinator is your key person; he or she is your link to the offshore team. You need someone who is very experienced and someone with whom you have a good working relationship. If possible, have a core group of onsite coordinators from whom you can choose the best candidate based on the project size and knowledge of the applications and domains involved. Your offshore lead should have application knowledge and needs to be a good communicator. Choose your team members based on the mix of technical and analytical skills needed for the project. After the team is selected, hold a kickoff meeting using a video conference to meet the team, introduce yourself and give an overview of the project.
Analysis phase: Project planning and reviewing requirements
During the analysis phase, your main tasks are project planning and reviewing the business requirements. The project plan and test schedule should be shared with the offshore team to ensure their commitment to meeting the dates. If overtime may be involved, now is the time to make that expectation clear to the team. The business requirement review gives you the opportunity to determine the team’s level of business knowledge and take corrective action if the level of knowledge is not high enough to develop and execute the test cases successfully. Determine the level of domain knowledge by reviewing their questions. If additional training is necessary, direct them to the appropriate training documents, wikis, etc. If necessary, consider holding a WebEx conference with a subject matter expert.
Design phase: Develop the test strategy and test plan
During the design phase you will be developing the test strategy and test plan and your team will be performing the ambiguity review of the functional requirements. Work with the onsite and offshore coordinators to design the test strategy and test plan. Get input from the offshore team, taking advantage of their individual strengths and areas of expertise. It is helpful to send emails to individual team members asking for their input based on their skill set; for example, the automation specialists should be involved in designing the automation strategy sections of the test plan.
In order to prepare a comprehensive and effective ambiguity review on the functional requirements, your offshore team needs to have a clear understanding of your expectations. Written documentation of your expectations regarding the ambiguity review will help to ensure the development of a comprehensive test artifact. Provide sample ambiguity review documents to illustrate both form and content. All ambiguities should be documented in the test management software used by your organization. Review all ambiguities and answer as many as possible within the QA team prior to releasing them to the business systems analysts and other appropriate project team members.
Code phase: Develop test cases and test scripts
During the build/code phase, you and your team will be developing the test cases and test scripts that will be used during the test execution. These test artifacts form the foundation of your test; success or failure begins here so clear direction is key. Provide sample test cases, test scripts and traceability matrices to level set your expectations. Review the test cases and test scripts early in the development process in order to verify both format and content. Provide timely and effective feedback, noting examples of well-written documents. Clearly explain what is lacking in documents that are poorly written and provide suggestions for improvement.
Track and monitor the progress of the test case and test script development. If it is not proceeding according to the project plan, find out why and take corrective action. When test planning is on or ahead of schedule, recognize the team’s accomplishment. Hold a “dress rehearsal” of the test case walkthrough with the offshore team. If possible, schedule the meeting at a time that they can attend by conference call or video conference. If time zones of participants make this impossible, share the signoffs with the offshore team. The offshore team needs to be recognized as an integral part of the project team; out of site is not out of mind.
Test phase: Monitor test execution
During the test phase, closely monitor the planned vs. actual test execution. This is critical not only for providing status to project management, but also to find and address issues on a timely basis. If the actual test coverage is behind plan, work with your onsite and offshore team lead to document the reasons. It may be necessary to request additional resources or overtime. Issues may not be resource-related; they may include incomplete code deliveries, blocking defects or even system performance issues. Document the issues and work with project management to address them quickly and effectively. It is critical to track test execution coverage, results and defects in your test management software. Include your team on all status reports, thanking them publicly through email as appropriate.
It is essential that defects are documented clearly and completely. Provide clear direction on your expectations regarding linking defects to test cases, providing all steps needed to reproduce the defect, screen shots, etc. If possible, include the offshore team in defect review meetings. Use instant messaging if you or other members of the project team have difficulty understanding accents. If the development team is collocated, consider asking your offshore lead to facilitate defect meetings at their site. Bringing the developer and tester together can significantly reduce the time needed for defect turnover thereby shortening the test iterations.
Deployment phase: Provide input into the retrospective and celebrate
In the deployment and closing phases of the project, provide input into the retrospective and recognize your team’s accomplishments. Publish metrics of the numbers of test cases executed, defect removal efficiency rates etc, keeping metrics positive. Document challenges and issues faced during testing and recognize extra effort the offshore team put in to make the project a success. If there are celebrations planned, make sure a similar celebration is planned for the offshore team and make sure the offshore team is included in any awards that all project team members receive. Ask the project manager and sponsors to send a thank you email to the team. Offshore teams appreciate recognition from management.
Hold a final meeting, by video conference if possible, to thank the team and formally close the project with them. By this time, you have gotten to know the team members and you may not have the opportunity to work together again. Consider sending thank you notes, either email or hard copy, to each team member individually, recognizing their individual contribution to the project.
The keys to managing offshore teams successfully are to provide clear communication and direction, including the team in project communications and remembering that out sight is not out of mind.
Dig Deeper on Software Test Design and Planning