|This article was adapted from a presentation titled “Build a Successful Global Training Program” to be presented by Michael Hackett, LogiGear Vice President, Business Strategy and Operations, at the Software Test & Performance Conference 2006 at the Hyatt Regency Cambridge, Massachusetts (November 7 – 9, 2006).|
This article describes how best to prepare yourself for training offshore teams to do their job, and how to have less stress leading or managing offshore teams. This article will discuss the problem of training global software testing teams and highlight training as the solution to many of those problems. In this article we describe some of the important facets of training and considerations for the solution, as well as outline the necessary training topics.
Where are we now?
The solution to many of the typical problems faced in offshore software testing is training. Training can help with issues such as:
- Fixing existing headaches in a current offshore effort
- Addressing the desire to “do it right” in advance of an offshore effort
- Dealing with the “time issues” that come with offshoring such as working late to interface with the offshore team in their morning and working Sunday night to synch up with the offshore team’s Monday morning
- Dealing with a lack of trust in the offshore test team and vice versa
- Repeating things to the offshore team time and again
- Spending too much time managing the offshore team
- Receiving endless questions
- Receiving ineffective or substandard testing
- Obtaining information that is lacking critical information (not the whole truth)
- Missing bugs
- Wasting time and money
How can training help? Training can help in many ways, including:
- Training the team to effectively do their job
- Helping to establish trust
- Setting guidelines and establishing metrics to manage against
- Implementing an effective process and communication infrastructure
- Removing questions about what to do and when
Planning the Training
There is a great deal of preliminary work prior to putting together a training program for an offshore team. Some of this essential preliminary work includes:
- Mapping out the goals of the training. What problems are you trying to solve?
- Defining the audience for the training. Who are your testers?
- Understanding the things you need to be aware of as you make plans.
- Mapping out what the training topics that are needed.
Some of the most essential training areas to consider include:
- Communication – You need to train on methods and expectations, as well as what we refer to as microcommunication, or total, thorough, complete, open, detailed communication of all information relating to a testing project. Communication gives visibility into what is happening, what is not getting done, progress and productivity, problems, issues, and roadblocks.
- Your test and project process – Define your test and development process to the extent that you can. Once set, train on the process and stick to it. You need to provide templates, show examples, and make a meeting schedule that you stick to.
- Product knowledge – What is your product? What does it do? What problem(s) does it solve?
- Domain and user knowledge – Provide general industry knowledge and information on the competition. You should spend time on who uses the product, what is their skill level, what type of user is it (Internal users? Consumers? B2B?), and how do they use it. This and the previous item (product knowledge) is your opportunity to “sell your product” and get the test team excited. This is not the place to be boring!
- Product technology – Here it is important to train on the technologies your product is built with or on, what third party components they need to know, whether it uses client or server side error checking, etc.
- “How to test” – Here you will need to train on knowledge of testing and QA, particularly of American-style testing which is virtually unknown in the countries most popular for offshoring. You need to train them to test, not validate. Training on how to test may need to include many basics such as: model-based testing, equivalence class partitioning, forced error testing, cause-effect graphing, writing user scenarios, requirements-based testing, and more. You need to give the team all of the knowledge they need, not only to test your product but to understand what testing is about. You will also have to do training on a variety of more abstract topics as well, including exploratory testing, test case design, and common approaches to breaking software (for example, James Whittaker’s “How to Break Software”). You also have to train your testers on what a bug is both from a user perspective and from a business perspective, as well as what is customer satisfaction.
- English training where necessary
- Cross-cultural training and training on “working with Americans” – Things that will need to be addressed here include (but are not limited to):
- How to say “no” (the ability to say “no” varies between cultures)
- How to question a person of authority
- Speaking up to voice opinions and suggestions on testing and process
- How to think “outside the box”
- Understanding group dynamics, from how to do brainstorming, to working with or without group consensus
Special and delicate training is needed on the importance of getting the whole story and not half truths, as well as the importance of building trust and trust being a two-way street.
Training also extends to your onshore team. The domestic team will also need training on soft skills and process if the project is to be successful. A key training topic is better communication (how to conduct virtual meetings, status reporting, and the importance of kickoff meetings, etc.). Training your home team should include:
- Processes for working with offshore teams
- The importance of sticking to internal team processes
- Improving documentation
- Build processes, including acceptance testing and transfer
- What to do when the offshore team hits blocking issues and the domestic team is unavailable
- What the offshore team can do during downtime
Your home team must also be aware of how their behavior will be interpreted by the offshore team. Americans in team meetings often make jokes, political comments, and openly criticize superiors or management. Depending on the country, this can be looked upon as disrespectful. The domestic team needs to be made aware of the habits that may create project friction and be given training on preventing it where possible.
Types of Training
Time needs to be spent considering the most effective method for training delivery. The available means of training include:
- Using it
- Video conferencing
It is not enough to think that you can send the test case database and have anyone learn from that or effectively test from that.
It is important to understand up front that there must be some face-to-face training. It provides a mechanism for easy and more effective Q&A, helps you to get to know the team and vice versa, helps to break formality, provides for better communication, and helps to tell the truth easier. In essence, while more expensive, it is the most effective means of training.
The Training Material
It is important for you to review your current training materials looking for:
- Images that are clearly American that the audience will not understand
- Cultural references
- Assumed knowledge
When training an offshore team it is helpful to add more games and more exercises to your training material.
It is also important to have the proper expectations about how much time it will take to deliver your training material. It will take much longer to train an offshore team than a new US employee. It is also important to train in phases to avoid “brain overload”. You might consider sending a glossary in advance, and you should plan on leaving reference material.
Exams are a crucial addition to typical US team training. You should plan on giving exams on the material presented. When this is done teams pay more attention, and people ask more questions. You will also find out if you are understood and it can help to give a good understanding of their command of English.
An effective training program can go a long way to solving many of the problems faced by an offshore testing effort. Done properly, the training program can set the offshore team up for success, help focus the domestic team, and help you to better understand your own processes. An additional benefit of an effective training program is that it can help you to deal with the staff turnover issues that plague many offshore locations. Excellent training is both an excellent draw for good talent, as well a strong motivator for retention.
LogiGear Software Test & Performance Conference 2006 Presentations
Presentations to be delivered by LogiGear at the Software Test & Performance Conference 2006 include:
- Wednesday, Nov. 8, 8:30 am to 10:00 am – “Effectively Training Your Offshore Test Team” by Michael Hackett
- Wednesday, Nov. 8, 1:15 pm to 2:30 pm – “How to Optimize Your Web Testing Strategy” by Hung Q. Nguyen
- Wednesday, Nov. 8, 3:00 pm to 4:15 pm – “Agile Test Development” by Hans Buwalda
- Thursday, Nov. 9, 8:30 am to 10:00 am – “Strategies and Tactics for Global Test Automation, Part 1” by Hung Q. Nguyen
- Thursday, Nov. 9, 10:30 am to 12:00 pm – “Strategies and Tactics for Global Test Automation, Part 2” by Hung Q. Nguyen
- Thursday, Nov. 9, 2:00 pm to 3:15 pm – “The 5% Challenges of Test Automation” by Hans Buwalda
To register or for more information on STP CON, see: http://www.stpcon.com/