Unformatted text preview:

University of Toronto Department of Computer Science Lecture 20 Requirements Prioritization Why Prioritization is 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 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 1 University of Toronto Department of Computer Science 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 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 2 Department of Computer Science University of Toronto A Cost Value Approach Source Adapted from Karlsson Ryan 1997 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 30 Value percent 25 High priority Medium priority 20 15 10 Low priority 5 5 10 15 20 25 30 Cost percent 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 3 University of Toronto Department of Computer Science Estimating Cost 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 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 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 4 Department of Computer Science University of Toronto 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 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 5 Department of Computer Science University of Toronto Hierarchical Prioritization Group Requirements into a hierarchy E g A goal tree E g A NFR tree Only make comparisons between branches of a single node Better train system Comparison set 1 minimize costs serve more passengers add new tracks Comparison set 2 increase train speed more frequent trains minimize operation costs minimize development costs Comparison set 3 improve safety increase safe distance clearer signalling Comparison set 4 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 6 Department of Computer Science University of Toronto Analytic Hierarchy Process AHP Source Adapted from Karlsson Ryan 1997 Create n x n matrix for n requirements For element x y in the matrix enter 1 if x 3 if x 5 if x 7 if x 9 if x use the and y are of equal value is slightly more preferred than y is strongly more preferred than y is very strongly more preferred than y is extremely more preferred than y 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 reqt giving the estimated percentage of total value of the project 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 7 Department of Computer Science University of Toronto AHP example estimating costs Source Adapted from Karlsson Ryan 1997 Req1 Req2 Req3 Req4 Req1 1 1 3 2 4 Req2 3 1 5 3 Req3 1 2 1 5 1 1 3 Req4 1 4 1 3 3 1 Normalise columns Result Req1 Req2 Req3 Req4 Req1 Req2 Req3 Req4 0 21 0 63 0 11 0 05 0 18 0 54 0 11 0 18 Req1 26 of the cost Req2 50 of the cost Req3 9 of the cost Req4 16 of the cost 0 18 0 45 0 09 0 27 0 48 0 36 0 04 0 12 Sum the rows sum sum 4 1 05 0 26 1 98 0 50 0 34 0 09 0 62 0 16 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 8 Department of Computer Science University of Toronto Plot ROI graph Source Adapted from Karlsson Ryan 1997 Do AHP process twice Once to estimate relative value Once to estimate relative cost Use results to calculate ROI ratio High priority 30 Value percent 25 x x x 20 Medium priority 15 10 x x 5 5 10 15 20 25 Low priority 30 Cost percent 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 9 Department of Computer Science University of Toronto Other selection criteria Source Adapted from Park et al 1999 ROI ratio is not the only way to group requirements Above average in both cost and value Value percent 30 25 x x x 20 Above average cost Below average value 15 10 x x 5 5 10 15 20 25 Cost percent 30 Relative Probability Above average value Below average cost 30 x 25 x x 20 15 x 10 5 High Risk Exposure x Low Risk Exposure 5 10 15 20 25 30 Relative Loss 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 10 Department of Computer Science University of Toronto Visualizing


View Full Document

Toronto CSC 340 - Lecture 20 - Requirements Prioritization

Documents in this Course
Scoping

Scoping

10 pages

Load more
Loading Unlocking...
Login

Join to view Lecture 20 - Requirements Prioritization and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 20 - Requirements Prioritization and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?