Integrating Collaborative Requirements Negotiation and Prioritization Processes: A Match Made in Heaven Nupul Kukreja Annual Research Review 14th March 2013 Outline 1 2 3 4 5 • Motivation • High-level overview • Background and Related work • Two-step Prioritization Approach • Evaluation and Results Motivation • Not enough time and money to implement all requirements – Need to prioritize requirements w.r.t. budget and schedule constraints • High coordination and transaction costs to ascertain requirement priorities or reprioritizing new/changed requirements • Too many ties using MoSCoW or 1-10 scoring – Assumes stakeholders can correctly score requirements as per intrinsic value – Difficult to ascertain value of new/changed requirements in relation to others Solution Value-Based Requirements Prioritization (VBRP)! • Stakeholders select the most valuable requirements for implementation – “Value lies in the eyes of the beholder” – but can be captured with some effort • Decision theory folks working on this for a long time – Some models (e.g. AHP) have been used for requirements prioritization with varying degrees of success • Propose a ‘lightweight’ two-step approach based on TOPSIS (Technique of Ordered Preference by Similarity to Ideal Solution) Two-step Approach – Overview Decompose System into MMFs Prioritize w.r.t. business goals (TOPSIS) Decompose MMFs into low level requirements Prioritize w.r.t. business value, relative penalty & ease of realization (TOPSIS) TOPSIS (What?) Alternative 1 Ideal Alternative (S’) Criterion 1 Non-Ideal Alternative (S*) Alternative 2 Criterion 2 Aim: Rank order alternatives by their ‘closeness to ideal’ and ‘distance from non-ideal’ Criterion: Has ‘direction of preference’ i.e. more/less of the criterion is preferred Ideal: Best score for each criterion Non-ideal: Worst score for each criterion 6 TOPSIS (Why?) 8 9 Winbook • A collaborative, social networking based tool for requirements brainstorming similar to facebook… • …with requirements organization using colorcoded labels similar to Gmail… • …to collaboratively converge on software system requirements reaching win-win equilibrium (based on Theory-W)… • …by keeping it short and simple like XP’s user stories! 10 TOPSIS integrated with Winbook in v2.0 11 TWO-STEP PRIORITIZATION 0. Goals Articulation & Prioritization • WinWin methodology assumes project goals are captured and prioritized before commencing “WinWin Negotiations” • Added a “precursor” step for capturing and prioritizing goals prior to initiating negotiations • Goals captured in Winbook and prioritized using success sliders 13 1. MMF Decomposition • Top-down decomposition of system into Minimum Marketable Features (MMF) – Units of software value creation – Components of intrinsic marketable value • Prioritize MMFs against project goals: – MMFs scored against each goal on a 1-9 scale (1 = MMF has little to no contribution in realizing the goal; 9 = MMF wholly contributes towards realizing the goal. Absolute scale okay too) – MMF priorities ascertained by underlying TOPSIS algorithm 15 MMFs are ‘leaves’ of tree 16 MMFs 17 2. Win Condition Capture & Prioritization • Win Conditions (WCs): Stakeholders’ desired objectives stated in an easy to understand manner and formalized where necessary (“functional” WCs captured in ‘user-story’ format) • MMFs decomposed into constituent WCs • Win conditions prioritized against: – Business Value (1: low; 9: high) – Relative Penalty (1: low; 9: high) – Ease of Realization (Story-points/Fibonacci scale) • WCs priorities also computed by TOPSIS and scaled by MMF they belong to (Similar GUI as previous slide) 19 Two-Step Prioritization Goals Success Sliders MMFs Requirements Goal 1 Business Value Goal 2 Relative Penalty … Ease of Realization Goal n : Influences Priority Score • MMFs influenced by business goals • Win condition scores influenced by MMFs they belong to • Change in goal weights change in requirement priorities • Dynamically (re)prioritizable product backlog • Developers can ‘pull’ most valuable requirements from (up-to-date prioritized) backlog Evaluation & Results • Two-step approach deployed in software engineering project course (CS577) @ USC since Fall 2011 • Empowered teams to perform sensitivity analyses: – Varying goal weights and gauging impact on MMFs/WCs – Varying criteria weights to ascertain high-value, highrisk or complex WCs for prototyping • New requirements/changes comparable with existing ones to ascertain optimum scope leading to channelized negotiation sessions 21 Evaluation & Results (Cont’d) • Ability to have requirements backlog with accompanying rationale for each requirement • TOPSIS-Winbook approach provided significant improvements in organizing, updating and accessing captured rationale over previous versions of the WinWin negotiation systems • Live traceability from goals to win conditions (and vice versa) vs. static traceability matrix – Makes explicit contribution of MMFs to goals (and consequently WCs to goals) 22 Limitations • TOPSIS rank reversals – inclusion of spurious alternatives can change prioritization order of requirements – Not a major concern for cooperative teams (not intent on gaming the system) – Cause of concern for negotiation among competitors • Hierarchical prioritization may not agree with intuition/gut-feel – Teams manually account for discrepancies • Prerequisites/dependencies not handled in current version of Winbook 23 Conclusion • Two-step prioritization decouples business (goals/MMF) prioritization from individual requirements • Ability to quickly gauge impact of changing business goal priorities on individual requirements • Provides dynamic reprioritizable product backlog for use in lean/agile/kanban projects 24 Integrating a decision theory based prioritization framework with a collaborative requirements negotiation and management tool thus provides a rationale-backed prioritization of requirements allowing the stakeholders to channelize their negotiation and development efforts around the most valuable requirements. A match truly made in heaven… 25 Thank you! Questions?