Like most development shops, we operate a mixed team of onshore and offshore members. I’m fortunate to have a very skilled offshore team and excellent working relations with their management and engineers. Like most agile teams, we’ve struggled with how to maximize our agility and interactions when dealing with an 11 – 12 hour time delay. For now, I’ve opted to have one team that combines both onshore and offshore. Long-term, I may separate the teams to maximize efficiency, but for now, I’m finding that I really like the mixed team.
The most important thing that we’ve done is create open and honest communications. When we selected our offshore partner, our #1 priority was for them was to hire outspoken individuals, which is counter-cultural to many people in India. We treat their opinion with the same respect that we treat the onshore teams’ opinion. Trust, trust, trust is the key for building the strong team relationship.
For each story or bug being worked offshore, we have a buddy system, where there’s an onshore analyst and engineer that are paired/buddied up with the offshore engineer. The offshore person knows who to contact for any questions. This has created an environment where onshore and offshore people work directly with each other. I wanted to avoid the man-in-the-middle syndrome that’s prevalent in most offshore engagements. My experience is that offshore teams that want to hide their teams have something to hide.
It has taken time for both teams to get comfortable with each other. Yup, we went through the forming, storming and norming stages. Early on, we had a Skype session so both teams could see each other and just get to know one another. This was a huge hit and was a major catalyst in building trust.
Our SCRUM/Agile process is simple; we follow scrum.
For the daily stand-ups, the offshore team has one delegate per week that attends the call on behalf of the entire team. This allows them to be part of the scrum and if they have questions that need immediate attention, the onshore team immediately calls or Skypes them after stand-up.
Sprint Planning has been tougher. We’ve taken a slightly different approach. The onshore team participates in the meetings and our offshore liaison from Chicago attends either in person or via Skype. Given the duration of sprint planning, it just isn’t practical to to engage the offshore team. We’ve found this to be a workable solution.
For retrospectives, we have the offshore team send us their lists of what’s good, what’ can be improved, what they like and what they don’t like. We have them do this anonymously so they don’t feel like they are being targeted. I think we’ve got a lot to improve here and I don’t feel like we’ve got this optimized. Our Chicago liaison attends via Skype or phone and acts as the voice of offshore. We forget that he’s not an employee and we “abuse” him the same as the rest of the team!
For Demos, we don’t have them participate right now. Not because we haven’t figured out a good way, but we’re just not good at this yet. I’m just now getting my team to understand the value of the demo and getting the business to understand it as well.
For tools, we’ve kept it simple:
- Conference calls
- Skype, and starting to investigate Google Hangouts
- On-line work board; we’re using JIRA
We’re looking at various video conferencing tools, but for now, we’re sticking with simple solutions.
What works for you?