Parallel Changes in LargeScale Software Development An Observational
Parallel Changes in Large-Scale Software Development: An Observational Case Study DEWAYNE E. PERRY University of Texas at Austin HARVEY P. SIY Lucent Technologies and LAWRENCE G. VOTTA Motorola, Inc. Greg Holifield
Four Essential Problems in Software Development: • Evolution [Brooks 1987] – not only have parallel development within each release, – Among releases as well. • Scale • Multiple dimensions of system organization 1[Perry 1996] • Distribution of knowledge
Authors’ Three Goals • provide a basic understanding of the parallel-change phenomena • begin an investigation of a subproblem: interfering changes • explore the relationship between parallel changes and the related quality data
Methods Toward Each Goal • basic observational data on the nature of parallel changes • Examine prima facie cases – changes to changes – changes within the same day • summarize available tools that support parallel development
Classical Tools • Library-type Systems (check in/out) – SCCS [Rochkind 1975] – RCS [Tichy 1982], • Newer Systems – Rational’s Clear. Case(R) [Leblang 1994] – Adele Configuration Manager [Estublier and Casallas 1994]
Classical Tools • Integration of Parallel Changes – permanent versions – temporary versions • Semantic Conflicts • Logical Completeness
Conclusion • —There are multiple levels of parallel development. • —The activities within each of these levels cut across common files. • —Over the interval of a particular release (I 6), the number of files changed by multiple MRs is 60% • —though we would expect the degree of awareness of the implications of these changes to be higher than those made within one day of each other • —There is a significant correlation between files with a high degree of parallel development and the number of defects
- Slides: 16