Sources of Software Requirements Change from the Perspectives of Development and Maintenance

Changes to software requirements occur during initial development and subsequent to delivery, posing a risk to cost and quality while at the same time providing an opportunity to add value. Provision of a generic change source taxonomy will support requirements change risk visibility, and also facilitate richer recording of both pre- and post-delivery change data. In this paper we present a collaborative study to investigate and classify sources of requirements change, drawing comparison between those pertaining to software development and maintenance. We begin by combining evolution, maintenance and software lifecycle research to derive a definition of software maintenance, which provides the foundation for empirical context and comparison. Previously published change 'causes' pertaining to development are elicited from the literature, consolidated using expert knowledge and classified using card sorting. A second study incorporating causes of requirements change during software maintenance results in a taxonomy which accounts for the entire evolutionary progress of applications software. We conclude that the distinction between the terms maintenance and development is imprecise, and that changes to requirements in both scenarios arise due to a combination of factors contributing to requirements uncertainty and events that trigger change. The change trigger taxonomy constructs were initially validated using a small set of requirements change data, and deemed sufficient and practical as a means to collect common requirements change statistics across multiple projects.

[1]  Meir M. Lehman,et al.  A Model of Large Program Development , 1976, IBM Syst. J..

[2]  Standard Glossary of Software Engineering Terminology , 1990 .

[3]  Shari Lawrence Pfleeger,et al.  Software Metrics: Progress after 25 Years? , 2008, IEEE Software.

[4]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[5]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[6]  Susan P. Williams,et al.  Requirements Volatility and Its Impact on Change Effort: Evidence-based Research in Software Development Projects Return to Published Papers , 2006 .

[7]  Suzanne Rivard,et al.  Toward an Assessment of Software Development Risk , 1993, J. Manag. Inf. Syst..

[8]  Qaiser S. Durrani,et al.  A study to investigate the impact of requirements instability on software defects , 2004, SOEN.

[9]  Serge Demeyer,et al.  Software Evolution , 2010 .

[10]  S.D.P. Harker,et al.  The change and evolution of requirements as a challenge to the practice of software engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[11]  Tenth Asia-Pacific Software Engineering Conference , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[12]  Jon Heales,et al.  Factors affecting information system volatility , 2000, ICIS.

[13]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[14]  Ned Chapin,et al.  Productivity in software maintenance , 1981, AFIPS '81.

[15]  Susan P. Williams,et al.  Using card sorting technique to classify requirements change , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[16]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[17]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[18]  Alan M. Davis,et al.  Requirements, Plato's Cave, and Perceptions of Reality , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[19]  Meir M. Lehman,et al.  Towards a theory of software evolution - and its practical impact , 2000, Proceedings International Symposium on Principles of Software Evolution.

[20]  Barry W. Boehm,et al.  Requirements that Handle IKIWISI, COTS, and Rapid Change , 2000, Computer.

[21]  W. Lam,et al.  Requirements change: a dissection of management issues , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[22]  Mark T True,et al.  Software Requirements , 2005 .

[23]  Jeffrey C. Carver,et al.  Change Risk Assessment: Understanding Risks Involved in Changing Software Requirements , 2006, Software Engineering Research and Practice.

[24]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[25]  Meir M. Lehman,et al.  Software's future: managing evolution , 1998, IEEE Software.

[26]  T. Moynihan,et al.  How Experienced Project Managers Assess Risk , 1997, IEEE Softw..

[27]  Evelyn J. Barry Software evolution, volatility and lifecycle maintenance patterns: a longitudinal analysis synopsis , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[28]  Didar Zowghi,et al.  Analysis of requirements volatility during software development life cycle , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[29]  Des Greer,et al.  A Software Requirements Change Source Taxonomy , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[30]  Janice Singer,et al.  Towards an ontology of software maintenance , 1999, J. Softw. Maintenance Res. Pract..

[31]  Celeste Lyn Paul,et al.  A modified Delphi approach to a new card sorting methodology , 2008 .

[32]  M M Lehman,et al.  Software Evolution , 2002 .

[33]  Tuure Tuunanen,et al.  Managing Requirements Engineering Risks: An Analysis and Synthesis of the Literature , 2004 .

[34]  W. Lam,et al.  Managing change in software development using a process improvement approach , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[35]  Christof Ebert,et al.  requirements uncertainty: influencing factors and concrete improvements , 2005, ICSE '05.

[36]  Gordon Rugg,et al.  The sorting techniques: a tutorial paper on card sorts, picture sorts and item sorts , 1997, Expert Syst. J. Knowl. Eng..

[37]  Adam A. Porter,et al.  Empirical studies of software engineering: a roadmap , 2000, ICSE '00.

[38]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[39]  Sally Fincher,et al.  Making sense of card sorting data , 2005, Expert Syst. J. Knowl. Eng..

[40]  Jörg Dörr,et al.  Proactively Managing the Evolution of Embedded System Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[41]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[42]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[43]  Kyo Chul Kang,et al.  Issues in Requirements Elicitation , 1992 .

[44]  Didar Zowghi,et al.  A study of the impact of requirements volatility on software project performance , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[45]  Tony Moynihan 'Requirements-uncertainty': should it be a latent, aggregate or profile construct? , 2000, Proceedings 2000 Australian Software Engineering Conference.

[46]  Dewayne E. Perry,et al.  Dimensions of software evolution , 1994, Proceedings 1994 International Conference on Software Maintenance.

[47]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[48]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[49]  Susan P. Williams,et al.  Requirements volatility & its impact on change effort: Evidence based research n software development projects , 2006 .

[50]  George Stark An Examination of the Effects of Requirements Changes on Software Releases , 1998 .

[51]  Martin Loomes,et al.  Managing requirements change using metrics and action planning , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[52]  Neil A. M. Maiden,et al.  ACRE: selecting methods for requirements acquisition , 1996, Softw. Eng. J..