Global Software Development — Training the New Team


training classGetting back to the previous thread about building global teams.

As you assemble the new team, one of the first, and most important activities will be to get the new team ready.

Consider the following:

  • Hire people with the right skills and aptitude (surprise!). Bring in people with a good combination of technical skills, along with communication and interpersonal traits that will help them learn quickly. Smart, engaged team-players who fit your operating model are the most likely to succeed, and build sustainable teams.
  • Focus your training efforts. Take inventory of the work that you’d like the team to start with. Ideally, its something meaningful, but somewhat less time critical than the work your more established teams are doing.
  • Build a strong foundation. Think a bit about what you’d like the team to be doing further along, once the initial tasking has completed.
  • Plan activities. Based on the upcoming assignments, identify the major gaps that need to be filled to get the team to the point where they are able to contribute on the initial tasks (presumably learning on their own, and knowing where to get answers).
  • Identify the sources of training. Some will be written, some will require interactions with longer term employees.
  • Seed the team. If you’ve taken the hiring path I suggested in my earlier post, you should have been able to get more seasoned, technical leads on board first. These people will become a valuable bridge. Help them become effective as quickly as possible.

None of this should be a surprise. As you plan and move forward in training the team, concentrate on building productive and strong work and social relationships among team members in the various locations. As the team gets to know one another, they will become more comfortable asking questions and sharing information. This will pay huge dividends. Your goal will be to establish a supportive, and collaborative relationship across all groups. When you’re able to do this, progress will come at a fast pace.

I view this process as coming in three general stages, preparation, familiarization, and ramping productive work. Lets take a look at each of these phases.

While you’re busy recruiting, think about what will help the new team members become productive. Take inventory of documentation, build catalogs/directories of key pieces of information. This can include pointers to tooling, source code, test resources, and a directory of who’s who. Consider having some of your key leaders or senior members of the technical staff prepare materials to present to the team. In some cases, recorded sessions and tutorials may be helpful. Also, don’t underestimate the value of budgeting for travel. You may want to solicit support for having team members travel to spend time with one another.

Once the new employees start to arrive, you’ll want to move quickly to familiarize them with your products, services, and the work that you’ve outlined for them. Get people together. Have your business leads provide overviews of how your products and services are used by customers. Have your tech leads walk through the system architecture, and help the team understand the working environment and tools. Have your project leads or directors provide an introduction to how projects are managed. This can include overall process guidance, pointers to tools, and an open Q&A session. You’ll want the team to be ready to interact and collaborate in a transparent & consistent manner. You’re also likely to be training the trainers. There may be other team members who have yet to arrive. The more that you can train their future office mates, the easier things will be in the longer term.

As quickly as you can, get the new team members working on active projects. In many cases, it can be helpful to engage the new team members in sorting out defects and resolving issues in areas of the system. This type of work is a good catalyst for learning the environment, tooling, and application. Assuming that the issues are reasonably easy to reproduce and isolate, defect remediation work helps provide context for those starting to learn the new system. Outside of defect fixing, it may also be useful to concentrate on small enhancements to the product. In general, find work that can be mastered in a shorter period of time, and that gives the new team members good opportunities to contribute and learn.

In the past, I’ve also found that it can be helpful to build out an inventory of key skills and develop a dashboard that can help visualize the coverage of knowledge that you’d like the team to obtain. If you decide to monitor their progress in skills acquisition, also be prepared to adjust your goals, as they are likely to change as the product and competitive environment will evolve in tandem with your team.

These phases of your project can be both interesting and challenging. They provide a great opportunity for everyone, including the legacy employees to learn, and expand their capabilities. Pay attention, and ensure that people are sharing information, and good things can happen.

Advertisement

About Mike Rodbell

I'm a technology leader, engaged in developing software for the telecom, online commerce, and business process/analysis markets. All of the teams I've worked with have had a great deal in common. They need to be good at what they do, listen, share, and collaborate towards a shared set of goals. This blog is dedicated to those activities. I hope you enjoy reading it.
This entry was posted in Change and Behavior, Distributed Teams, management, Uncategorized and tagged , , , , . Bookmark the permalink.

1 Response to Global Software Development — Training the New Team

  1. Pingback: Global Software Development Processes/Approaches | Managing as Little as Necessary

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s