I have been working with offshore development teams since 2004. During last five years, I experienced sweet successes and also drastic disasters. I wish I practiced Scrum back then to avoid common pitfalls a development team falls into.
Currently I’m practicing Scrum with my teams who are working as offshore development facility for our US counterpart. One of my team is on its’ 10th sprint, and I am listing some of the practices in my team which made our journey successful so far:
- We follow Scrum, not ‘Scrum BUT’: On some of my previous companies I worked with teams where I found them not using proper Scrum – what they ended up using is ‘Scrum BUT’. Though they were trying to follow Scrum, but they weren’t doing strict time boxed sprints with sprint review meetings, retrospective meetings, or even proper sprint planning meetings. With my current teams, I follow Scrum, and don’t allow any ‘Scrum BUT’ scenarios.
- We have our product owner constantly communicating with stakeholders and users: Even though our Scrum team is offshore, we have our product owner(s) working in US close to the stake holders and users. Thus we are getting the proper prioritized backlog for feeding our sprints and creating useful software for the stakeholders after each sprint. Our teams talk with their product owners on a daily basis even if it is just to say hello.
- A team with diverge expertise: When we created our initial Scrum team, we believed that if you put few good motivated developers together, they will self organize within the umbrella of Scrum and be productive spontaneously. So we gathered a team consisting diverge expertise which really helped the team to grow and produce successful sprint coping up with the diverge needs of the product.
- All our team members went through Scrum training: Before a team starts sprinting for the first time, if the team is new to Scrum, we have all the members go through the Scrum Master Training session for two days. I believe this helps the team to get familiarize with Scrum’s practices and also helps them to break the ice so that they get ‘in gel’ quickly.
- Uninterrupted high bandwidth net connection: For an offshore team to succeed, this one may be one of the most important point that needs to be taken care of. We made sure that our teams here enjoy enough bandwidth that they need for their daily development, screen casts, meetings with the product owner, etc.
- A place where geeks can just be geeks and enjoy their craftsmanship: We ensure a happy, productive office space for our employees so that they look forward to coming to office every day and enjoy their stay here. We believe that if you are a true ‘geek’, you don’t need to be told to work, you enjoy working spontaneously for the betterment of the product you are involved with. Our office on the other hand makes sure that you are well fed, you can take rest and play a game of Table Tennis or something else you enjoy doing when your brain wants to take a break.
These are some of the practices I though worth mentioning for any other offshore team out there who find themself struggling with their projects.