Managing offshore software development projects can easily overwhelm US project managers who are new to offshoring. Treading through the intricacy of handling teams across time zones, different cultural and language nuances compounded by the lack of face to face interaction and managing the logistics of a dispersed delivery organization adds a magnitude of complexity to the project.
The single most important thing that can help overcome these is the manager’s ability to build a high performing team. An offshore and onsite team working together with a common purpose can work through all issues and be successful. But how do you go about team building when the team is halfway across the world and coming from a completely different cultural background?
The Wisdom of Teams: Creating the High-Performance Organization by Jon R. Katzenbach and Douglas K. Smith discusses the team performance curve. At the top of the curve is the “high-performance team” followed by “real teams.” Real teams are defined as “a small number of people with complimentary skills who are equally committed to a common purpose, goals, and working approach for which they hold themselves mutually accountable.” High performing teams are those that meet all conditions of real teams and “have members who are also deeply committed to one another’s personal growth and success.” It is probably not possible to get a global team to function as seamlessly as a co-located team – but you can definitely take the spirit of the team definition and scale it up to a globally dispersed group to create a winning team.
The following top-10 list for the project manager provides a guideline for reaching this goal.
–> #1. Make sure that offshore and onsite groups work as a single delivery team.
In most offshore delivery models, the delivery team has an “onsite” and an “offshore” component. In many cases there’s even a vendor-customer contract between the local and offshore organizations – be it with an offshore vendor or even with the offshore part of the same company. But as an onsite project manager responsible for delivery, it’s critically important that you remove the perception of onsite-offshore divide. The group needs to be perceived as one project team, with members in different time zones. In conversations, avoid referring to the offshore group as “you.” Always refer to the entire team as “we,” as in, “Do we need more information from the user?” vs. “Do you guys (offshore) want us (onsite) to get more information from the user?”
–> #2. Do not play customer.
Do not play the role of the “customer” to the offshore team. Most offshore delivery models rely on the onsite manager/team playing the “pseudo customer.” This puts an additional artificial layer between the offshore team and end users. It also generates a perception of the onsite group being different from the offshore group. Try to remove any barrier to direct communication between the stakeholders and the offshore team members; work as a liaison to build seamless interaction.
–> #3. Information – the more the merrier.
Provide as much information to the offshore team members as possible. Educate them about the client organization, their business, the stakeholders and their expectations. Explain what business benefits the project will bring to the client and the delivery organization. There is nothing more exciting to team members than to see the difference their efforts are making to the business. This applies to both onsite and offshore team members. But in case of the offshore members, it’s that much more important, as they’re removed from the action.
–> #4. Celebrate success and be generous with compliments.
This is an established team building technique that has additional importance in an offshore situation. Take any opportunity to reward the team. Even though the offshore organization may have its own reward system – any recognition from the onsite organization will have added significance. In addition, little things like copying senior managers on emails that have news of success and sending congratulatory emails for every little win are very helpful. But at the same time, don’t hesitate to criticize when needed. Try as much as possible to criticize in private and praise in public. Though when needed, escalate to the offshore leadership so that they can get involved. Building a good working relationship with the offshore senior managers is critical.
–> #5. State the obvious.
As a general rule, always over-communicate when dealing with the offshore team members. It’s OK to repeat yourself. It’s not OK to leave out anything even though it may seem to be an obvious detail. Keep in mind, things that are obvious to the onsite team members may not be as apparent to the offshore members.
–> #6. Don’t assume anything.
Ask questions – do not assume anything. The offshore team members won’t always be very vocal or express their concerns. They won’t bring up critical issues before it’s too late. You’ll need to probe, at least initially, to find out what issues the team is facing that may turn out to be a risk in the project.
–> #7. Know your team.
Know your team. Know what they are working on. Show interest in their work. Try to interact with as many team members as possible. In some cases, your offshore team will be very large, making it impractical to interact with everyone regularly. But it’s important to make an effort to know as much detail as possible. Sending an occasional email to an individual team member or asking about a sticky problem and how the team managed to solve it humanizes your role in the eye of an offshore developer in a large team.
–> #8. Know the offshore process.
Show keen interest in the day-to-day processes followed offshore. What happens offshore on a daily basis shouldn’t be a black box. Be sympathetic to problems the team faces. Even if you can’t help in solving a problem, showing interest and sympathy will go a long way. Work with the offshore leadership to brainstorm what best practices are needed for the project.
–> #9. Build relationships with the offshore managers.
Don’t try to micro-manage. If you want changes made, work with the offshore leadership. Build relationships with the delivery head, quality head and other managers – and implement your ideas through them. You need their support to be successful.
–> #10. A bit of cricket can go a long way.
Show interest in the local culture, and you’ll be able to build a rewarding relationship with the team. For example, if your offshore team is in India, learn about cricket. There’s no better ice breaker for an Indian software team than discussing the fate of a one day cricket match involving India.