Du Nguyen, Vice President of Delivery for KMS Technology, gives some tips for successful agile development with offshore teams.
Agile methodology is part of the mainstream in software development now. The business value is clear and the community, knowledge and tools have matured. More than 95% of respondents to VersionOne’s 10th Annual State of Agile Report said their organisations practice agile and highlighted benefits such as faster product delivery, flexibility, and increased productivity.
Global outsourcing and the use of offshore teams is widespread. We’re talking about a market that was worth around US$90 billion in 2015, according to Accelerance. The ability to scale quickly, find the right expertise, and keep costs under control ensures that outsourcing is essential for many companies.
Both the agile and offshore trends have their obvious attractions, but bringing the two together can present a unique set of problems. Communication is such a key aspect of agile that distance between teams can be a tangible barrier. There are cultural differences and trust issues to deal with. However, it is possible to combine agile and offshore, if you adopt the right approach.
Open lines of communication
Agile enables faster development partly because it cuts out unnecessary bureaucracy and encourages daily conversations about the best way to proceed. The distributed nature of many modern development teams poses some definite problems. If your offshore team is on the other side of the world it may be difficult to promote effective communication.
There are a few ways to combat this issue, starting with some basic planning and consideration. Regular meetings are essential for agile development, but you must make sure that you schedule meetings for a time that works for both teams. If it’s the middle of the night for your offshore team, then that’s going to have a detrimental impact on their contribution.
Make sure that everyone uses a common Wiki, a forum, or another shared repository of collective wisdom. This enables team members internally and offshore to share knowledge, review the plans for the next sprint, and discuss issues or thoughts. You should also provide instant messaging and video conferencing tools. Audio calls are better than written communication, but there is still room for misinterpretation.
Face to face time is important
If people can actually see each other when they talk it really helps to develop the relationship and build trust. Set up the conference room for your regular meetings and test the technology ahead of time to avoid any frustrating delays or technical issues. Make sure that the person speaking can be seen by the other team and encourage employees to have face-to-face calls whenever possible.
There’s also no substitute for an actual physical visit. This is particularly important at the beginning of a project. Make sure you plan for site visits in both directions. Start with key team leads and have them spend time with the offshore team and vice versa to see exactly how things operate and establish one-to-one links with each other. Set aside some time during these visits for social activities that encourage long-lasting relationships and break down cultural barriers.
When your internal team and your offshore team understand what the other is doing and recognise them as people with their own personalities, instead of names on a list, they will work much more effectively together.
Learning is a two-way street
If you treat your offshore team like hired help, then you won’t get the benefit of their expertise and experience. Part of your decision to choose a specific offshore team was based on their skillset and the quality of their work on past projects. Remember that, although they’re assisting you with a specific project, they may also be able to offer useful insights and suggestions that could really benefit your company.
It’s also very important to ensure that the offshore team are able to make their voice heard. They should be participants in your regular meetings, not just observers. If they never ask questions, then you should be concerned. Make sure that participation is encouraged and even rewarded where appropriate. They should be properly valued and ideally treated as an extension of the company, rather than as a separate entity.
There are lots of other considerations to keep in mind when you employ agile and offshore strategies together, but these broad concepts should be in the forefront of your mind. For a successful, long-term partnership to work it must be mutually beneficial and laying the groundwork for effective communication is always a necessary prerequisite.