Creating a winning strategy for geographically distributed development
Date: Monday , September 03, 2007
Distributed development teams are becoming the norm of today’s software development strategy. In comparison to close physical interaction, distributed teams are faced with the challenge of keeping software projects on track and keeping remote developers involved. New forms of information exchange provide new ways for distributed developers to collaborate. Internet-enabled, repository-centric development tools give developers real-time access to up-to-date development assets. However, it is also important to recognize the human side of distributed teams, allowing remote developers to feel involved with team activities and to maintain a sense of importance. By utilizing available tools and keeping alive the spirit of teamwork, distributed development teams can be as successful as the centrally located teams of the past. A well crafted and orchestrated offshore solution can give project teams the tools and resources they need to continue to work collaboratively whether they’re in New York, Malmö or Bangalore.
Making remote development a success requires the right kind of strategy to address all possible challenges before they manifest as roadblocks. Here are a few winning strategies that Telelogic focused at on the road to success:
Effective management of integrated development processes
In any project, developers must have a clear understanding of software requirement before they embark on implementation and have all other phases of developments tie back to requirements at all times. Today, with improved band-width it is feasible for all team members to share common repositories that house single source of truth all the time. Shared databases provide developers with up-to-date information, thereby reducing ambiguity. We use our own repository-centric development tools to effectively manage all development processes such as Requirements Management using DOORS (for formal requirement specifications, dependencies, responsibilities, and change history), Configuration and Build Management using SYNERGY CM (for source code control, task management, and release activities), Change Management using SYNERGY CHANGE (for new feature requests, defect tracking, and traceability), and Test Management using integrations with Quality Center products (for test plans and test cases management). All the tools that we use are tightly integrated with each other to provide us with seamless bi-directional flow of data.
Despite their geographic separation, distributed developers need to stay in constant contact. Time zone differences necessitate teams to participate in conference calls during unusual hours. However, there is no substitute for talking to each other. Newer communication aids that we use effectively are 1) Intranet based Instant Messaging tool like Windows messenger that is less intrusive than telephone yet more interactive than email and secure. IM is valuable for asking a quick question or for an informal chat. 2) Web Conferencing. When real-time communication is needed, conference calls can be significantly enhanced with Web conferencing. We have made good use of WebEx/LiveMeeting for group presentations, interactive planning and review, and even unstructured brainstorming sessions. These products provide collaboration features such as white boarding, file sharing, instant messaging, and cooperative editing. 3) Wiki pages have been successfully used by teams to share comments and manage check lists.
Keep remote developers involved and in the loop
It is very likely that you lose focus when you work as a remote worker. Perhaps the best way to keep remote developers focused is to make them involved. Every team member needs periodic reassurance that they are important to the project. The more a remote developer feels in the loop, the more likely he or she will contribute effectively. Some good ways to ensure that distant team members are on track while fostering their sense of involvement are Show-and-Tell sessions, periodic design and code reviews, periodic face-to-face visits from both sides.
Finally, belief in ‘one team – one goal’ plays an important role in success of multi-site development.
He can be reached at firstname.lastname@example.org