Supporting Scope Tracking and Visualization for Very Large-Scale Requirements Engineering-Utilizing FSC+, Decision Patterns, and Atomic Decision Visualizations

Deciding the optimal project scope that fulfills the needs of the most important stakeholders is challenging due to a plethora of aspects that may impact decisions. Large companies that operate in rapidly changing environments experience frequently changing customer needs which force decision makers to continuously adjust the scope of their projects. Change intensity is further fueled by fierce market competition and hard time-to-market deadlines. Staying in control of the changes in thousands of features becomes a major issue as information overload hinders decision makers from rapidly extracting relevant information. This paper presents a visual technique, called Feature Survival Charts+ (FSC+), designed to give a quick and effective overview of the requirements scoping process for Very Large-Scale Requirements Engineering (VLSRE). FSC+ were applied at a large company with thousands of features in the database and supported the transition from plan-driven to a more dynamic and change-tolerant release scope management process. FSC+ provides multiple views, filtering, zooming, state-change intensity views, and support for variable time spans. Moreover, this paper introduces five decision archetypes deduced from the dataset and subsequently analyzed and the atomic decision visualization that shows the frequency of various decisions in the process. The capabilities and usefulness of FSC+, decision patterns (state changes that features undergo) and atomic decision visualizations are evaluated through interviews with practitioners who found utility in all techniques and indicated that their inherent flexibility was necessary to meet the varying needs of the stakeholders.

[1]  Björn Regnell,et al.  Controlling Lost Opportunity Costs in Agile Development - The Basic Lost Opportunity Estimation Model for Requirements Scoping , 2012, ICSOB.

[2]  Andriy V. Miranskyy,et al.  Request-implementation ratio as an indicator for requirements prioritisation imbalance , 2011, 2011 Fifth International Workshop on Software Product Management (IWSPM).

[3]  Slinger Jansen,et al.  A Revelatory Case Study on Scaling Agile Release Planning , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[4]  Claes Wohlin,et al.  Software process improvement through the Lean Measurement (SPI-LEAM) method , 2010, J. Syst. Softw..

[5]  Dietmar Pfahl,et al.  Decision Support for Product Release Planning Based on Robustness Analysis , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[6]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[7]  Goetz Botterweck,et al.  Visual Tool Support for Configuring and Understanding Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

[8]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[9]  Björn Regnell,et al.  Market-Driven Requirements Engineering for Software Products , 2005 .

[10]  Sjaak Brinkkemper,et al.  Determination of the Next Release of a Software Product: an Approach using Integer Linear Programming , 2005, CAiSE Short Paper Proceedings.

[11]  Moshood Omolade Saliu,et al.  Fuzzy Structural Dependency Constraints in Software Release Planning , 2005, The 14th IEEE International Conference on Fuzzy Systems, 2005. FUZZ '05..

[12]  K. Wnuk,et al.  Visualization of Feature Survival in Platform-Based Embedded Systems Development for Improved Understanding of Scope Dynamics , 2008, 2008 Requirements Engineering Visualization.

[13]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

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

[15]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[16]  R. Feldt,et al.  A systematic review on strategic release planning models , 2010, Inf. Softw. Technol..

[17]  Lorenzo Strigini Limiting the Dangers of Intuitive Decision Making , 1996, IEEE Softw..

[18]  Martin Höst,et al.  An analytical model for requirements selection quality evaluation in product software development , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[19]  Edward R. Tufte,et al.  Envisioning Information , 1990 .

[20]  James Withey Investment Analysis of Software Assets for Product Lines. , 1996 .

[21]  Asadullah Khan,et al.  Project scope management , 2006 .

[22]  Mark Austin,et al.  PaladinRM: Graph-based visualization of requirements organized for team-based design , 2006, Syst. Eng..

[23]  A. Karr,et al.  Visual Scalability , 2002 .

[24]  Noriko Hanakawa Visualization for Software Evolution Based on Logical Coupling and Module Coupling , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[25]  Moshood Omolade Saliu,et al.  Measuring dependency constraint satisfaction in software release planning using dissimilarity of fuzzy graphs , 2005, Fourth IEEE Conference on Cognitive Informatics, 2005. (ICCI 2005)..

[26]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[27]  Sven Apel,et al.  Measuring and modeling programming experience , 2013, Empirical Software Engineering.

[28]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[29]  Roel Wieringa,et al.  The Journal of Systems and Software , 2013 .

[30]  Robert G. Cooper,et al.  Winning at new products : creating value through innovation , 2011 .

[31]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[32]  Alan M. Davis,et al.  The Art of Requirements Triage , 2003, Computer.

[33]  Richard S. Hall,et al.  Software release management , 1997, ESEC '97/FSE-5.

[34]  Klaus Schmid A comprehensive product line scoping approach and its validation , 2002, ICSE '02.

[35]  Dietmar Pfahl,et al.  A System Dynamics Simulation Model for Analyzing the Stability of Software Release Plans: Research Sections , 2007 .

[36]  Chang-Yang Lee,et al.  A simple theory and evidence on the determinants of firm R&D , 2003 .

[37]  Tony Gorschek,et al.  Requirements Abstraction Model , 2005, Requirements Engineering.

[38]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[39]  S.J. Morris,et al.  On Requirements Visualization , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[40]  Murali Ramakrishnan Software release management , 2004, Bell Labs Technical Journal.

[41]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[42]  Björn Regnell,et al.  Introducing Tool Support for Retrospective Analysis of Release Planning Decisions , 2006, PROFES.

[43]  Barry W. Boehm,et al.  Some future trends and implications for systems and software engineering processes , 2006, Syst. Eng..

[44]  Daniela E. Damian,et al.  Selecting Empirical Methods for Software Engineering Research , 2008, Guide to Advanced Empirical Software Engineering.

[45]  Ilaria Canova Calori,et al.  An Experiment with a Release Planning Method for Web Application Development , 2007, EuroSPI.

[46]  C. Freeman Economics of Industrial Innovation , 1975 .

[47]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[48]  Akos Szoke,et al.  A Feature Partitioning Method for Distributed Agile Release Planning , 2011, XP.

[49]  Günther Ruhe,et al.  12 Decision Support for Value-Based Software Release Planning , 2022 .

[50]  P. K. Garg On supporting large-scale decentralized software engineering processes , 1989, Proceedings of the 28th IEEE Conference on Decision and Control,.

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

[52]  Günther Ruhe,et al.  Decision Support in Requirements Engineering , 2005 .

[53]  Tony Gorschek,et al.  Evaluation and Measurement of Software Process Improvement—A Systematic Literature Review , 2012, IEEE Transactions on Software Engineering.

[54]  Marjo Kauppinen,et al.  Suitability of requirements prioritization methods for market-driven software product development , 2006, Softw. Process. Improv. Pract..

[55]  Roel Wieringa,et al.  Technical Action Research as a Validation Method in Information Systems Design Science , 2012, DESRIST.

[56]  Claes Wohlin,et al.  Measuring the flow in lean software development , 2011, Softw. Pract. Exp..

[57]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[58]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[59]  Robin M. Hogarth,et al.  Decision Time as a Function of Task Complexity , 1975 .

[60]  Juan Li,et al.  A risk-driven method for eXtreme programming release planning , 2006, ICSE.

[61]  R. Wieringa,et al.  Designing Requirements Engineering Research , 2007, 2007 Fifth International Workshop on Comparative Evaluation in Requirements Engineering.

[62]  Charalambos L. Iacovou,et al.  Turning around Runaway Information Technology Projects , 2004, IEEE Engineering Management Review.

[63]  Austen Rainer,et al.  Requirements problems in twelve software companies: an empirical analysis , 2002, IEE Proc. Softw..

[64]  Björn Regnell,et al.  What Decision Characteristics Influence Decision Making in Market-Driven Large-Scale Software Product Line Development? , 2010 .

[65]  Günther Ruhe,et al.  Product Release Planning - Methods, Tools and Applications , 2010 .

[66]  M. Patton Qualitative research & evaluation methods , 2002 .

[67]  Mauri Laitinen,et al.  Thinking Objectively: The problem with scalability , 2000, CACM.

[68]  Björn Regnell,et al.  Supporting Roadmapping of Quality Requirements , 2008, IEEE Software.

[69]  Parmeet Kaur Reinforcement Learning Based Approach for Adaptive Release Planning in an Agile Environment , 2010, 2010 International Conference on Computational Intelligence and Software Engineering.

[70]  Günther Ruhe,et al.  Intelligent Support for Software Release Planning , 2004, PROFES.

[71]  Tony Gorschek,et al.  Obsolete software requirements , 2013, Inf. Softw. Technol..

[72]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[73]  H. Zur,et al.  The effect of time pressure on risky choice behavior , 1981 .

[74]  Tony Gorschek,et al.  The software value map — an exhaustive collection of value aspects for the development of software intensive products , 2013, J. Softw. Evol. Process..

[75]  Günther Ruhe,et al.  Bi-objective release planning for evolving software systems , 2007, ESEC-FSE '07.

[76]  Tony Gorschek,et al.  Handshaking with Implementation Proposals: Negotiating Requirements Understanding , 2010, IEEE Software.

[77]  Martin Höst,et al.  Exploring bottlenecks in market-driven requirements management processes with discrete event simulation , 2001, J. Syst. Softw..

[78]  Björn Regnell,et al.  Can We Beat the Complexity of Very Large-Scale Requirements Engineering? , 2008, REFSQ.

[79]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[80]  Dietmar Pfahl,et al.  A System Dynamics Simulation Model for Analyzing the Stability of Software Release Plans , 2007, Softw. Process. Improv. Pract..

[81]  Christof Ebert,et al.  Dealing with nonfunctional requirements in large software systems , 1997, Ann. Softw. Eng..

[82]  Nan Niu,et al.  Visual requirements analytics: a framework and case study , 2013, Requirements Engineering.

[83]  Günther Ruhe,et al.  Hybrid Intelligence in Software Release Planning , 2004, Int. J. Hybrid Intell. Syst..

[84]  Sascha Konrad,et al.  Requirements Engineering in the Development of Large-Scale Systems , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[85]  Laurie A. Williams,et al.  Evolving beyond requirements creep: a risk-based evolutionary prototyping model , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[86]  Florian Thiel,et al.  The onion has cancer: some social network analysis visualizations of open source project communication , 2010, FLOSS '10.

[87]  Tom DeMarco,et al.  Risk Management during Requirements , 2003, IEEE Softw..

[88]  Douglas C. Schmidt,et al.  Ultra-Large-Scale Systems: The Software Challenge of the Future , 2006 .

[89]  Günther Ruhe,et al.  Ad Hoc Versus Systematic Planning of Software Releases - A Three-Staged Experiment , 2006, PROFES.

[90]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[91]  Björn Regnell,et al.  What Happened to Our Features? Visualization and Understanding of Scope Change Dynamics in a Large-Scale Industrial Setting , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[92]  Björn Regnell,et al.  Exploring Software Product Management decision problems with constraint solving - opportunities for prioritization and release planning , 2011, 2011 Fifth International Workshop on Software Product Management (IWSPM).

[93]  Sjaak Brinkkemper,et al.  Software product release planning through optimization and what-if analysis , 2008, Inf. Softw. Technol..

[94]  Daniel A. Keim,et al.  Visual Analytics: Definition, Process, and Challenges , 2008, Information Visualization.

[95]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[96]  Des Greer,et al.  Quantitative studies in software release planning under risk and resource constraints , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[97]  Björn Regnell,et al.  Challenges in Market-Driven Requirements Engineering - an Industrial Interview Study , 2002 .

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

[99]  Björn Regnell,et al.  Are you biting off more than you can chew? A case study on causes and effects of overscoping in large-scale software engineering , 2012, Inf. Softw. Technol..

[100]  Richard Baskerville,et al.  Agile requirements engineering practices and challenges: an empirical study , 2007, Inf. Syst. J..

[101]  Viðar Helgason,et al.  Project Scope Management , 2011 .

[102]  Günther Ruhe,et al.  Supporting Software Release Planning Decisions for Evolving Systems , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[103]  Peter Checkland,et al.  Systems Thinking, Systems Practice , 1981 .

[104]  Tony Gorschek,et al.  A method for alignment evaluation of product strategies among stakeholders (MASS) in software intensive product development , 2011, J. Softw. Maintenance Res. Pract..

[105]  Wei Shen,et al.  Release planning under fuzzy effort constraints , 2004 .

[106]  Brian Berenbach,et al.  Software & Systems Requirements Engineering: In Practice , 2009 .

[107]  Tomi Männistö,et al.  Identifying Key Requirements for a New Product Line , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[108]  Björn Regnell,et al.  Scaling Up Requirements Engineering - Exploring the Challenges of Increasing Size and Complexity in Market-Driven Software Development , 2011, REFSQ.

[109]  Kevin Logue,et al.  Agile Release Planning: Dealing with Uncertainty in Development Time and Business Value , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).