ECE450 – Software Engineering II

Slides:



Advertisements
Similar presentations
Hypothesis testing 5th - 9th December 2011, Rome.
Advertisements

DECISION MODELING WITH Multi-Objective Decision Making
Analytical Hierarchy Process (AHP) - by Saaty
Chapter 4: Project Integration Management
1 1 Slide Chapter 10 Multicriteria Decision Making n A Scoring Model for Job Selection n Spreadsheet Solution of the Job Selection Scoring Model n The.
Introduction to Management Science
Multi Criteria Decision Modeling Preference Ranking The Analytical Hierarchy Process.
Initiating and Planning Systems Development Projects.
Assignment of Weights Other methods, besides arbitrary, for weight assignment exist There are both direct and indirect weight elicitation techniques Source:
PSYC512: Research Methods PSYC512: Research Methods Lecture 19 Brian P. Dyre University of Idaho.
Introduction to Management Science
More on Asset Allocation
PROJECT EVALUATION. Introduction Evaluation  comparing a proposed project with alternatives and deciding whether to proceed with it Normally carried.
Decision Making Decision-making is based on information Information is used to: Identify the fact that there is a problem in the first place Define and.
Today Concepts underlying inferential statistics
9-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Multicriteria Decision Making Chapter 9.
Multicriteria Decision Making
9-1 Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Multicriteria Decision Making Chapter 9.
Presented by Johanna Lind and Anna Schurba Facility Location Planning using the Analytic Hierarchy Process Specialisation Seminar „Facility Location Planning“
Descriptive Statistics Used to describe the basic features of the data in any quantitative study. Both graphical displays and descriptive summary statistics.
Requirements Engineering
Variable  An item of data  Examples: –gender –test scores –weight  Value varies from one observation to another.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY Requirements Prioritization Laura Lehtola QURE Project.
1 1 Slide © 2004 Thomson/South-Western Chapter 17 Multicriteria Decisions n Goal Programming n Goal Programming: Formulation and Graphical Solution and.
Single Sample Inferences
Spreadsheet Modeling and Decision Analysis, 3e, by Cliff Ragsdale. © 2001 South-Western/Thomson Learning Multicriteria Decision Making u Decision.
Recap: How the Process Works (1) Determine the weights. The weights can be absolute or relative. Weights encompass two parts -- the quantitative weight.
Mohammad Amin Kuhail M.Sc. (York, UK) University of Palestine Faculty of Engineering and Urban planning Software Engineering department Requirements Engineering.
Software Requirements Engineering Negotiation Process Lecture-18.
Chapter 9 - Multicriteria Decision Making 1 Chapter 9 Multicriteria Decision Making Introduction to Management Science 8th Edition by Bernard W. Taylor.
Therese E. Ritter, MCT New Horizons Computer Learning Centers— Great Lakes A Look at Conflict and Consensus in Decision Making.
Biostatistics Class 1 1/25/2000 Introduction Descriptive Statistics.
PERSONAL AND SOCIAL DEVELOPMENT Effective Teams. CHARACTERISTICS OF EFFECTIVE TEAMS 
Hypothesis testing Intermediate Food Security Analysis Training Rome, July 2010.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Measuring Family Emotional Commitment For each statement below choose the number that best describes your agreement. After you have completed and scored.
Gile Sampling1 Sampling. Fundamental principles. Daniel Gile
Daniel Amyot, University of Ottawa Based on PowerPoint slides by Gunter Mussbacher with material from: K.E. Wiegers, D. Leffingwell & D. Widrig, I.K. Bray,
Agenda for This Week Wednesday, April 27 AHP Friday, April 29 AHP Monday, May 2 Exam 2.
Analytic Hierarchy Process. 2 The Analytic Hierarchy Process (AHP) Founded by Saaty in It is a popular and widely used method for multi-criteria.
INTRODUCTION TO COLLECT PRIORITIES 2014 v COLLECT.
Multi-Criteria Analysis - preference weighting. Defining weights for criteria Purpose: to express the importance of each criterion relative to other criteria.
Introduction Negotiation is something that everyone does, almost daily 1-1.
To accompany Quantitative Analysis for Management, 9e \by Render/Stair/Hanna M1-1 © 2006 by Prentice Hall, Inc. Upper Saddle River, NJ Analytic Hierarchy.
BUSINESS PERFORMANCE MANAGEMENT
Analytic Hierarchy Process (AHP)
© 2006 by The McGraw-Hill Companies, Inc. All rights reserved. 1 Chapter 12 Testing for Relationships Tests of linear relationships –Correlation 2 continuous.
BSBPMG506A Manage Project Human Resources What is Conflict on Projects? A conflict exists when two people wish to carry out acts which are mutually inconsistent.
IMPORTANCE OF STATISTICS MR.CHITHRAVEL.V ASST.PROFESSOR ACN.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Applied Mathematics 1 Applications of the Multi-Weighted Scoring Model and the Analytical Hierarchy Process for the Appraisal and Evaluation of Suppliers.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Constructing the PAHP-based Decision Support System by Considering the Ambiguity in Decision Making Norihiro Saikawa Department of Computer and Information.
Uncertainty and confidence Although the sample mean,, is a unique number for any particular sample, if you pick a different sample you will probably get.
ESTIMATING WEIGHT Course: Special Topics in Remote Sensing & GIS Mirza Muhammad Waqar Contact: EXT:2257 RG712.
This Briefing is: UNCLASSIFIED Aha! Analytics 2278 Baldwin Drive Phone: (937) , FAX: (866) An Overview of the Analytic Hierarchy Process.
Methods of Conflict Resolution: Regardless of the level of conflict, there are differing approaches to deal with the Incompatibilities that exist. Conflict.
Goals and Conflict Management
Dependent-Samples t-Test
Conflict Management.
Requirement Prioritization
Analytic Hierarchy Process (AHP)
A Scoring Model for Job Selection
Lecture 20: Requirements Prioritization
Analytic Hierarchy Process (AHP)
Slides by John Loucks St. Edward’s University.
Agenda for This Week Monday, April 25 AHP Wednesday, April 27
Requirements Analysis and Negotiation
Multicriteria Decision Making
Terminology 7 basic terms Risk Elements Risk Measures
Presentation transcript:

ECE450 – Software Engineering II Today: Requirements Engineering: Prioritization of Requirements adapted from Steve Easterbrook’s material on Requirements Engineering ECE450 - Software Engineering II

Prioritization - Overview Why is prioritization needed? Basic trade-offs Cost-Value approach Sorting requirements by cost/value Estimating relative costs/values using AHP What if stakeholders disagree? Visualizing differences in priority Resolving disagreements ECE450 - Software Engineering II

Basics of prioritization Need to select what to implement Customers (usually) ask for way too much Balance time-to-market with amount of functionality Decide which features go into the next release For each requirement/feature, ask: How important is this to the customer? How much will it cost to implement? How risky will it be to attempt to build it? Perform Triage: Some requirements must be included Some requirements should definitely be excluded That leaves a pool of “nice-to-haves”, which we must select from. ECE450 - Software Engineering II

ECE450 - Software Engineering II A Cost-Value Approach Calculate return on investment Assess each requirement’s importance to the project as a whole Assess the relative cost of each requirement Compute the cost-value trade-off: Cost (percent) Value (percent) Low priority Medium priority High priority 5 10 15 20 25 30 ECE450 - Software Engineering II

Estimating Cost and Value Two approaches: Absolute scale (e.g. dollar values) Requires much domain experience Relative values (e.g. less/more; a little, somewhat, very) Much easier to elicit Prioritization becomes a sorting problem Ensure that estimates come from proper sources Cost is best estimated by developers Value is best estimated by customers Comparison Process - options Basic sorting - for every pair of requirements (i,j), ask if i>j? E.g. bubblesort - start in random order, and swap each pair if out of order requires n*(n-1)/2 comparisons Construct a Binary Sort Tree Requires O(n log n) comparisons Contruct a Minimal Spanning Tree for each pair (Ri, Ri+1) get the distance between them Requires n-1 comparisons ECE450 - Software Engineering II

ECE450 - Software Engineering II Some complications Hard to quantify differences easier to say “x is more important than y”… …than to estimate by how much. Not all requirements comparable E.g. different level of abstraction E.g. core functionality vs. customer enhancements Requirements may not be independent No point selecting between X and Y if they are mutually dependent Stakeholders may not be consistent E.g. If X > Y, and Y > Z, then presumably X > Z? Stakeholders might not agree Different cost/value assessments for different types of stakeholder ECE450 - Software Engineering II

Analytic Hierarchy Process (AHP) adapted from Karlsson & Ryan, 1997 Create n x n matrix (for n requirements) For element (x,y) in the matrix enter: 1 - if x and y are of equal value 3 - if x is slightly more preferred than y 5 - if x is strongly more preferred than y 7 - if x is very strongly more preferred than y 9 - if x is extremely more preferred than y (use the intermediate values, 2,4,6,8 if compromise needed) …and for (y,x) enter the reciprocal. Estimate the eigenvalues: E.g. “averaging over normalized columns” Calculate the sum of each column Divide each element in the matrix by the sum of it’s column Calculate the sum of each row Divide each row sum by the number of rows This gives a value for each requirement: …giving the estimated percentage of total value of the project ECE450 - Software Engineering II

AHP Example – Estimating costs Req1 Req2 Req3 Req4 1 1/3 2 4 3 5 1/2 1/5 1/4 Req1 - 26% of the cost Req2 - 50% of the cost Req3 - 9% of the cost Req4 - 16% of the cost Normalize columns Result Req1 Req2 Req3 Req4 0.21 0.18 0.48 0.63 0.54 0.45 0.36 0.11 0.09 0.04 0.05 0.27 0.12 sum sum/4 1.05 0.26 1.98 0.50 0.34 0.09 0.62 0.16 Sum the rows ECE450 - Software Engineering II

ECE450 - Software Engineering II Plot ROI graph Do AHP process twice: Once to estimate relative value Once to estimate relative cost Use results to calculate ROI ratio: Cost (percent) Value (percent) Low priority Medium priority High priority 5 10 15 20 25 30 x ECE450 - Software Engineering II

Other selection criteria ROI ratio is not the only way to group requirements Cost (percent) Value (percent) Above average cost Below average value Above average in both cost and value 5 10 15 20 25 30 x Above average value Below average cost Relative Loss Relative Probability High Risk Exposure Low Risk Exposure 5 10 15 20 25 30 x ECE450 - Software Engineering II

Visualizing “Value by Stakeholder” Adapted from Regnell et al., 2000 Source: Adapted from Regnell et al, 2000 10 Stakeholders: M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 12% Variation coefficient (right hand scale) “Level of disagreement for each feature” 1 2 3 Percentage of total value (left hand scale) 10% 8% 6% 4% 2% 18 Features (labeled A-Q +Z) 0% ECE450 - Software Engineering II

Visualizing stakeholder satisfaction Adapted from Regnell et al., 2000 Graph showing correlation between stakeholder’s priorities and the group’s priorities Can also be thought of as “influence of each stakeholder on the group” ECE450 - Software Engineering II

Assigning weight to stakeholders Adapted from Regnell et al., 2000 Weight each stakeholder E.g. to reflect credibility? E.g. to reflect size of constituency represented? Example: Result: (The priorities have changed) ECE450 - Software Engineering II

Resolving stakeholder conflict Causes of Conflict Deutsch (1973): control over resources preferences and nuisances (tastes or activities of one party impinge upon another) values (a claim that a value or set of values should dominate) beliefs (dispute over facts, information, reality, etc.) the nature of the relationship between the parties. Robbins (1989): communicational (insufficient exchange of information, noise, selective perception) structural (goal compatibility, jurisdictional clarity, leadership style) personal factors, (individual value systems, personality characteristics. Interesting Results deviant behaviour & conflict are normal in small group decision making more aggression and less co-operation when communication is restricted a decrease in communication tends to intensify a conflict (the contact hypothesis) heterogeneous teams experience more conflict; homogeneous groups are more likely to make high risk decisions (groupthink) effect of personality is overshadowed by situational and perceptual factors ECE450 - Software Engineering II

Basic approaches to conflict resolution Negotiation …is collaborative exploration: participants seek a settlement that satisfies all parties as much as possible. also known as: integrative behaviour constructive negotiation distinct from: distributive/competitive negotiation Competition is maximizing your own gain: no regard for the degree of satisfaction of other parties. but not necessarily hostile! Extreme form: when all gains by one party are at the expense of others I.e a zero-sum game. Third Party Resolution participants appeal to outside source the rule-book, a figure of authority, or the toss of a coin. can occur with the breakdown of either negotiation or competition as resolution methods. judicial: cases presented by each participant are taken into account extra-judicial: a decision is determined by factors other than the cases presented (e.g. relative status of participants). arbitrary: e.g. toss of a coin ECE450 - Software Engineering II