Abstract
This paper discusses the need for systematic and methodical approaches for change analysis and management in software projects. We are not concerned with specific techniques (such as program slicing or dependency graphs), but with the overall project-level process of handling change, which we feel is under-represented in the current literature. The paper describes the efforts being made to manage change at Software Development Services (SDS), a small commercial organisation that specialises in the development of Customer Complaint Systems (CCSs). Because SDS recognises that most change is specific to their domain (CCSs), we are taking a domain-specific approach to change analysis and management. Our main contribution in this paper is a framework for the change process, called the Change Cycle, which is concerned with identifying and formalising reusable change knowledge. The paper reviews current methods and techniques for handling change, and discusses the desirable characteristics of a change process. We then describe the Change Cycle in detail and our experience of using it at SDS. Tool support for change is also outlined, as is our approach to evaluating this work. We conclude that change analysis and management should be treated as an integral part of the software process, not as an adjunct to it.
Chapter PDF
References
Avellis, G. (1992), CASE support for software evolution: A dependency approach to control the change process. In proceedings of 5th International Workshop on Computer-aided software engineering, pp.62–73, Montreal, Canada, July 1992.
Basili, V. and Weiss, D. (1984), A method for collecting valid software engineering data, IEEE Transactions on Software Engineering, November 1984, pp.728–735.
Bennett, K. (1996), Software evolution: past, present and future, Information and software technology, 38:673–680, 1996.
Chung, L., Nixon, B. and Yu, E. (1997), Dealing with change: an approach using non-functional requirements, Journal of Requirements Engineering, 1(4), 1997.
Curtis, B., Kellner, M.I. and Over, J. (1992), Process modelling, Communications of the ACM, 35(9), 1992.
Fickas, S. and Nagarajan, P. (1988), Critiquing software specifications, IEEE Software, November, 1988.
Gilb, T. (1988), Principles of Software Engineering Management, Addison-Wesley, England.
Han, J. (1997), Supporting impact analysis and change propagation in software engineering environments, In Proceedings of the 8th IEEE International Workshop on Software Technology and Engineering Practice, London, UK, 14–18 July, 1997.
Harker, S., Eason, K. and Dobson, J. (1993), The change and evolution of requirements as a challenge to the practice of software engineering, In proceedings of the IEEE international symposium on requirements engineering (RE'93), San Diego, California, 1993.
Jacobson, I., Griss, M. and Jonsson, P. (1997), Software reuse: architecture, process and organisation for business success, ACM Press, New York.
Kaiser, G., Feiler, P. and Popovic, S. (1988), Intelligent assistance for software development and maintenance, IEEE Software, 5(3):40–49, May 1988.
Lam, W. (1997), Achieving Requirements Reuse: a Domain-Specific Approach from Avionics, Journal of Systems and Software. 38(3): 197–209, 1997
Lam, W., McDermid, J.A. and Vickers, A.J. (1997), Ten Steps Towards Systematic Requirements Reuse (expanded version), Journal of Requirements Engineering, 2:102–113, 1997.
Lam (1998a), Managing requirements evolution and change, IFIP WG2.4 Working conference: Systems implementation 2000: languages, methods and tools, Berlin, Germany, February 23–26, 1998.
Lam, W. (1998b), A Case-study of Requirements Reuse through Product Families, Annals of Software Engineering (to appear).
Lehman, M. (1996), Feedback in the software evolution process, Information and Software technology, 38:681–686, 1996.
Madhavji, N. (1991), The Process Cycle, Software Engineering Journal, September, 1991.
Madhavji, N. (1997), Panel session: impact of environmental evolution on requirements changes, In Proceedings of the 3rd IEEE International Conference on Requirements Engineering, 1997.
Podgurski, A. and Clarke, L. (1990), A formal model of program dependencies and its implication for software testing, debugging and maintenance, IEEE Transactions on Software Engineering, SE-10(4):352–357, 1984.
Pohl, K., Domges, R. and Jarke, M. (1997), Towards method-driven trace capture, 9th International Conference, CaiSE'97, Barcelona, Spain, June 1997.
Putman, L. and Myers, W. (1992), Measures for excellence, Reliable software on time, within budget, Yourdon Press, Prentice-Hall, New Jersey, 1992.
Sugden, R. and Strens, M. (1996), Strategies, tactics and methods for handling change, In Proceedings of International IEEE Symposium and Workshop on Engineering of Computer-Based Systems (ECBS '96), Friedrichshafen, Germany, March 11–15.
Yu, E. (1997), Towards modelling and reasoning support for early-phase requirements engineering, In Proceedings of the 3rd IEEE International Conference on Requirements Engineering, 1997.
Weiser, M. (1984), Program slicing, IEEE Transactions on Software Engineering, SE-10(4):352–357, 1984.
Zave, P. (1986), Let's put more emphasis on prescriptive methods, ACM Sigsoft Software Engineering Notes, 11(4):98–100.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lam, W. (1998). Change analysis and management in a reuse-oriented software development setting. In: Pernici, B., Thanos, C. (eds) Advanced Information Systems Engineering. CAiSE 1998. Lecture Notes in Computer Science, vol 1413. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054227
Download citation
DOI: https://doi.org/10.1007/BFb0054227
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64556-6
Online ISBN: 978-3-540-69434-2
eBook Packages: Springer Book Archive