Abstract
An essential characteristic of large-scale software development is parallel development by teams of developers. How this parallel development is structured and supported has a profound effect on both the quality and timeliness of the product. We conduct an observational case study in which we collect and analyze the change and configuration management history of a legacy system to delineate the boundaries of, and to understand the nature of, the problems encountered in parallel development. The results of our studies are (1) that the degree of parallelism is very highhigher than considered by tool builders; (2) there are multiple levels of parallelism, and the data for some important aspects are uniform and consistent for all levels; (3) the tails of the distributions are long, indicating the tail, rather than the mean, must receive serious attention in providing solutions for these problems; and (4) there is a significant correlation between the degree of parallel work on a given component and the number of quality problems it has. Thus, the results of this study are important both for tool builders and for process and project engineers.
- BOX,G.E.,HUNTER,W.G.,AND HUNTER, J. S. 1978. Statistics for Experimenters. John Wiley and Sons, Inc., New York, NY.Google Scholar
- BROOKS, F. P. 1987. No silver bullet: Essence and accidents of software engineering. IEEE Computer 20, 4 (Apr.), 10-19. Google Scholar
- CHAMBERS,J.M.,CLEVELAND,W.S.,KLEINER, B., AND TUKEY, P. A. 1983. Graphical Methods for Data Analysis. Wadsworth Publ. Co., Belmont, CA.Google Scholar
- CLEMM,G.AND OSTERWEIL, L. 1990. A mechanism for environment integration. ACM Trans. Program. Lang. Syst. 12, 1 (Jan.), 2-25. Google Scholar
- CUSUMANO,M.A.AND SELBY, R. W. 1995. Microsoft Secrets. The Free Press, New York, NY.Google Scholar
- EICK,S.G.,GRAVES,T.L.,KARR,A.F.,MARRON,J.S.,AND MOCKUS, A. 2001. Does code decay? Assessing the evidence from change management data. IEEE Trans. Softw. Eng. 27,1 (Jan.), 1-12. Google Scholar
- ESTUBLIER, J. 1994. The Adele configuration manager. In Configuration Management,W.F. Tichy, Ed. Trends in Software, vol. 2. John Wiley and Sons, Inc., New York, NY, 99-133. Google Scholar
- GLASSER,B.G.AND STRAUSS, A. L. 1967. The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine-Atherton, Chicago, IL.Google Scholar
- GRAVES,T.L.,KARR,A.F.,MARRON,J.S.,AND SIY, H. P. 2000. Predicting fault incidence using software change history. IEEE Trans. Softw. Eng. 26, 7 (July), 653-661. Google Scholar
- GRINTER, R. E. 1997. Doing software development: Occasions for automation and formalisation. In Proceedings of the Fifth European Conference on Computer Supported Cooperative Work (ECSCW'97), J. Hughes, Ed. Kluwer Academic, Dordrecht, Netherlands. Google Scholar
- HORWITZ, S., PRINS, J., AND REPS, T. 1989. Integrating noninterfering versions of programs. ACM Trans. Program. Lang. Syst. 11, 3 (July), 345-387. Google Scholar
- JUDD,C.M.,SMITH,E.R.,AND KIDDER, L. H. 1991. Research Methods in Social Relations. Harcourt Brace Jovanovich College Publishers.Google Scholar
- KAISER,G.E.AND PERRY, D. E. 1987. Workspaces and experimental databases: Automated support for software maintenance and evolution. In Proceedings of the 1987 International Conference on Software Maintenance (Austin, TX, Sept.). 108-114.Google Scholar
- LEBLANG, D. B. 1994. The CM challenge: Configuration management that works. In Configuration Management, W. F. Tichy, Ed. Trends in Software, vol. 2. John Wiley and Sons, Inc., New York, NY, 1-38. Google Scholar
- LEHMAN,M.M.,PERRY,D.E.,AND RAMIL, J. F. 1998. Implications of evolution metrics on software maintenance. In Proceedings of the International Conference on Software Mainte-nance (Nov.). 208-217. Google Scholar
- MAHLER, A. 1994. Variants: keeping things together and telling them apart. In Configuration Management, W. F. Tichy, Ed. Trends in Software, vol. 2. John Wiley and Sons, Inc., New York, NY, 73-97. Google Scholar
- MARTERSTECK,K.AND SPENCER, A. 1985. Introduction to the 5ESS TM switching system. AT&T Tech. J. 64, 6 (July-Aug.), 1305-1314.Google Scholar
- MOCKUS,A.AND VOTTA, L. 2000. Identifying reasons for software changes using historic databases. In Proceedings of the 2000 International Conference on Software Maintenance (San Jose, CA). Google Scholar
- PAULK, M., CURTIS, B., CHRISSIS, M., AND WEBER, C. 1993. Capability maturity model for software: Version 1.1. Tech. Rep. CMU/SEI-93-TR-24. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.Google Scholar
- PERRY, D. E. 1989. The Inscape environment. In Proceedings of the 11th International Conference on Software Engineering (ICSE '89, May). IEEE Press, Piscataway, NJ, 2-12. Google Scholar
- PERRY, D. E. 1996. System compositions and shared dependencies. In Proceedings of the 6th Workshop on Software Configuration Management (Berlin, Germany, Mar.). Google Scholar
- ROCHKIND, M. J. 1975. The source code control system. IEEE Trans. Softw. Eng. SE-1,4 (Dec.), 364-370.Google Scholar
- STAUDENMAYER, N., GRAVES, T., MARRON,J.S.,MOCKUS, A., PERRY, D., SIY, H., AND VOTTA, L. 1998. Adapting to a new environment: How a legacy software organization copes with volatility and change. In Proceedings of the 5th International Product Development Management Conference (Como, Italy, May).Google Scholar
- TICHY, W. 1982. Design, implementation and evaluation of a revision control system. In Proceedings of the 6th International Conference on Software Engineering (ICSE '82, Tokyo, Japan, Sept.). IEEE Computer Society Press, Los Alamitos, CA, 58-67. Google Scholar
- TUSCANY, P. A. 1987. Software development environment for large switching projects. In Proceedings of the Conference on Software Engineering for Telecommunications Switching Systems.Google Scholar
- YIN, R. K. 1994. Case Study Research: Design and Methods. 2nd ed. Sage Publications, Inc., Thousand Oaks, CA.Google Scholar
Index Terms
- Parallel changes in large-scale software development: an observational case study
Recommendations
Research challenges in large-scale agile software development
Agile software development methods are increasingly used in large-scale software development. This article summarizes some of the discussion on research challenges in large-scale agile development at a workshop at the International Conference on Agile ...
Exploring software development at the very large-scale: a revelatory case study and research agenda for agile method adaptation
Agile development methods were believed to best suit small, co-located teams, but the success in small teams has inspired use in large and very large-scale software development. However, fundamental assumptions of agile development are challenged when ...
Large-scale parallel programming: experience with BBN butterfly parallel processor
Proceedings of the ACM/SIGPLAN PPEALS 1988For three years, members of the Computer Science Department at the University of Rochester have used a collection of BBN Butterfly™ Parallel Processors to conduct research in parallel systems and applications. For most of that time, Rochester's 128-node ...
Comments