When I look at the prospect of a distributed development effort, it scares me. So much depends on having the right people and good communicators, all in the right places. It also depends on the successful merging of cultures, but more and more distributed development is taking place.
So how do you increase your chances for success? I'd like to focus on four key areas:
- Process and management
- Communication and meetings
- Reviews and approvals
- Tools and data repository
Why only these areas? Because I feel the rest of it is not a whole lot different than for a single site. Ideally, the goal should be to make these four areas behave as if the distributed development were being done in a single site.
Process and Management
Management deals with process and having managers that are not territorial and can communicate easily is a key. Having effective, well-defined processes is even more effective. Good management happens when good processes are defined and followed. The difference between a poor and a great manager is far less when there are good processes and good tools to support them.
Processes may be tailored to time zone differences, but they should generally be universal. They should apply across all sites involved in the development. Universal processes make management easier.
Ideally, your process will work equally well for a single site as for distributed development. A good tool will help you to support and enforce your process. If your process is defined by repository data, you should be able to update your process at all sites at the same time through a normal data update transaction, depending on the type of repository solution you have in mind.
Communication and Meetings
Communication across distance is essential, even if it’s just to put a voice to a name. If you're doing distributed development these days, for sure you will want some video-conferencing capability, even if it's just from your desktop. Putting a face to a name is better than just a voice. It's important to hear someone's tone. But watching someone's reaction is also a huge part of communication. If you don't believe me, ask your spouse. For this reason, I'm really surprised video phones never caught on - maybe after the VOIP revolution.