Offshore, Nearshore and Onshore- Can they really work in Agile Framework?

931179_10151646226248970_1322164785_n
Spiez Castle, Switzerland.

Short answer – YES.

Long answer  – To understand this, we need to dig a bit deeper into Artificial intelligence, Deep learning, neural networks and some rocket science to understand.  Well……Nah, one just need to keep a couple of things in our mind. And, of course, come back and read this blog again if somehow later the answers turn out to NO. ;)

I got the opportunity to work as an Agile coach for a cross-functional team which was spread across different geographical locations (3 to be precise) and was a mix of people from different cultural backgrounds ( ~ 5). Over the years, since when we started our Agile transformation we have together as a team (onshore + offshore) have done umpteen nos. of process changes for us to be more effective and finally fail fast. I can proudly say that with all the geographic differences, and cultural differences ours is a very efficient and self-sustained team delivering much more than we plan.

In different meetups and open planning sessions,  I get this question quite often, how does it work with your team and being agile? Don’t you face this problem or the other? So, I thought of sharing my experiences on the same. Below are some of the things one need to keep in their mind if we need to succeed with Agile and onshore/Offshore set up:

  • Change the mindset: Just by having daily standups, sprint planning, retrospectives and other scrum/agile rituals don’t mean that you are working on the Agile framework. Although this is easy said than done, there needs to be a drastic change in mindset to fully embrace agile framework or any other for that matter, not only in the team members but higher management as well. Just by sending teams to different external trainings, or once/twice per year session will not change the mindset. It has to be driven top -> down and create a culture that supports difference of opinion and a willingness to try different things. As Carol Dweck said in her book Mindset: ‘With the right mindset and the right teaching, people are a lot more capable than we think.’
  • Teams should be mutually inclusive: Off course geographic and time differences do bring a little number of challenges which can easily be dealt with but they also bring along a plethora of potential advantages which can be tapped. I have seen teams where particular types of requirements, projects are not assigned to offshore teams. Teams should be split and given the mandate to have equality in communication, increased informal communication and encouraging a greater feeling of community and teamwork. Both the onshore and offshore teams should be given an equal opportunity to work on easy and complex requirements. In one of my teams, we starting doing daily deployments to business-critical applications from offshore (although many symptoms were presented before we got approval :)). Time differences helped in this case as deployments could be easily done before business opening hours from offshore and the onshore team didn’t have to come early but on a higher level, it gave a high level of self-esteem an inclusiveness.
  • We are in the 21st-century:): In a recent meetup, I happen to meet an agile coach working in a big online casino company and coaching a team located in Asia and Europe. They have been facing quite many issues with not being co-located and agile and planning to move the whole team to a single location. The only issue I could really understand from the discussion was that they are not able to hear the offshore team clearly, have ad-hoc video meetings with them and was difficult to involve them via calls in the scrum of scrums, planning etc :).All of these issues were actually Symptoms of a common problem and instead of finding the root cause & fix it, the offshore team was being removed. Thanks to so latest technology, we have now umpteen nos. of tools and apps (both freeware and licenced) which can easily fix this root cause and give face 2 face communication options. This was just an example, instead of stating the symptoms and take any abrupt decisions, we need to first retrospect and find the root cause of those symptoms.
  •  Agile principles are not written in stone: ‘The only thing which is constant in this world is change’. We need to understand that all 12 agile principles are NOT meant to be followed and implemented word for word. Off – course, they are guiding principles but since all projects, teams and type of requirements they work on are not the same and so does the Agile implementation has to be customized (not once but every now and then) to meet the best level of efficiency. It’s meant to be changed, morphed, and be re-created by every team at every company that uses it. Creativity, uniqueness, and flexibility make for stronger teams and better quality software applications. That’s why it’s important to create a unique set of customized practices that meet your organization’s needs and actually works for you, rather than sticking to a methodology you got trained in.
    We should always remember that Agile means flexibility and we should not be afraid to change, blend in old-school methodologies if fully scale Scrum, XP, Kanban etc. is not working for you.

Have you worked with Scrum Framework and the onshore/Offshore team set up? What are your thoughts on the same? Let me know in the comments section below.

Love & Peace
C.

 


I would love to hear your thoughts and comments on this post :) //CA