Value Based Requirements Engineering And Prioritization Percolating ‘Value’ into the SDLC (Software Development Lifecycle) Nupul Kukreja 15 th October,

Slides:



Advertisements
Similar presentations
UNIT 1 CONCEPT OF MANAGERIAL ECONOMICS (continue)
Advertisements

UNIT 1 CONCEPT OF MANAGERIAL ECONOMICS (continue)
Test Automation Success: Choosing the Right People & Process
Integrating Collaborative Requirements Negotiation and Prioritization Processes: A Match Made in Heaven Nupul Kukreja Annual Research Review 14 th March.
Chapter 4: Inception is Not the Requirements Phase
Project management Project manager must;
Copyright 2009  Develop the project charter: working with stakeholders to create the document that formally authorizes a project—the charter  Develop.
Project Management Workshop. Nick Cook  Citigroup Corporate and Investment Bank  European Technology Business Office Manager Edinburgh University April.
Knowledge Translation Curriculum Module 3: Priority Setting Lesson 2 - Interpretive Priority Setting Processes.
Copyright © 2006 Pearson Education Canada Inc Course Arrangement !!! Nov. 22,Tuesday Last Class Nov. 23,WednesdayQuiz 5 Nov. 25, FridayTutorial 5.
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Software Engineering.
1 Introduction to System Engineering G. Nacouzi ME 155B.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
1 Agile Estimating and Planning October, 2013 Technion, Israel Prof. Fabio Kon University of Sao Paulo, Brazil
CHAPTER 19 Building Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
«Enhance of ship safety based on maintenance strategies by applying of Analytic Hierarchy Process» DAGKINIS IOANNIS, Dr. NIKITAKOS NIKITAS University of.
A Methodology that is PROVEN PRACTICAL EFFECTIVELY INTEGRATED SCALABLE CUSTOMIZABLE.
The Microsoft Office 2007 Enterprise Project Management Solution:
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Project Risk Management. The Importance of Project Risk Management Project risk management is the art and science of identifying, analyzing, and responding.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
HIT241 - RISK MANAGEMENT Introduction
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY Requirements Prioritization Laura Lehtola QURE Project.
Z26 Project Management Introduction lecture 1 13 th January 2005
Feasibility Study.
Concept Evaluation/Selection Dept. of Aerospace Engineering IIT Bombay AE 207 Introduction to Engineering Design.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Value-Based Requirements Prioritization And Evolution Executing Incremental Stakeholder Commitment Nupul Kukreja 5 th November,
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Welcome to Session 3 – Project Management Process Overview
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Applied Software Project Management
Value Based Requirements Engineering And Prioritization
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
S519: Evaluation of Information Systems Analyzing data: Merit Ch8.
Human Computer Interaction
Project Risk Management Planning Stage
Project Management Workshop James Small. Goals Understand the nature of projects Understand why Project Management is important Get an idea of the key.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Information Technology Project Management Managing IT Project Risk.
Evaluate Phase Pertemuan Matakuliah: A0774/Information Technology Capital Budgeting Tahun: 2009.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Stakeholder WinWin And Requirements Prioritization Nupul Kukreja 19 th October
S ystems Analysis Laboratory Helsinki University of Technology 1 Decision Analysis Raimo P. Hämäläinen Systems Analysis Laboratory Helsinki University.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Alternative Generation, Evaluation, and Selection.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Logical Framework Approach 1. Approaches to Activity Design Logical Framework Approach (LFA) – Originally developed in the 1970s, this planning process.
Training on Safe Hospitals in Disasters Module 3: Action Planning for “Safe Hospitals”
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
P3 Business Analysis. 2 Section F: Project Management F1.The nature of projects F2. Building the Business Case F4. Planning,monitoring and controlling.
SDOT IS Project Intake Process
Project Office Effectiveness Educating the Organization on How to Use a PMO February 22 nd, 2006.
Requirement Prioritization
Health Services Administration
Project Management Processes
Stakeholder WinWin And Requirements Prioritization
Value Based Requirements Engineering And Prioritization
Decision Matrices Business Economics.
Project Management Processes
Presentation transcript:

Value Based Requirements Engineering And Prioritization Percolating ‘Value’ into the SDLC (Software Development Lifecycle) Nupul Kukreja 15 th October, 2012

Agenda The ‘science’ of decision making – what, why and how? The role of decision making in Value Based Requirements Engineering & Prioritization (VBRE/RP) Importance of ‘Planning’ VBRP – what, why & how? Understanding VBRP in CS577 VBRP in Action

Agenda: VBSE 4+1 View Theory-W: SCS Win-Win Dependency Theory Utility Theory Decision Theory Control Theory 1. Protagonist goals 3a. Solution Exploration 7. Risk, opportunity, change management 2. Identify SCS 2a. Results chains 3b, 5a, 7b. Cost/schedule/ performance tradeoffs 3b, 7a. Solution Analysis 5a, 7b. Options, solution development & analysis 3. SCS Value Propositions (Win Conditions) 4. SCS expectations management 5a, 7b. Prototyping 6, 7c. Refine, execute, monitor & control plans 6a, 7c. State measurement, prediction correction; Milestone synchronization 5a. Investment analysis, Risk analysis 5. SCS WinWin Negotiation 3

Decision Making – What? Definition: * Decision making can be regarded as the mental processes (cognitive process) resulting in the selection of a course of action among several alternative scenarios Every decision making process produces a final choice The output can be an action or an opinion of choice. *Courtesy:

Decision Making – Making a Choice Which apartment do you want to live in?

Making a Choice – How? So, just how did you choose your apartment? What all did you ‘see’ / evaluate before signing the lease? Examples of possible criteria: – Rent per month – Location i.e., quality of area – Proximity to campus – Presence of a good looking neighbor – …and probably several others

Analyzing the ‘Problem’ You have the two key ingredients necessary for a decision problem: – A list of criteria – A set of alternatives Problem: Given a list of criteria AND a set of alternatives select the alternative that best suits the given criteria Decision Analysis Criteria Alternatives Rank ordered set of alternatives Apartment Selection Rank ordered set of apartments

Decision Making – Why Bother? Converts ‘art’ into science – Adds rigor to the act of decision making Justification of choice of action i.e., why you chose what you chose? – Helps decrease legal liability Ex.: Why did Company A select the bid/tender of Company X over Y? (It’s not only cost ) Documents the institutional memory that lead to that particular decision (i.e., helps trace back to provide justification of decision)

Decision Making – How do you do it? If it is a well studied science (it is) does anything exist ‘out there’ to help practice this ‘science’? There are various techniques that can be employed: – Multi-attribute utility theory (ISE 562 in Fall) – Analytical Hierarchy Process (AHP) – Simple Additive Weighting (SAW) – TOPSIS (Technique of Ordered Preference by Similarity to Ideal Solution) – …and many more (

Decision Problem – Look and Feel Criterion 1 Criterion 2 Criterion 3 … Criterion N Alternative 1S 11 S 12 S 13 …S 1N Alternative 2S 21 S 22 S 23 …S 2N Alternative 3S 31 S 32 S 33 …S 3N ……………… Alternative NS N1 S N2 S N3 …S NN S ij = Measure of how well Alternative ‘i‘ does on Criterion ‘j’ Almost always has a matrix-like representation: When considering multiple criteria in decision making the problem is often referred to as “Multiple Criteria Decision Analysis” (MCDA) or “Multiple Criteria Decision Making” (MCDM)

Okay, Great! But what has any of it got to do with VBSE? Everything!! How do you decide:  Which requirement to implement first?  Which component to design first?  Which architectural style/pattern to use?  Which requirements to test first?  Which test-cases form part of the regression suite?  What all to prototype first?  For which component to write the “first line of code”? Control Theory

Wait! But I’ve already done all of this before and I got it right too! Probably! However… Were you able to justify your choice i.e., how you came about choosing a specific option? – Was there ever a need to do so? Just “how” did you decide? – Perhaps intuition, gut feel, domain knowledge, tossing a coin, do as the Romans do… Yes, a simple 1-10 works or even MoSCoW (Must, Should, Could, Would – have) but for relatively simple problems

Short Detour: Planning

Purpose of ‘Planning’* Why do we do it? – Reduce risk & uncertainty – Supporting better decision making – Establishing trust (i.e. frequent delivery) – Conveying expectations Planning is a ‘quest for value’ – Attempt to find an optimal solution of the overall product development question: What should be built? *Agile Estimation & Planning – Mike Cohn

A Good Plan One that stakeholders find sufficiently reliable One that can be used as basis for decision making – Approximate time to market – An idea of the set of features Made more precise as project moves on Is a ‘living’ artifact showing the current status of the project to avoid last minute surprises Is planned around ‘value’

Planning and Decision Analysis What do we work on now? What do we work on next? How much money can/should we spend? How much is being spent? Are the risks being monitored/mitigated? How does risk impact the plan? Important to plan around ‘value’ VBRP helps achieve that

Planning for ‘Value’* Stakeholders needs must be understood Just delivering features is not important – Necessary to balance scope, schedule, cost and value of features comprising the release Various factors impacting prioritization – Financial value of having the features – Cost of development – Amount/significance of new knowledge Product (what) Project (how) – Reducing Risk (Business/Technical) Schedule Cost Functionality *Agile Estimation & Planning – Mike Cohn

Decision Making and Planning for Value Decision analysis techniques can be ‘overloaded’ to perform requirements prioritization… …the rank-ordered output of decision making techniques could also rank-order requirements! Requirements prioritized against the goals/needs/values of the stakeholders  VBRP

The ‘Dimensions’ of Value Value is a multi-dimensional quantity, a simple 1-10 may not cut it (too many ties – Must have, Must-must haves, must-must-must haves etc.) Value lies in the eyes of the beholder …and so does its dimensions! Dimensions are ‘hidden’ within the ‘expected benefits’ of the various stakeholders The benefits serve as the goals/objectives/criteria on which to prioritize the requirements Point to consider: Are all dimensions* equally important? ( *dimensions = benefits = criteria = goals = objectives )

Prioritizing Criteria/Value Dimensions All criteria may NOT be equally important But just HOW do you prioritize the criteria themselves? – A simple 1-10 (Yes, it works ) – A highly involved process like multi-attribute utility theory (MAUT) to get the utility functions for each criteria which shows the risk attitude of each criterion – Or another interesting technique - Project Success Sliders* * Radical Project Management by Rob Thomsett

Project Success Sliders Image: Radical Project Management by Rob Thomsett 25% 50% 75% Success Criteria (defined at start of project)

Project Success Sliders Image: Radical Project Management by Rob Thomsett It’s ‘subjective’ but an extremely effective tool to understand the importance of expectations and their relative tradeoffs! They can (and are) interpreted on a relative scale i.e., twice as important, half as much etc.,

Putting It All Together You have: 1.Relative ranking of all criteria 2.List of requirements (or win conditions) What else do you need? Scores! How well each requirement/win- condition does on each criteria You STILL need something else… The decision analysis ALGORITHM!

Overall Score Criteria Alternatives Criterion 1 Criterion 2 Criterion 3 … Criterion N W1W1 W2W2 W3W3 …WNWN S(A 1 )Alternative 1S 11 S 12 S 13 …S 1N S(A 2 )Alternative 2S 21 S 22 S 23 …S 2N S(A 3 )Alternative 3S 31 S 32 S 33 …S 3N ………………… S(A N ) Alternative NS N1 S N2 S N3 …S NN Decision Analysis Algorithm: Given a set of criteria with possible weights and the measure of how the alternatives rank on the respective criteria find the most optimal alternative The scale of the scores could be absolute, relative, 1-10 (Likert Scale), Fibonacci... …must be consistent across the matrix

Algorithms for Practicing VBRP There are various algorithms in literature to choose from along with those from MCDA/M: – Kano Analysis – Planning Poker – 100-point assignment technique – Simple Additive Weighting – Quality Function Deployment (House of Quality) – Cost of Delay – Weiger’s Prioritization – Theory-W (Business value vs. Technical Feasibility) – TOPSIS – …and quite a few more

What are we using in CS577? TOPSIS: Technique of Ordered Preference by Similarity to Ideal Solution (MCDM Technique) Integrated in Winbook for prioritizing MMFs and win conditions We’ll be using Business Value, Technical Feasibility and Relative Penalty as the criteria against which to rank the requirements. You may add more (e.g., risk, cost, effort, time – anything you deem appropriate!) MMFs Prioritized against stakeholders’ value propositions/goals/objectives Success Sliders for prioritizing value propositions Success Sliders

Ideal Alternative (S’) TOPSIS Primer Criterion 1 Criterion 2 Alternative 1 Alternative 2 Non-Ideal Alternative (S*) 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 27

Refinements to TOPSIS/VBRP Prerequisite Handling (not yet integrated in Winbook) – Specifying MMF/WC prerequisites and factoring in prioritization – Simple solution: Priority of item less than all those in its prerequisite graph Hierarchical Prioritization (partially integrated) – Prioritizing high level MMFs w.r.t. project goals – Prioritizing WCs w.r.t. MMFs – Prioritizing test cases w.r.t. WCs and so on

Points To Note TOPSIS is ONE way of practicing VBRP You could even perform COTS tradeoff analyses using it. (It’s a decision problem!) Use the VBRP technique that is best suited to the situation – each technique has its pros and cons. Choose wisely. Some prioritization techniques do not lend themselves to a typical spreadsheet like analysis The output of some techniques could be bucketed (categorized into the MoSCoW buckets) or ordinal (explicitly rank ordered)

Conclusion Tools and techniques for prioritization are only one side of the coin… …negotiations and discussions are the other. The latter must be held for the former to be of any value. Using the tool will NOT guarantee VBRP There will be a Homework on VBRP posted tonight/tomorrow, due next week. Watch the class website.