Blog

Find out more
go back

5 “C” Essentials for Agile in Nearshoring

5 “C” Essentials for Agile in Nearshoring

On November 28th the XP Days Benelux took place, where Andriy Korpan, software developer and Scrum Master at Symphony Solutions together with Joost Mulders, development manager at Mproof, shared a real life example of working agile with a distributed team.

Why Outsourcing?

Despite the most obvious reason, such as cost-efficiency, others were: fast-growing competition in Western Europe, difficulties in recruiting people there, a lack of time and budget.

So basically, there is 1300 km distance between two companies, different languages and slightly different cultures… Why should this cooperation be successful and why outsource to Ukraine?

There are three simple reasons:

  • Ukraine is close enough – only 1 hour time zone difference and less than 2 hours travelling by plane;
  • Vast pool of highly educated people;
  • People are not that culturally different.

So having worked in agile for three years, both sides outline 5”C” essentials:

1. Culture

Do NOT build culture – grow it step by step! Each company has its own internal culture and management, so it‘s best to find something that works for employees of both companies. One of the key factors to success is bringing all people to equal level by maintaining high “Junior vs Senior” ratio. This tactics also ensures open communication with every team-member, not only with PMs.

2. Communication

Because parts of the team are working in geographically different locations, it’s vital to focus on the importance and engagement in communication.

There are two simple rules.

  • Always use video: in conference calls, during regularly planned meetings, code reviews, pair programming. Always!
  • Remove hierarchy in communication. This one means to include everyone in the important communication. A very common mistake in nearshoring/offshoring is to make decisions locally (“we have enough people and knowledge on this side” attitude) so there is a high chance to disconnect  the remote team. Involve them and listen to their opinion instead.

Probably the most significant thing here is to meet each other face to face! Therefore, twice a year teams from both countries gather to get to know each other better!

3. Commitment

Strive to make nearshore employees a part of the company by involving them in company meetings, social events, internal communication etc.

In other companies only PMs are usually allowed to travel abroad to meet the client. In our case, all the team members had a business trip to the Netherlands for two weeks. The team even assigned a Scrum Master from Ukraine to prove that there’s no special treatment to Dutch members of the team.

4. Connection

Working in nearshoring disables team-members to socialize during lunch or coffee breaks. Thus, it needs to be facilitated: having fun together is as much important as working together. For example, set up a social platform for communication or organize an online FIFA soccer tournament between both sides. In a nutshell, let  people enjoy working together!

5.  Capacity management

Do not treat nearshore team only as a big pool of resources. Get involved in the recruiting process there, let  the team-members related to the project  talk to the candidates before deciding on hiring anybody.

The other important thing is to develop open structure reviews where people from both countries give each other feedbacks openly.

To sum up, distributed agile is not a short term strategy, you should be prepared to invest time, money and effort. Grow your company’s culture, encourage people to work and have fun together, treat all employees equally and be agile.

Always be agile!

If you’re interested in more information, you might find useful a coverage of XP Days session written by Ben Linders.