SOFTWARE CONFIGURATION MANAGEMENT FOR MULTIPLE RELEASES: INFLUENCE ON DEVELOPMENT EFFORT
DOI:
https://doi.org/10.7494/csci.2007.8.3.109Keywords:
software configuration management, scm, multisite, software engineeringAbstract
Software Configuration Management (SCM) evolves together with the discipline of softwareengineering. Teams working on software products become larger and are geographically distributedat multiple sites. Collaboration between such groups requires well evaluated SCMplans and strategies to easy cooperation and decrease software development cost by reducingtime spent on SCM activities – branching and merging, that is effort utilized on creation ofrevisions (’serial’ versions) and variants (’parallel’ versions). This paper suggests that SCMpractices should be combined with modular design and code refactoring to reduce cost relatedto maintenance of the same code line. Teams which produce several variants of thesame code line at the same time should use approaches like components, modularization, orplug-ins over code alternations maintained on version branches. Findings described in thispaper were taken by teams in charge of development of radio communication systems inMotorola GEMS divisions. Each team collaborating on similar projects used different SCMstrategies to develop parts of this system.Downloads
References
Walrad C., Strom D.: The Importance of Branching Models in SCM, IEEE Computer, 35(9), 2002, p. 31–38
Sommerville I.: Software Engineering, AddisonWesley, Reading, MA, 6th Edition, 2001
Fowler M.: Refactoring: Improving the Design of Existing Programs, Addison-Wesley, 1999
Conradi R., Westfechtel B.: Version Models for Software Configuration Management, ACM Computing Surveys, 30(2), June 1998, p. 232–282
Allen L., Fernandez G., Kane K., Leblang D., Minard D., Posner J.: ClearCase MultiSite: Supporting geographically-distributed software development. In Jacky Estublier, editor, Software Configuration Management: Selected Papers of the ICSE
SCM-4 and SCM-5 Workshops, number 1005 in Lecture Notes in Computer Science, Springer Verlag, October 1995, p. 194–214