Question

my team is about to change into a distributed Agile team and I am concerned of how we are going to protect our code base and processes. Currently we are an extremely Agile team dedicated to code quality and we would like to continue along this path. However, none of us has ever worked on an Agile distributed team.

Does any of you guys have some suggestions or experiences to share to help us protect Agile processes and code quality in a distributed environment? Do you know any books I could read about it?

Thanks.

Was it helpful?

Solution

First of all, I think your text sounds a bit defensive/pessimistic ("protect the process"). Of course I understand your concerns, but be open and try to embrace the change :)

Currently I am part of a project including 23 developers from 4 different countries (but just one hour time difference). The company hired external developers as we needed more man power; We have 4 teams and additional 3 dedicated testers; the 'main' developers (who are part of the company) and Product Owners are all at one location.

We have all the standard Agile Processes/ Techniques, but of course it was challenging and we needed quite a while to figure everything out. So, I can share our experiences and tell you what worked for our environment and situation.

As the timezone was not that different we created mixed teams; 2 'main' developers and (at least) 2 from another location. This was quite important for several reasons:

  • Knowledge is shared much faster and helps the remote guys to understand the domain
  • The Scrum Master can support the remote developers if they need specific information from another person (e.g. PO)... emails are easily overlooked.
  • You have a better control of the source code; the main developers can organize code reviews, do pair programming sessions and/or create guidelines.
  • Communication is the most important thing; always include everyone for important decissions

Agile is of course about people, but when dealing with remote teams, you need tools. What worked for us:

  • Skype for daily standups
  • join.me or Teamviewer whenever you need to share your screen. It also works for remote pair programming
  • corkboard.me for retrospective or whenever you need a virtual corkboard
  • Google Docs or Google + can also be used for sprint plannings etc.

Get the people together from time to time, especially at the beginning. It helps if you saw your colleagues at least once and helps even more if you drank a beer together :) Try to create an atmosphere where each developer is treated equally, to get a real productive environment.

Unfortunately, I do not have the resources I read about that topic. But there are plenty of blog entries etc. around for distributed agile teams.

Hope it helps a little bit for your situation. If you have any other/more specific question, do not hesitate to ask :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top