Organizing and building software: patterns for effective management of large and complex code bases
Ralph Thiim, Lise B. Hvatum · 2012
Organizations which feature a distributed workforce developing software products with large and complex code bases require efficient management of the software artifacts and the developer environments to ensure the quality of the software products over time. The authors present three patterns that are part of a software management pattern language and which have proven successful for over 25 years within a large multi-national technology organization. First, a rule-based environment provides consistency to all developer environments, ensuring code compatibility as developers work locally, integrating and building their code against a shared baseline. Second, component baselines provide a structure to the shared software resembling a software development kit, delivering a full-product baseline that is only built when there are changes, isolating and reducing risk between full-product builds. Third, sparse workareas provide developers access to the local code being modified, while the remainder of the project code is secure in the shared baseline on the file system. These three patterns are offered as time-tested models for use by the creators of development tools suites.