The Next Release Problem Revisited: A New Avenue for Goal Models

Context. Goal models have long been critiqued for the time it takes to construct them as well as for their limited cognitive and visual scalability. Is such criticism general or does it depend on the supported task? Objectives. We advocate for the latter and the aim of this paper is to demonstrate that the next release problem is a suitable application domain for goal models. This hypothesis stems from the fact that product release management is a long-term investment, and software products are commonly managed in "themes" which are smaller focus areas of the product. Methods. We employ a version of goal models that is tailored for the next release problem by capturing requirements, synergies among them, constraints, and release objectives. Such goal model allows discovering optimal solutions considering multiple criteria for the next release. Results. A retrospective case study confirms that goal models are easier to read and comprehend when organized in themes, and that the reasoning results help product managers decide for the next release. Our scalability experiments show that, through reasoning based on optimization modulo theories, the discovery of the optimal solution is fast and scales sufficiently well with respect to the model size, connectivity, and number of alternative solutions.

[1]  Yuanyuan Zhang,et al.  Empirical evaluation of search based requirements interaction management , 2013, Inf. Softw. Technol..

[2]  Eric S. K. Yu,et al.  Analyzing goal models: different approaches and how to choose among them , 2011, SAC.

[3]  Sotirios Liaskos,et al.  On eliciting contribution measures in goal models , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[4]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[5]  Eric Yu,et al.  Modeling Strategic Relationships for Process Reengineering , 1995, Social Modeling for Requirements Engineering.

[6]  Jingyuan Zhang,et al.  A Hybrid ACO algorithm for the Next Release Problem , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[7]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[8]  Inge van de Weerd,et al.  Towards a Reference Framework for Software Product Management , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[9]  T. Saaty How to Make a Decision: The Analytic Hierarchy Process , 1990 .

[10]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[11]  He Jiang,et al.  Solving the Large Scale Next Release Problem with a Backbone-Based Multilevel Algorithm , 2012, IEEE Transactions on Software Engineering.

[12]  Xavier Franch,et al.  A Survey on Software Release Planning Models , 2016, PROFES.

[13]  Roberto Sebastiani,et al.  OptiMathSAT: A Tool for Optimization Modulo Theories , 2018, Journal of Automated Reasoning.

[14]  Daniela E. Damian,et al.  Conway's Law Revisited: The Evidence for a Task-Based Perspective , 2012, IEEE Software.

[15]  Dalal Alrajeh,et al.  Generating obstacle conditions for requirements completeness , 2012, 2012 34th International Conference on Software Engineering (ICSE).

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

[17]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

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

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

[20]  John Mylopoulos,et al.  Security and privacy requirements analysis within a social setting , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[21]  Axel van Lamsweerde,et al.  Reasoning about partial goal satisfaction for requirements and design engineering , 2004, SIGSOFT '04/FSE-12.

[22]  Günther Ruhe,et al.  Bi-objective Genetic Search for Release Planning in Support of Themes , 2014, SSBSE.

[23]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[24]  John Mylopoulos,et al.  Security Requirements Engineering: The SI* Modeling Language and the Secure Tropos Methodology , 2010, Advances in Intelligent Information Systems.

[25]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

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

[27]  Günther Ruhe,et al.  Two machine-learning techniques for mining solutions of the ReleasePlanner™ decision support system , 2014, Inf. Sci..

[28]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[29]  John Mylopoulos,et al.  Goal-driven risk assessment in requirements engineering , 2011, Requirements Engineering.

[30]  Gabriele Bavota,et al.  Release Planning of Mobile Apps Based on User Reviews , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[31]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[32]  John Mylopoulos,et al.  Representing and reasoning about preferences in requirements engineering , 2011, Requirements Engineering.

[33]  John Mylopoulos,et al.  Goal-oriented requirements engineering: an extended systematic mapping study , 2017, Requirements Engineering.

[34]  John Mylopoulos,et al.  Adaptive socio-technical systems: a requirements-based approach , 2011, Requirements Engineering.

[35]  Patrick Heymans,et al.  Improving the Effectiveness of Visual Representations in Requirements Engineering: An Evaluation of i* Visual Syntax , 2009, 2009 17th IEEE International Requirements Engineering Conference.

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

[37]  Paolo Giorgini,et al.  Reasoning with Constrained Goal Models , 2014 .

[38]  Tim Menzies,et al.  Converging on the optimal attainment of requirements , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[39]  Neil A. Ernst,et al.  Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[40]  Alistair Mavin,et al.  Does Goal-Oriented Requirements Engineering Achieve Its Goal? , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[41]  Haralambos Mouratidis,et al.  Decision-Making in Security Requirements Engineering with Constrained Goal Models , 2017, CyberICPS/SECPRE@ESORICS.

[42]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[43]  Xavier Franch,et al.  iStar 2.0 Language Guide , 2016, ArXiv.

[44]  Haralambos Mouratidis,et al.  Secure Tropos: a Security-Oriented Extension of the Tropos Methodology , 2007, Int. J. Softw. Eng. Knowl. Eng..

[45]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[46]  Gihwon Kwon,et al.  Efficient CNF Encoding for Selecting 1 from N Objects , 2007 .

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

[48]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[49]  A. van Lamsweerde Goal-oriented requirements engineering: from system objectives to UML models to precise software specifications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[50]  Björn Regnell What Is Essential? - A Pilot Survey on Views About the Requirements Metamodel of reqT.org , 2016, REFSQ.

[51]  Tim Menzies,et al.  A Deep Learning Model for Estimating Story Points , 2016, IEEE Transactions on Software Engineering.

[52]  John Mylopoulos,et al.  Exploring alternative designs for sociotechnical systems , 2014, 2014 IEEE Eighth International Conference on Research Challenges in Information Science (RCIS).

[53]  John Mylopoulos,et al.  Solving the next adaptation problem with prometheus , 2016, 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS).

[54]  Márcio de Oliveira Barros,et al.  Risk-Aware Multi-stakeholder Next Release Planning Using Multi-objective Optimization , 2016, REFSQ.

[55]  Lin Liu,et al.  Analyzing trust in technology strategies , 2006, PST.

[56]  John Mylopoulos,et al.  Multi-objective risk analysis with goal models , 2016, 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS).