Modelling the instrumental value of software requirements

Numerous studies have concluded that roughly half of all implemented software requirements are never or rarely used in practice, and that failure to realise expected benefits is a major cause of software project failure. This thesis presents an exploration of these concepts, claims, and causes. It evaluates the literature s proposed solutions to them, and then presents a unified framework that covers additional concerns not previously considered. The value of a requirement is assessed often during the requirements engineering (RE) process, e.g., in requirement prioritisation, release planning, and trade-off analysis. In order to support these activities, and hence to support the decisions that lead to the aforementioned waste, this thesis proposes a framework built on the modelling languages of Goal Oriented Requirements Engineering (GORE), and on the principles of Value Based Software Engineering (VBSE). The framework guides the elicitation of a requirement s value using philosophy and business theory, and aims to quantitatively model chains of instrumental value that are expected to be generated for a system s stakeholders by a proposed software capability. The framework enriches the description of the individual links comprising these chains with descriptions of probabilistic degrees of causation, non-linear dose-response and utility functions, and credibility and confidence. A software tool to support the framework s implementation is presented, employing novel features such as automated visualisation, and information retrieval and machine learning (recommendation system) techniques. These software capabilities provide more than just usability improvements to the framework. For example, they enable visual comprehension of the implications of what-if? questions, and enable re-use of previous models in order to suggest modifications to a project s requirements set, and reduce uncertainty in its value propositions. Two case studies in real-world industry contexts are presented, which explore the problem and the viability of the proposed framework for alleviating it. The thesis research questions are answered by various methods, including practitioner surveys, interviews, expert opinion, real-world examples and proofs of concept, as well as less-common methods such as natural language processing analysis of real requirements specifications (e.g., using TF-IDF to measure the proportion of software requirement traceability links that do not describe the requirement s value or problem-to-be-solved). The thesis found that in general, there is a disconnect between the state of best practice as proposed by the literature, and current industry practice in requirements engineering. The surveyed practitioners supported the notion that the aforementioned value realisation problems do exist in current practice, that they would be treatable by better requirements engineering practice, and that this thesis proposed framework would be useful and usable in projects whose complexity warrants the overhead of requirements modelling (e.g., for projects with many stakeholders, competing desires, or having high costs of deploying incorrect increments of software functionality).

[1]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[2]  Tom DeMarco Software Engineering: An Idea Whose Time Has Come and Gone? , 2009, IEEE Software.

[3]  Efstathios Stamatatos,et al.  Words versus Character n-Grams for Anti-Spam Filtering , 2007, Int. J. Artif. Intell. Tools.

[4]  Dekang Lin,et al.  An Information-Theoretic Definition of Similarity , 1998, ICML.

[5]  Stefania Gnesi,et al.  Using Clustering to Improve the Structure of Natural Language Requirements Documents , 2013, REFSQ.

[6]  Paul Davies,et al.  8.1.3 Ten Questions to Ask Before Opening the Requirements Document , 2004 .

[7]  Johann Rost Are "Best Practices" Requirements Documents a Myth? , 2006, IEEE Softw..

[8]  J. Gerring Case Study Research: Principles and Practices , 2006 .

[9]  Daniel Kahneman,et al.  Availability: A heuristic for judging frequency and probability , 1973 .

[10]  Leonard J. Bass,et al.  Using Business Goals to Inform a Software Architecture , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[11]  Elmar Jürgens,et al.  Do code clones matter? , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

[13]  Richard N. Taylor,et al.  An end-to-end industrial software traceability tool , 2007, ESEC-FSE '07.

[14]  Ilka Philippow,et al.  A Survey on Usage Scenarios for Requirements Traceability in Practice , 2013, REFSQ.

[15]  John M. Favaro Managing Requirements for Business Value , 2002, IEEE Softw..

[16]  Barbara Paech,et al.  Understanding the Influence of User Participation and Involvement on System Success – a Systematic Mapping Study , 2015, Empirical Software Engineering.

[17]  Roel Wieringa,et al.  Requirements researchers: are we really doing research? , 2005, Requirements Engineering.

[18]  Emden R. Gansner,et al.  Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools , 2003 .

[19]  Hermann Kaindl,et al.  On confusion between requirements and their representations , 2010, Requirements Engineering.

[20]  Georg Herzwurm,et al.  QFD for customer-focused requirements engineering , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[21]  Björn Regnell,et al.  A linguistic-engineering approach to large-scale requirements management , 2005, IEEE Software.

[22]  Paul D. Umbach Web surveys: Best practices , 2004 .

[23]  John M. Ward,et al.  Managing the Realization of Business Benefits from IT Investments , 2007, MIS Q. Executive.

[24]  Mike Cohn,et al.  Agile Estimating and Planning , 2005 .

[25]  Sooyong Park,et al.  Implementation of an efficient requirements-analysis supporting system using similarity measure techniques , 2000, Inf. Softw. Technol..

[26]  Roel Wieringa,et al.  Design science as nested problem solving , 2009, DESRIST.

[27]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[28]  Kevin Forsberg,et al.  The Relationship of Systems Engineering to the Project Cycle , 1992 .

[29]  Ivan Kurtev,et al.  A Metamodeling Approach for Reasoning about Requirements , 2008, ECMDA-FA.

[30]  Ivy Hooks,et al.  What Is A Requirement , 1993 .

[31]  Natalia Juristo Juzgado,et al.  Is the European Industry Moving toward Solving Requirements Engineering Problems? , 2002, IEEE Softw..

[32]  Jean-Marc Jézéquel,et al.  Automated measurement of models of requirements , 2011, Software Quality Journal.

[33]  Richard H. Thayer,et al.  System and Software Requirements Engineering , 1994 .

[34]  Björn Regnell,et al.  Requirements engineering challenges in market-driven software development - An interview study with practitioners , 2007, Inf. Softw. Technol..

[35]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

[36]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[37]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[38]  Kanad K. Biswas,et al.  Using Grammatical Knowledge Patterns for structuring requirements specifications , 2013, 2013 3rd International Workshop on Requirements Patterns (RePa).

[39]  Joseph F. Hair,et al.  Essentials of Business Research Methods , 2003 .

[40]  Neil A. M. Maiden,et al.  Automatically Generating Requirements from i* Models: Experiences with a Complex Airport Operations System , 2007, REFSQ.

[41]  John Mylopoulos,et al.  Goal-Oriented Requirements Engineering, Part II , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[42]  Giuseppe Lami QuARS: A Tool for Analyzing Requirements , 2005 .

[43]  Benjamin L. Kovitz,et al.  Practical Software Requirements: A Manual of Content and Style , 1998 .

[44]  Richard Turner Toward Agile Systems Engineering Processes Validation Reporting User Acceptance T Esting System Testing Installation Qualification Unit and Integration Testing System Configuration and Development Validation Planning User Requirements System Requirements Technical Architecture Detailed Design Verifi , .

[45]  Tuure Tuunanen,et al.  Is Extreme Programming Just Old Wine in New Bottles: A Comparison of Two Cases , 2005, J. Database Manag..

[46]  Alistair Mavin,et al.  Easy Approach to Requirements Syntax (EARS) , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[47]  François Terrier,et al.  Requirements Exchange: From Specification Documents to Models , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[48]  Andrew P. Sage,et al.  Handbook of Systems Engineering and Management , 2011 .

[49]  David Thomas,et al.  The Pragmatic Programmer: From Journeyman to Master , 1999 .

[50]  Joel Spolsky Painless Functional Specifications Part 4: Tips , 2004 .

[51]  Evangelia Kavakli,et al.  Goal-Oriented Requirements Engineering: A Unifying Framework , 2002, Requirements Engineering.

[52]  Daniel M. Berry “ What , Not How ? ” : The Case of Specifications of the New York Bagel , 2008 .

[53]  Per Runeson,et al.  Detection of Duplicate Defect Reports Using Natural Language Processing , 2007, 29th International Conference on Software Engineering (ICSE'07).

[54]  Richard Stevens,et al.  Systems engineering : coping with complexity , 1998 .

[55]  Richard Ellis-Braithwaite,et al.  Analysing the Assumed Benefits of Software Requirements , 2013, ArXiv.

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

[57]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[58]  Matthew T. Atkinson,et al.  Opening up access to online documents using essentiality tracks , 2006, W4A '06.

[59]  Richard A. Berk,et al.  Statistical Assumptions as Empirical Commitments , 2001 .

[60]  Gerardo Canfora,et al.  Empirical Principles and an Industrial Case Study in Retrieving Equivalent Requirements via Natural Language Processing Techniques , 2013, IEEE Transactions on Software Engineering.

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

[62]  Lawrence D. Pohlmann,et al.  The Engineering Design of Systems – Models and Methods , 2000 .

[63]  Bernhard Schätz,et al.  Can clone detection support quality assessments of requirements specifications? , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[64]  Daniela E. Damian,et al.  To do or not to do: If the requirements engineering payoff is so good, why aren’t more companies doing it? , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[65]  Ian F. Alexander Is There Such a Thing as a User Requirement? , 1999, Requirements Engineering.

[66]  Karl Cox,et al.  Requirements Engineering and Software Project Success: an industrial survey in Australia and the U.S , 2005, Australas. J. Inf. Syst..

[67]  R. Lyman Ott.,et al.  An introduction to statistical methods and data analysis , 1977 .

[68]  Barry W. Boehm,et al.  Value-Based Software Engineering: Overview and Agenda , 2006, Value-Based Software Engineering.

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

[70]  Claes Wohlin,et al.  A Value-Based Approach in Requirements Engineering: Explaining Some of the Fundamental Concepts , 2007, REFSQ.

[71]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[72]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[73]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[74]  Daniela E. Damian,et al.  An Empirical Study of the Complex Relationships between Requirements Engineering Processes and Other Processes that Lead to Payoffs in Productivity, Quality, and Risk Management , 2006, IEEE Transactions on Software Engineering.

[75]  B. Flyvbjerg Five Misunderstandings About Case-Study Research , 2006, 1304.1186.