# Provides comprehensive coverage of flexible techniques in global software development
# Identifies communication patterns and effective strategies to manage communication among globally distributed teams
# Highlights strategies for monitoring the quality of the distributed software development process and of the software product
# Examines strategies and tools for configuration management in a distributed development environment
# Outlines the structure, roles, and responsibilities for geographically distributed global software development teams
# Contains case studies that illustrate how theory is put into practice
# Includes a CD that provides an excellent video overview of the Global Software Development Project
Economics and technology have dramatically re-shaped the landscape of software development. It is no longer uncommon to find a software development team dispersed across countries or continents. Geographically distributed development challenges the ability to clearly communicate, enforce standards, ensure quality levels, and coordinate tasks. Global Software Development Handbook explores techniques that can bridge distances, create cohesion, promote quality, and strengthen lines of communication.
The book introduces techniques proven successful at international electronics and software giant Siemens AG. It shows how this multinational uses a high-level process framework that balances agility and discipline for globally distributed software development. The authors delineate an organizational structure that not only fosters team building, but also achieves effective collaboration among the central and satellite teams. The handbook explores the issues surrounding quality and the processes required to realize quality in a distributed environment. Communication is a tremendous challenge, especially for teams separated by several time zones, and the authors elucidate how to uncover patterns of communication among these teams to determine effective strategies for managing communication.
The authors analyze successful and failed projects and apply this information to how a project can be successful with distributed teams. They also provide lightweight processes that can be dynamically adapted to the demands of any project.