Towards an understanding of the causes and effects of software requirements change: two case studies

Changes to software requirements not only pose a risk to the successful delivery of software applications but also provide opportunity for improved usability and value. Increased understanding of the causes and consequences of change can support requirements management and also make progress towards the goal of change anticipation. This paper presents the results of two case studies that address objectives arising from that ultimate goal. The first case study evaluated the potential of a change source taxonomy containing the elements ‘market’, ‘organisation’, ‘vision’, ‘specification’, and ‘solution’ to provide a meaningful basis for change classification and measurement. The second case study investigated whether the requirements attributes of novelty, complexity, and dependency correlated with requirements volatility. While insufficiency of data in the first case study precluded an investigation of changes arising due to the change source of ‘market’, for the remainder of the change sources, results indicate a significant difference in cost, value to the customer and management considerations. Findings show that higher cost and value changes arose more often from ‘organisation’ and ‘vision’ sources; these changes also generally involved the co-operation of more stakeholder groups and were considered to be less controllable than changes arising from the ‘specification’ or ‘solution’ sources. Results from the second case study indicate that only ‘requirements dependency’ is consistently correlated with volatility and that changes coming from each change source affect different groups of requirements. We conclude that the taxonomy can provide a meaningful means of change classification, but that a single requirement attribute is insufficient for change prediction. A theoretical causal account of requirements change is drawn from the implications of the combined results of the two case studies.

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

[2]  Dar-Biau Liu,et al.  Metrics for requirements engineering , 1995, J. Syst. Softw..

[3]  Denis Anthony,et al.  Discovering Statistics Using SPSS , 2010 .

[4]  C. Jones,et al.  Strategies for managing requirements creep , 1996 .

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

[6]  Michio Tsuda,et al.  Towards a Strategic Requirements Elicitation - A Proposal of the PRINCE Model , 2009, ICSOFT.

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

[8]  Chris F. Kemerer,et al.  Environmental Volatility, Development Decisions, and Software Volatility: A Longitudinal Analysis , 2006, Manag. Sci..

[9]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[10]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

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

[12]  Des Greer,et al.  Software requirements change taxonomy: Evaluation by case study , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[13]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[14]  G. P. Kulk,et al.  Quantifying requirements volatility effects , 2008, Sci. Comput. Program..

[15]  J. Whitney Case Study Research , 1999 .

[16]  N. Fenton,et al.  Project Data Incorporating Qualitative Factors for Improved Software Defect Prediction , 2007, Third International Workshop on Predictor Models in Software Engineering (PROMISE'07: ICSE Workshops 2007).

[17]  Des Greer,et al.  Sources of Software Requirements Change from the Perspectives of Development and Maintenance , 2010 .

[18]  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.

[19]  Bente Anda,et al.  Understanding software maintenance and evolution by analyzing individual changes: a literature review , 2009 .

[20]  George E. Stark,et al.  An examination of the effects of requirements changes on software maintenance releases , 1999 .

[21]  Barry W. Boehm,et al.  Balancing agility and discipline: evaluating and integrating agile and plan-driven methods , 2004, Proceedings. 26th International Conference on Software Engineering.

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

[23]  Victor R. Basili,et al.  Quantitative Evaluation of Software Methodology , 1985 .

[24]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

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

[26]  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 .

[27]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[28]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

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

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

[31]  Victor R. Basili,et al.  Evaluating Software Development by Analysis of Changes: Some Data from the Software Engineering Laboratory , 1985, IEEE Transactions on Software Engineering.

[32]  Claes Wohlin,et al.  Empirical Research Methods in Software Engineering , 2003, ESERNET.

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

[34]  Eleni Stroulia,et al.  Understanding class evolution in object-oriented software , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[35]  Walter F. Tichy,et al.  Status of Empirical Research in Software Engineering , 2006, Empirical Software Engineering Issues.

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

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

[38]  Jean Hartley,et al.  Case study research , 2004 .

[39]  David N. Card,et al.  Myths and Strategies of Defect Causal Analysis , 2006 .

[40]  R. Yin Case Study Research: Design and Methods , 1984 .

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

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

[43]  OmanPaul,et al.  An examination of the effects of requirements changes on software maintenance releases , 1999 .

[44]  Jürgen Börstler,et al.  An industrial case study on requirements volatility measures , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[45]  Gerald T. Mackulak,et al.  Reducing the risk of requirements volatility: findings from an empirical survey , 2011, J. Softw. Maintenance Res. Pract..