Multi-Stakeholder Tensioning Analysis in Requirements Optimisation Yuanyuan Zhang CREST Centre University College London Agenda Background Problem Solution Empirical Study Conclusion Requirements Engineering Process Acquisition Evolution & Management Modelling& Modelling & Analysis Validation & Verification Background Problem Specification Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Requirements Selection & Optimisation Task Using prioritisation, visualisation, and optimisation techniques helps decision maker to select the optimal or near optimal subset from all possible requirements to be implemented. Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Goals Stakeholder A Stakeholder B Cost Revenue Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Search based Requirements Optimisation Use of meta-heuristic algorithms to automate and optimise requirements analysis process – Choose appropriate representation of problem – Define problem specific fitness function (to evaluate potential solutions) – Use search based techniques to lead the search towards optimal points in the solution space Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Representation Stakeholder: Weight: C c1 ,..., c j ,..., cm Weight w1 ,..., w j ,..., wm Requirements: Cost: Background R r1,..., ri ,..., rn Cost cost1,..., costn Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Representation rii : • Each stakeholder c j assigns a value to requirements r value ri , c j • Each stakeholder c j has a subset of requirements that expect to be fulfilled denoted by R j value r , c j 0 r Rj Rj R, • The overall score of a given requirement ri can be calculated by: m scorei w j value ri , c j j 1 Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Data Set Generation & Initialisation Matlab Files .mat .dat Real World Data Sets format input Requirement.Number Requirement.Value Requirement.Cost Requirement.Dependency 27 Combination Random Data Sets generate initialise Other Random Data Sets Background process Problem Stakeholder.Number Stakeholder.Weight Stakeholder.Subset format Requirement-Stakeholder Matrix.Density Random.Distribution Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Requirements Selection Process Basic Value/Cost NSGA-II ANOVA Analysis Archive-based NSGA-II Today/Future Importance Value/Cost Trade-off Analysis Two-Achieve Fitness-Invariant Dependency Spearman’s Rank Correlation Pareto GA Single Objective GA Greedy* Fitness-Affecting Dependency Interaction Management Tensioning Analysis Iterate No Fairness Analysis Multi-Stakeholder Analysis Data Sets Regeneration Yes ? Random* Search Algorithms Statistic Analysis Chang e? No Yes * Strictly speaking, these are not search algorithms. Result Representation and Visualisation 2D and 3D Pareto Fronts Requirements Subsets for Release Planning Kiviat Diagrams Insight Characteristic of Data Sets represent & visualise Performance of the Algorithms Problem communicate & feedback Convergence Diversity Results Background Marked Line Charts Solution Empirical Study Conclusion King’s College London yuanyuan.zhang@kcl.ac.uk Visualisation Pareto Optimal Front Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Fitness Functions The problem is to select a set of requirements that maximise the total value to each stakeholder, which is expressed as a percentage. The model of fitness functions represented as: n i 1 Maximise value(ri , c j ) xi rR j n subject to cost i 1 Background Problem i Solution value(r , c j ) B, B0 Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Data Sets Used 1. Motorola Data Set: 35 Requirements and 4 Stakeholders 2. Greer and Ruhe Data Set: 20 Requirements and 5 Stakeholders Background Problem Solution Empirical Study Conclusion King’s College London yuanyuan.zhang@kcl.ac.uk Data Sets Used 3. 27 Combination Levels of Random Data Sets: the No. of requirements the No. of stakeholders the density of the stakeholder-requirement matrix Background Problem Solution Empirical Study Conclusion King’s College London yuanyuan.zhang@kcl.ac.uk Multi-Stakeholder Kiviat Diagram Sta. 1 100% 75% 50% 25% Sta. 4 0% Sta. 2 Sta. 3 Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Multi-Stakeholder Tensioning Analysis Motorola data set 30% Budgetary Resource Constraint Background Problem Solution 70% Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Solutions on the Pareto Front Average Solutions Tensions between the Stakeholders’ Satisfaction for Different Budgetary Resource Constraints Multi-Stakeholder Tensioning Analysis Greer and Ruhe data set 30% Budgetary Resource Constraint Background Problem Solution 70% Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Algorithms’ Performance C N i 1 di N num P NUM Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Algorithms’ Performance 1 . The diversity of the Two-archive algorithm is significant in most cases 2. The Two-archive and NSGA-II algorithms always have a better convergence than the Random Search 3. The Two-Archive algorithm outperforms NSGA-II and Random Search in terms of convergence in some case Background Problem Solution Empirical Study Conclusion University College London yuanyuan.zhang@cs.ucl.ac.uk Conclusion • Present the concept of multi-stakeholder tensioning in requirements analysis • Treat each stakeholder as a separate objective to maximise the requirement satisfaction • Present the empirical study and statistical analysis • Provide a simple visual method to show the tensioning http://www.sebase.org/sbse/publications University College London yuanyuan.zhang@cs.ucl.ac.uk