Repetition between stakeholder (user) and system requirements

Stakeholder requirements (also known as user requirements) are defined at an early stage of a software project to describe the problem(s) to be solved. At a later stage, abstract solutions to those problems are prescribed in system requirements. The quality of these requirements has long been linked to the quality of the software system and its development or procurement process. However, little is known about the quality defect of redundancy between these two sets of requirements. Previous literature is anecdotal rather than exploratory, and so this paper empirically investigates its occurrence and consequences with a case study from a UK defense contractor. We report on a survey of sixteen consultants to understand their perception of the problem, and on an analysis of real-world software requirements documents using natural language processing techniques. We found that three quarters of the consultants had seen repetition in at least half of their projects. Additionally, we found that on average, a third of the requirement pairs’ (comprised of a system and its related stakeholder requirement) description fields were repeated such that one requirement in the pair added only trivial information. That is, solutions were described twice while their respective problems were not described, which ultimately lead to suboptimal decisions later in the development process, as well as reduced motivation to read the requirements set. Furthermore, the requirement fields considered to be secondary to the primary “description” field, such as the “rationale” or “fit criterion” fields, had considerably more repetition within UR–SysR pairs. Finally, given that the UR–SysR repetition phenomena received most of its discussion in the literature over a decade ago, it is interesting that the survey participants did not consider its occurrence to have declined since then. We provide recommendations on preventing the defect, and describe the freely available tool developed to automatically detect its occurrence and alleviate its consequences.

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

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

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

[4]  Thomas Gilb,et al.  Software Inspection , 1994 .

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

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

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

[8]  Jr. Brooks F.P. No Silver Bullet Essence and Accidents of Software Engineering , 1987 .

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

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

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

[12]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

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

[14]  Dennis M. Buede,et al.  The Engineering Design of Systems: Models and Methods , 1999 .

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

[16]  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).

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

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

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

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

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

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

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

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

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

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

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

[28]  Hinrich Schütze,et al.  Book Reviews: Foundations of Statistical Natural Language Processing , 1999, CL.

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

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

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

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

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

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

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

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

[37]  Devanandham Henry,et al.  Experiences From Creating the Guide to the Systems Engineering Body of Knowledge (SEBoK) v. 1.0 , 2013, CSER.

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

[39]  James Robertson,et al.  Mastering the Requirements Process: Getting Requirements Right , 2012 .

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

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

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

[43]  Andreas L. Opdahl,et al.  Proceedings of the 19th international conference on Requirements Engineering: Foundation for Software Quality , 2013 .

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

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

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

[47]  Daniel Amyot,et al.  A Lightweight GRL Profile for i* Modeling , 2009, ER Workshops.

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

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

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

[51]  Natalia Juristo Juzgado,et al.  Reliable Knowledge for Software Development , 2002, IEEE Softw..

[52]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[53]  J. Favare,et al.  Managing requirements for business value , 2002 .

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

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

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

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

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

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

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

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

[62]  RegnellBjörn,et al.  Requirements engineering challenges in market-driven software development - An interview study with practitioners , 2007 .

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

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

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

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

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

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

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

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

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

[72]  吴树峰 从学徒到大师之路--读《 The Pragmatic Programmer, From Journeyman to Master》 , 2007 .

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

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

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

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

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

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

[79]  M. Zimmerman,et al.  Intrinsic vs. Extrinsic Value , 2002 .

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

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

[82]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

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

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

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

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

[87]  Anand Rajaraman,et al.  Mining of Massive Datasets , 2011 .

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

[89]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

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

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

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