In first part of this post, we asked our on-site colleagues about the challenges of distributed development and their general experiences with this setup. We continue today in the same way, with some more interesting questions and answers.
This blog post is divided into Q&A sections which together represent a retrospective of our work in several distributed projects. We have highlighted the roles of the on-site team members to better understand the context of the answers.
What is your advice for somebody who starts with a distributed setup?
The introduction of distributed team members should happen collocated, at least several days in the beginning. The socializing part is important. During the first days I noticed some reluctance about directly asking us, but this disappeared when we got to know each other. Also, in my opinion, feeling sympathy and harmony in the team is a boost for motivation.
Integrate the distributed team as much and as tight as you can also on the client side. Do this from the very beginning of the project. Give the persons behind the distributed team names. And do bring them regularly to the client side if possible, or bring the client to the distributed team members for a change.
Have an open mind, invest some time to evaluate the different tools.
Working in a distributed setup requires adoption to existing processes. One should be open for these changes and leverage the opportunities that arise from them.
Meet regularly in person, talk and sync daily together, invest in good microphones, plan time for informal chats.
Establish a “one-team” spirit without “Location 1” and “Location 2” tasks/responsibilities.
Don’t underestimate the “beer factor” => do social events when you are co-located.
Be agile: don’t try to define everything upfront, but use the retrospectives to also improve the distributed aspects.
Do all scrum events (daily standup, backlog refinement, sprint planning, sprint review, sprint retrospective) together, not only when you are co-located.
Make sure you co-locate every 6 to 8 weeks.
Just do it.
Anything you would like to add?
When more than a year ago a team member told us that we would start working distributed I was first skeptical whether that would work out. I like the way we are doing distributed development. There is no such thing as “us” and “them”, there is just one team.
Virtual communication cannot replace face-to-face meetings. It is important to establish regular visits on both sides for the whole team.
Even though I could not participate in all the social events, I enjoyed the ones I attended very much. The team spirit was remarkable! And every team member tried to keep it up.
Any interesting anecdotes?
Having an extensive stand-up meeting with web conferencing while traveling in a train in Switzerland is very well possible from a technical perspective, but is not well taken by elderly women traveling in the same train with their large Dogs.
Would you do it all over again?
It is noteworthy to mention that everybody who participated in the initial meetings (pre-launch) and was convinced DD would work, had done it already in past. Those guys who didn’t were sceptic. So I will be in the first group in the future.
Yes, definitely! Personally you can only benefit from distributed development. You get the chance to exchange experiences with new people, new cultures and always new ideas which you would never get otherwise.
These answers helped us better understand the on-site perspective on distributed development and we hope that you also got a more complete picture of challenges and benefits of working in this manner. There are certain patterns that can be identified in the answers: existence of communication boundaries, infrastructure issues, importance of face-to-face meetings and social events. Some of these issues will always be present but that doesn’t mean that they can’t be tackled successfully. Using proper tools, planning regular visits and fostering one-team feeling can help these projects work as good as collocated ones. Plus, there is a huge benefit of working in an international environment, getting different perspectives and meeting interesting cultures and people.