The transition from waterfall development to agile methodology has not been smooth for everyone, and reports of agile adoption are often exaggerated. Businesses have been quick to see the potential cost savings in rolling out some of their development to offshore teams. Yet many companies are afraid that when they switch to agile development processes they will not be able to utilize offshore teams effectively.
It's a given that extreme time zone differences impair communications. Stir in cultural differences and language barriers to the pot, and suddenly trust becomes an elusive ingredient. With the right approach it's possible to overcome these challenges and prove that offshore development and agile methodology are not mutually exclusive.
Here are three ways to overcome the issues of communication, culture and trust, all of which are critical for agile development.
Problem — Your offshore team is on the other side of the world. That really puts a damper on communications.
Communication is vital. Agile requires close, daily collaboration between business people, developers, and testers. Agile development is about cutting through bureaucracy to get straight to the core of what is necessary to build working software quickly. Ditch the overhead of producing documents that are soon out of date and long lists of requirements that people rarely read. Focus on face to face conversations. The plan grows through debate and vital questions are asked and answered in daily meetings.
Solutions — Provide communication tools for video conferencing and instant messaging. Consider that a 12 hour time difference makes things very tough for your offshore team if you decide to schedule a meeting for 2:00 p.m. Agree on a sensible time for both parties to make meetings productive and effective.
Audio only conference calls don't allow teams to see each other's faces and that can lead to misunderstandings. Use video conferencing instead. Setting up a video camera where everyone can see each other fosters trust and better relationships. Use the office conference room, because home or remote locations can cause technical problems and present distractions. Encourage the use of a common Wiki to share information. Make sure that Sprint plans are web-based so everyone has real-time access once the plan is agreed.
Problem — How to account for cultural differences?
Broadly speaking, there is an East versus West divide, in the sense that western culture encourages people to speak out. Asking questions, or even disagreeing with superiors, is normal, and input is expected from staff members. Offshore companies, usually located in Asia, have a culture of deferring to the boss and that sometimes extends to not asking questions. That mindset is not compatible with agile development.
Solutions — Educate and reward them. As soon as they realize that you want input, you'll find the questions and suggestions will start to flow. Remember that it's a bad sign if your offshore team has no questions about a new feature, or they sit through a SCRUM in silence. Encourage them to get involved, ask directly for input, pose leading questions, and offer rewards for the best participants.
Always address their input. If a member of the offshore team suggests a great new feature, but there simply isn't the budget to act upon it—explain the situation. It is important that they feel as though they are being heard and their input is valued. Sometimes the greatest savings, or some of the best feature ideas, come from members of the development team with a slightly different perspective on the project.
It can really pay to listen and it's vital to create an atmosphere conducive to sharing and speaking out.
Problem — How do you build trust between the onshore team and the offshore team?
Going back to the core issue, about companies being reticent to integrate offshore teams with their agile development processes, the fundamental reason is a lack of trust. This is why organizations stick to a waterfall approach, so they can produce a detailed plan with requirements and hand it to the offshore team to have them enact it. We know this is often an inefficient way to work and it doesn't get the best results. It's also no way to start a profitable relationship. It leads to resentment and a kind of "them and us" attitude that has no place in agile development.
Solutions — There is no substitute for face to face contact to build a long term, trusting relationship. At the beginning of a project it is absolutely vital that key team leads from both sides physically visit each others sites. This will help facilitate knowledge transfer, hands-on training, and create an understanding of how each business operates. (It will also settle or calm cultural differences.) In an ideal world some of the offshore team will spend 4-8 weeks working onsite with the onshore team. This will give them invaluable insight. They will learn about office politics, which members of staff deal with specific issues, and understand the pecking order in terms of opinions. All of this information goes home with them and is disseminated to their colleagues.
Team members from different sites will learn to understand each other. Barriers are broken down, relationships are formed, and lines of communication are created. These "exchange student" type of visits should not focus entirely on work, but allow time for socialization and fun; the stories and the bonds that grow from this will generate positive relations and improve the development process, more so than laboring over hours of project meetings. Rotate the staff who spend time with visitors, and send different people for each visit, to "spread the wealth" of understanding. The more relationships are formed, the more trust is built, and you have a solid foundation for everything else.
Real benefits are realized when offshore and onshore teams aren't working at cross purposes, but are fully invested in the agile process. This is achievable once the offshore team feels valued and invested in the parent organization and perceived as an extension of the company. The amount of value they can bring to the table more than offsets the extra bit of social work involved, with an end result that should pay handsome dividends and faster time-to-market.