Abstract
Distributed software development has become pervasive in modern enterprise environments. To support collaboration, a software configuration management (SCM) system should feature a common, consistent repository, be tolerant to network outages, and support heterogeneous environments with minimal administrative overhead. Traditional client/server architectures can be prohibitive in terms of network and server requirements. Replication solutions have been developed to address these issues, but only at significant costs in administrative overhead. A centralized repository with remote caching supports distributed development more reliably and with more scalability than either traditional client/server or replication-based solutions.
Introduction
As distributed environments have become the norm for software development, coordinating the efforts of development teams has become one of the biggest challenges faced by the enterprise today. It is hard to imagine any sizable development project managed without an underlying software configuration management (SCM) tool. This paper outlines the operational
requirements that an SCM tool must meet to support distributed software development, the common approaches adopted by tool vendors over the years, and contrasts these approaches with the architecture implemented by Perforce Software.
Early models of software development were centralized; every developer working on a project worked in the same building, often with offices located along the same hall. Managers were of the belief that “communication breaks down at a hundred feet”. Today, this kind of centralized development is rare. The pervasiveness and increased reliability of broadband internet access enables developers to work in small offices and even at home. Global teams of thousands of users, combined with newer methodologies such as agile development, result in processes that are both geographically dispersed and highly interactive, requiring real-time exchange of source code, documents, and images between team members.
Read more here.