An interesting problem was highlighted the other day in conversation with colleagues in the IT industry. How do you take on a graduate or junior developer within a highly distributed development team, and how do you make Agile work well in a distributed team.
Often the argument is that distribution doesn’t matter, we have lots of technologies to overcome that. But, when we deal with new people, particularly those who haven’t had much or any experience there is a lot of contact needed – communicating large amounts of detail – not the clearly expressible things that we can read in a document, but all the nuances, the policy compared to the actual practices; seeing and feeling the tensions and people politics within a team and how they should be negotiated. It is this very reason that video conference is better than a phone call, and traveling to meet someone is better than a video conference.
With my new roll which involves running a team of individuals, it is easier for them and me that we now located in the office as group. I obviously will get to feel how they interact with external demands, and what the demands are – which in our case are many. But the team have a better sense that they can call on me to help easily. This cant translate to a distributed team.
This is not to say that there a good things for distributed teams. The staff will be content as they located in situations they should be happy with. The disruptions of a large office dont exist, so the chances of longer periods for clear thinking are there – which are important to developers.
Neil Canham said:
You ask two very different questions here. How do you take on a new junior member of a team (distributed or otherwise) and how do you run a distributed agile team? Both very good questions 🙂 For the first, for me, a combination of team work and best practices is essential, using a combination of mentoring and pair programming (and some induction of course). For the latter, I have a tape measure for that piece of string… I’m actively working in several distributed teams, some paid and some not. The key is to ensure that people still feel like they are a team, and have opportunities to feel ‘together’ even when apart. Technology really can help, and I’m working on tools and environments for exactly these scenarios.