Agilicist have been parachuted into a multitude of organisations to fix issues they’ve had working with geographically distributed teams.
So what does it take to make offshore development a success?
Even before the pandemic, moving development offshore was becoming common-place. There are lots of reasons for this, but often it’s due to perceived cost.
They look at the rate card of a supplier and think, we can save £X by moving our entire development function over to India, Manilla, Brazil, wherever.
But it’s very easy to make mistakes, it’s not an easy thing to get right.
And, it often ends up costing the business more.
My view: it all comes down to communication, or lack thereof.
Agile software development was originally conceived for small, co-located, cross functional teams.
If people are sat next to each other, the quantity and quality of information exchanged is far greater than any digital alternative.
There are subtle cues they pick-up; learning through osmosis.
If we are geographically separated and in different time-zones it gets even worse.
Organisations attempt to combat these problems by being more directive in their management, and more prescriptive with requirements. Teams are told what to do, and how to do it.
Specifying this precisely takes nearly as much time as the development work itself.
And the other thing we see a lot of is the tribal aspect. Us vs Them - “that team in Cape Town are useless, they are stopping us delivering”, “that’s the last time we help them”.
So how do we fix these problems?
1. Establish Face to Face Contact
Bring people from different locations together. It doesn’t have to be all the time but meeting up face to face, working together and going for dinner makes it much more difficult to call someone a “muppet”!
At one client we’ve seen even better results by having someone from another location on-site all the time. Different people, at different times but always someone was there. And these were working visits, collaboration was taking place on actual work.
When people returned to their home location, they had cultivated relationships with the people they worked with. This made communication far easier.
2. Make Off-shore Teams Cross-Functional
Have you ever seen an organisation move their entire test function abroad? Or their entire development function?
If you geographically split your teams down the middle you are asking for trouble.
The approach Agilicist use with our offshore teams is to make sure they are cross-functional. All the roles needed to work on a particular piece of work are together at the same location.
Sometimes, our clients need the product owner to be remotely located from the team, that’s not ideal but if it has to be the case then it’s imperative that they provide strategic intent and allow the team to work on the “how” - say what the system should do - not how it should do it.
3. Use Varied Communication Methods
Video conferencing tools have become standard issue in every organisation over the past few years, but there are still challenges in getting everybody engaged in remote meetings. Different languages, accents and time zones are all barriers to communication.
Supplement video calls with chat tools and other written communication, this can often overcome the language hurdle. There is also the added benefit of seeing conversation history so people can catch up quickly if they missed something.
Offshore teams can work really well, be spun up quickly and help reduce operational costs but to build effective ones, it’s key that you cultivate a productive relationship from the get-go.
Agilicist can help here, not only with communication structures and strategies, but also with offshore teams who are built not only for skill-set, but with an agile mindset at the forefront.