When outsourcing software development, think about culture!
Outsourcing of IT services and agile methodologies have definitely proved to be a good combination. More and more companies, especially Small and Medium Sized Enterprises are looking to outsourcing as a means of lowering cost but also as an alternative to hiring IT staff that could be both difficult and expensive.
Reading an otherwise excellent article on outsourcemagazine.co.uk, "Marrying agile execution with outsourcing" that provides good advice and analysis of the advantages and risks, I still felt that there are some core components missing.
The author, Mr Sanjay Chadha, wisely brings up how understanding the nuances of agile execution can help with outsourcing and I think he is right. However there are 2 core elements that I would like to add or emphasise. Communication and Culture!
Since agile is highly collaborative and iterative in the planning as well as execution stages, the communication aspect becomes central. Communication in an agile team is not only a question of talking at an acceptable level of the same language it is actually to be able to discuss, argue and object in a way that has an impact on the team. It means that all team members need be able to contribute and make them self understood and clear. A process that arguably is more difficult when not having met in person.
Choosing the right tools for on-line communication is of course important but I believe that it is even more important that the team can meet and that the members can learn to know each other in order to establish the right level of communication and trust. As we have chosen to have a distributed environment, which is clearly more challenging than co-location, we want to compensate for the lack of it by letting the team meet to initiate, plan and execute initial work together.
It is also an advantage to schedule regular planning and review sessions together. As a rule of thumb we have found that after initial start-up, every 3 months seems to work well.
As agile teams need to act as one, any form hierarchy will be demoting the collaboration and the success of the team. Organisations with extensive hierarchical management structures or cultures would potentially have a challenge to execute in an agile way.
Many clients want more from their software developers than just code. A culture promoting questioning and criticism is better in terms of creation and innovation. The team members in this environment will also be able to act as advisors and thus contribute with their experiences and think in an efficient way.
A drive for technical excellence and thereby learning is also a part of a culture that would be desirable. Organisations where individuals are motivated by being exposed to technical challenges and rewarded with training and promotion to technical expertise is better than a culture driven by individual promotion in a hierarchy. We are favouring a culture where software developers in majority not want to be managers but rather want to excel in their field.
Culture and tradition also affects the meaning of words and how they are interpreted. In many cultures the word "yes" might not mean a yes, it could mean, "yes, I understand" as an example. I wouldn't argue that this is either good or bad, it is simply an example of how cultural differences could make the communication more difficult and potentially introduce misunderstanding or misconception in the distributed environment.
Near-shore or off-shore?
Based on the two above aspects near-shore is providing the better choice. For European clients the choice of Eastern European IT partners will provide clear benefits in terms of Communication and Culture.
- Easier to meet and interact. Despite Eastern European vendors often having a slightly higher rate structure, it can prove to be worth to take the near-shore alternative also from a cost perspective since travelling and ease of travel makes meeting and thus communication better, simpler and cheaper.
- The company culture in Eastern Europe is rather flat and teams find it natural to be agile.
- Individuals in Eastern Europe are clearly driven by exposure technical challenges rather than promotion and salary. Learning and increased insight becomes natural to the team and is also very well suited for agile development. It should also be taken into consideration when planning a strategy for the team since to much of the same work might affect attrition negatively. The work should ideally be challenging and interesting.
- The desire to know and learn also drives a curiosity and thus an ability to ask questions and to discuss alternative solutions to a problem. The level of creativity and innovation will then arguably be higher than in a team where acceptance of the clients wishes are more favoured.
- Tradition and culture is similar between Eastern and Western Europe. Even if it is not equal in all extents is is more similar than between Asia and Europe, which will help with understanding.
Think twice about the two cornerstones of Communication and Culture when looking for an outsourcing partner. Making the right call here will enhance your success rate.