At Agile2008 in Toronto Jeff Sutherland and myself presented our article outlining how to achieve hyperproductivity in distributed Scrum when working in an offshore situation. InfoQ recorded our presentation and will publish it online in November as the end of a series of Agile2008 talks.
Also see this InfoQ article
Agile and Offshoring, oil and water?
If you are reading the Xebia blog chances are that you are already familiar with the benefits of Agile development. Practicing Agile (in our case Scrum combined with XP) delivers hyperproductivity combined with very high quality. The promise of offshoring in the modern IT industry is also clear: more available talent, scaling up and down without local layoffs or knowledge drain, and of course cost reduction. Together they make a killer combo!
However, Agile and offshoring seem like oil and water, they don't seem to mix. How to get a focus on individuals and interactions when your people are distributed across the globe? What is the secret sauce to use to get it running smoothly?
Distributed Outsourcing Styles
There are different models that you can consider when distributing Scrum. The most primitive model that is often applied is to create fully separate Scrum teams that work on unrelated work. Slightly more advanced is the usage of isolated Scrum teams that connect regularly via a distributed Scrum of Scrums. This is the model that the Scrum Alliance currently advocates.
Much more effective is a Fully Distributed Scrum model where each team consists of members on both locations. In this model there is no division of teams based on geography, teams span the globe! At Xebia we came to this model simply by reasoning from the Agile manifesto. The main issue in offshoring is communication. When creating a geographical division between teams you create another communication barrier that you need to take. People tend to take the road of the least resistance and end up with all sorts of processes and tools.
When creating a distributed team, with members on both locations, the team members have no choice but to resolve their communication problems.
Once these are resolved you can operate on a basis of equality, providing your offshore team members with responsible intelligent work, thus giving them the job that they deserve as 21st century knowledge workers.
Setting the team up for success has a lot of it has to do with getting into a shared mindspace across locations. This means developing a shared ownership of the code and architecture, a shared domain context and a shared value system and culture. In order to set this up you need to think carefully about traveling, about building personal relationships, about finding the commonalities that Agile developers the world over share. Setting this up and cherishing it is vital to a smooth operation
Presenting these concepts that I am so passionate about at a conference like Agile2008 is a fantastic experience. Distributed Agile is a topic that is obviously very much in the spotlight. The audience had a lot of questions and it was great to share ideas after the presentation.
When talking to the people that attended our presentation I noticed that a lot of people are in the process of training their offshore partner to become more Agile. Usually first through a Scrum of Scrums model and eventually aiming for a Fully Distributed Scrum. Setting it up in this way, by changing your suppliers habits, is a very slow and costly process.
Inspired by the success of projects like this one we are building distributed teams now for partners, with a match on Agile and quality. If you have an Agile business where you are looking to include the benefits of offshoring then we can help by hooking you up to Xebia India. Have a look at Xebia Global Services for more information.
Next step is JAOO in Aarhus, Denmark where Jeff and I will present about this topic.
Guido Schoonheim, CTO