SlideShare a Scribd company logo
Software Requirements
Engineering:
theRequirementsEngineeringProcess
REQUIREMENTS TRIAGE AND NEGOTIATION
Requirements Negotiation (1)
Possible conflicts to be resolved among stakeholders
Between supplier and customers about costs, benefits, risks
Power struggle within customer organization
Conflicts with other projects about resources
Conflicting goals, features, requirements
...
Conflict resolution involves negotiation
Negotiating a coherent set of requirements is not easy
But it is one task of the requirements analyst
Difficult to satisfy everyone, to achieve all goals, make good decisions!
Involves a lot of (group) discussions
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Requirements Negotiation (2)
First, detect when requirements are inconsistent
Then, convince all stakeholders to understand the essential point of view of each
other
Have each party explain what they believe the other party wants and why
Finally, reach an agreement on a coherent set of requirements that meets the needs
of as many stakeholders as possible
Analyze each party’s goals, find solutions that do not conflict but ideally support
everybody’s goals
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
LetScheduleDriveRequirements(NottheReverse)
“Okay, Here Are Our
Requirements By When Can
You Build Them?”
“It Will
Take Us 9
Months”
“Sorry, They
Must Be
Completed in 6
Months”
NOW WHAT?
Typical Scenario
Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Let Schedule Drive Requirements (Better Scenario)
“Okay, we’re going to build in a
series of 3 month increments.
Here are all the requirements.”
“Let’s see. If
we build reqts 1
through 9 and
12, we’ll be able
to do them in 3
months”
“But we
really need
reqt 17 in
that first
release.”
“Okay. How
about if we add
reqt 17 and
drop reqt 12?”
Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Let Schedule Drive Requirements (Better Scenario)
“Hmmm. I really liked reqt
12. Can we drop reqt 3
instead?.”
“Well if we
drop
requirements 3
and 4, we could
do it.”
“Okay
”
“Okay. How
about if we add
reqt 17 and
drop reqt 12?”
Teamwork!!!
Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Requirements Negotiation – Key Aspects (1)
(by analogy with land negotiations)
Territory: desired requirements
The real requirements are those in the head of each stakeholder
Map: requirements document
An abstract model of intentions/requirements, imperfect and incomplete
Interpretation of the map: included requirements
May vary from one session to the next  need to be clear, precise, and unambiguous
Looking at the map through the magnifying glass: importance
Each stakeholder has such a view about its requirements in the project
For each stakeholder, see if a documented requirement is important, conflicting, or optional
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Requirements Negotiation – Key Aspects (2)
Negotiating boundaries: counterproposals of stakeholders
Reaction of a stakeholder (open, opposed, cooperative...) to a documented requirement may
indicate how far it is open for compromise
Helps optimize the requirements of all stakeholders
Can we be consistent? See techniques later on!
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Difficulties (1)
There are too many requirements!
From many different sources
Resources are limited (budget, time…)
Establishing priorities is important, but
Which requirements are important, and to whom?
How to prioritize them? On what basis? What to minimize/maximize?
In which iteration should the requirement be considered?
Developers may not know the business value of some requirements, and clients may not know
the implementation complexity of some requirements
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Difficulties (2)
Different stakeholders have different goals and different priorities
Some stakeholders’ decisions carry more weight than others
Companies often lack systematic data, metrics, and technologies to support the prioritization process
Often done manually, informally, on an ad-hoc basis
Difficult to establish and communicate
Attitude!
"No need for priorities, we can do everything in the specification!“
Yes, but when and at what cost?
Suddenly, when the deadline is fast approaching, some requirements are put aside in order to
deliver something on time...
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Requirements Prioritization and Triage
Requirements prioritization is also referred to as triage
Need to decide which requirements really matter or on those that need to be implemented in
the current release
Need for compromise, negotiation, priorities
Prioritization is needed because there will almost always be the need for trade-offs (e.g.,
required functionality vs. time and resources)
Must help:
Make acceptable tradeoffs among goals of value, cost, time-to-market
Allocate resources based on importance of requirements to the project as a whole (project
planning)
Determine when a requirements should become part of the product
Offer the right product!
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
TheDecision MakingProcess
• In everyday life, we make decisions, e.g., when buying a DVD-player, food, a telephone,
etc
• Usually, we do not have more than a couple of choices to consider. Even with just a
couple of choices, decisions can be difficult to make
Need forPrioritization
• When having tens, hundreds or even thousands of alternatives, decision-making
becomes much more difficult
• One of the keys to making the right decision is to prioritize between different
alternatives. It is often not obvious which choice is better, because several aspects must
be taken into consideration
• Example
• Buying a car
• One aspect or several aspects
RequirementsPrioritization
• When developing software systems, similar trade-offs must be made
• The functionality that is most important for the customers might not be as important
when other aspects (e.g. price) are factored.
• We need to develop the functionality that is most desired by the customers, as well
as least risky, least costly, and so forth
RequirementsPrioritization
• The quality of software products is often determined by the ability to satisfy the needs
of the customers and users
• So, it is very important to include those requirements in the product, which are
really needed by the customers
• Most software projects have more stakeholders’ requirements than can be realized
within the time and cost constraints
• Prioritization helps to identify the most valuable requirements from this set by
distinguishing the critical few from the trivial many
BenefitsofRequirementsPrioritization
• Stakeholders can decide on the core requirements for the system
• Planning and selection of ordered, optimal set of software requirements for
implementation in successive releases
• Helps in trade-offs of conflicting constraints such as schedule, budget,
resources, time to market, and quality
• Minimize rework and schedule slippage (plan stability)
• Handle contradictory requirements, focus the negotiation process, and
resolve disagreements between stakeholders
• Establish relative importance of each requirement to provide the greatest value at
the lowest cost
BenefitsofRequirementsPrioritization
•Prioritization should be based on certain criteria like objectives, risks, quality factors,
or viewpoints of stakeholders
• “The challenge is to select the ‘right’ requirements out of a given superset of
candidate requirements so that all the different key interests, technical constraints
and preferences of the critical stakeholders are fulfilled and the overall business
value of the product is maximized”
Ruhe et. al.
PrioritizationProcess
• Prioritization is an iterative process and might be performed at different
abstraction levels and with different information in different phases during the
software lifecycle
• Prioritization techniques can roughly be divided into two categories:
• Methods
• Negotiation approaches
PrioritizationMethods
• The methods are based on quantitatively assigning values to different aspects of
requirements
• Quantitative methods make it easier to aggregate different decision variables
into an overall assessment and lead to faster decisions
NegotiationApproaches
• Negotiation approaches focus on giving priorities to requirements by
reaching agreement between different stakeholders
• They are based on subjective measures and are commonly used when analyses
are contextual and when decision variables are strongly interrelated
ImportantConsiderations
• In addition, one must be mindful of the social nature of prioritization.
There is more to requirements prioritization than simply asking
stakeholders about priorities
• Stakeholders play roles and should act according to the goals of that
roles, but they are also individuals with personalities and personal
agendas, and there are organizational issues also
• These issues must be addressed while prioritizing requirements
AspectsofPrioritization
• Requirements can be prioritized taking many different aspects
into account
• An aspect is a property or attribute of a project and its
requirements that can be used to prioritize requirements
AspectsofPrioritization
• Importance
• The stakeholders should prioritize which requirements are most important for the system.
Importance is multifaceted, and could be urgency of implementation, importance for product
architecture, strategic importance
• Penalty
• It is possible to evaluate the penalty that is introduced if a requirement is not fulfilled
• Cost
• The implementation cost is usually estimated by the developing organization. Measures that
influence cost include: complexity of the requirement, the ability to reuse existing code, the
amount of testing and documentation needed
• Cost is often expressed in terms of staff hours
• Risk
• Every project carries some amount of risk
AspectsofPrioritization
• Time
• Time is influenced by many other factors such as degree of parallelism in development,
training needs, need to develop support infrastructure, complete industry standards
• Volatility
• Volatility of requirements is considered a risk factor and is sometimes handled as part of
the risk aspect. A point of view is to handle them separately
• Other aspects
• Financial benefit, strategic benefit, competitors,
competence/resources, release theme, ability to sell
• It is important for stakeholders to develop a list of aspects to help in decision-making process
• Combining different aspects
80-20 Rule
20% of functionalities provide 80% of revenues
Think of MS Word…
The remaining 80% of functionalities offer a lower return on investment while adding
delays, development costs, maintenance costs...
How to find the most useful and beneficial 20% of functionalities?
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Which Sector Should We Focus On?
0
A lot!
Cost
A
lot!
Value
R1
R2
R3
R4 R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16
To avoid!
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Requirements Triage Process
Must be simple and fast, for industry adoption
Must yield accurate and trustworthy results
Must consider issues such as
The value of requirements to stakeholder (maximize)
The cost of implementation (minimize)
Time to market (to minimize)
Important to agree on requirements granularity
E.g., use cases, features, detailed functional requirements
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
1st Technique – Prioritization Scales
Determine criteria, granularity, scale dimensions
Frequently used:
Urgency
High (mission critical requirement; required for next release)
Medium (supports necessary system operations; required eventually but could wait until a later release
if necessary)
Low (a functional or quality enhancement; would be nice to have someday if resources permit)
Importance
Essential (product unacceptable unless these requirements are satisfied)
Conditional (would enhance the product, but the product is acceptable if absent)
Optional (functions that may
or may not be worthwhile)
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Prioritization Based on Cost and Value
Calculate return on investment by
Assessing the value of each requirement
Assessing the cost of each requirement
Calculating the cost-value trade-offs
Difficulties:
Hard to calculate absolute value/cost
Relative value/cost figures are easier to obtain
Interdependent requirements difficult to treat individually
Inconsistencies or conflicts in priorities assigned by individual stakeholders
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
2nd Technique – Wiegers’ Prioritization
Semi-quantitative analytical approach to requirements prioritization based on value, cost, and risk
Relies on estimation of relative priorities of requirements
Dimensions
Relative benefit (for having requirement)
Relative penalty to stakeholder (if requirement is not included)
Relative cost (to implement requirement)
Relative risk (technical and other risks)
Each dimension is given a value on a given scale (e.g., 0..9)
Dimensions have relative weights 0-program it easily, 9 means difficult to program
Formula used to derive overall priority
priority = (value%) / ((cost% * cost weight) + (risk% * risk weight))
Still limited by ability to properly estimate
Requires adaptation and calibration
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Wiegers’ Prioritization Example
Chemical tracking system
Source: Wiegers, Karl E., First Things First: Prioritizing Requirements, http://www.processimpact.com/articles/prioritizing.html
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Other Criteria to Consider
Costs/benefits approach is good but sometimes insufficient
The following criteria are not all applicable to all projects, but they are there to be
considered:
Cost of implementation (how much does it cost to develop?)
Value to customer (how much does the customer want it?)
Time to implement (how much time does it take to deliver?)
Ease of implementation at technical level
Ease of implementation at the organizational level (business process)
Value to company (how much will the business benefit?)
Obligation to some external authority (laws, standards, patents…)
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
3rd Technique – Volere Prioritisation
Editable Excel document
Volere Prioritisation Spreadsheet
Copyright c The Atlantic Systems Guild 2002
Requirement/Product Use
Case/Feature
Number
Factor - score
out of 10
%Weight
applied
Factor - score
out of 10
%Weight
applied
Factor - score out
of 10
%Weight
applied
Factor - score
out of 10
%Weight
applied
Total
Weight
Value to
Customer
40
Value to
Business
20
Minimise
Implementation
Cost
10
Ease of
Implementati
on
30
Priority
Rating
100
Requirement 1 1 2 0.8 7 1.4 3 0.3 8 2.4 4.9
Requirement 2 2 2 0.8 8 1.6 5 0.5 7 2.1 5
Requirement 3 3 7 2.8 3 0.6 7 0.7 4 1.2 5.3
Requirement 4 4 6 2.4 8 1.6 3 0.3 5 1.5 5.8
Requirement 5 5 5 2 5 1 1 0.1 3 0.9 4
Requirement 6 6 9 4 6 1.2 6 0.6 5 1.5 6.9
Requirement 7 7 4 2 3 0.6 6 0.6 7 2.1 4.9
Requirement 6.9
Source: Volere Prioritisation Analysis, http://www.volere.co.uk/prioritisationdownload.htm
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
3rd Technique – Volere Prioritisation
Editable Excel document
Source: Volere Prioritisation Analysis, http://www.volere.co.uk/prioritisationdownload.htm
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Volere Prioritisation Spreadsheet
Copyright c The Atlantic Systems Guild 2002
Requirement/Product Use
Case/Feature
Number
Factor - score
out of 10
%Weight
applied
Factor - score
out of 10
%Weight
applied
Factor - score out
of 10
%Weight
applied
Factor - score
out of 10
%Weight
applied
Total
Weight
Value to
Customer
40
Value to
Business
20
Minimise
Implementation
Cost
10
Ease of
Implementati
on
30
Priority
Rating
100
Requirement 1 1 2 0.8 7 1.4 3 0.3 8 2.4 4.9
Requirement 2 2 2 0.8 8 1.6 5 0.5 7 2.1 5
Requirement 3 3 7 2.8 3 0.6 7 0.7 4 1.2 5.3
Requirement 4 4 6 2.4 8 1.6 3 0.3 5 1.5 5.8
Requirement 5 5 5 2 5 1 1 0.1 3 0.9 4
Requirement 6 6 9 4 6 1.2 6 0.6 5 1.5 6.9
Requirement 7 7 4 2 3 0.6 6 0.6 7 2.1 4.9
Requirement 6.9
CumulativeVoting,the100-DollarTest
• The 100-dollar test is a very straightforward prioritization technique where the
stakeholders are given 100 imaginary units (money, hours, etc.) to distribute
between the requirements
• One should only perform the prioritization once on the same set of requirements,
since the stakeholders might bias their evaluation the second time around if they
do not get one of their favourite requirements as a top priority
NumericalAssignment(Grouping)
• It is the most common prioritization technique, and is based on grouping
requirements into different priority groups
• The number of groups can vary, but in practice, three groups are very common
• When using numerical assignment, it is important that each group represents
something that the stakeholders can relate to (e.g. critical, standard, optional), for
a reliable classification
• Drawback: Everything can be marked critical
Ranking
• As in numerical assignment, ranking is based on an ordinal scale but the
requirements are ranked without ties in rank
• This means that the most important requirement is ranked 1 and the least
important is ranked n (for n requirements)
Top-TenRequirements
• In this approach, the stakeholders pick their top-ten requirements (from a larger set)
without assigning an internal order between the requirements
• This makes the approach especially suitable for multiple stakeholders of equal importance
• The reason to not prioritize further is that it might create unnecessary conflict when some
stakeholders get support for their top priority and others only for their third priority
• It is not advisable to take average across all stakeholders since it might lead to some
stakeholders not getting any of their top requirements
• The main challenge in this technique is to balance issues related to the fact that top
priority requirements of all stakeholders are included in the next development activity
Pairwise Comparisons (1)
Finding scores and weights is difficult and subjective
Potential solution: pairwise comparison
Which requirements (A or B) is more important:
A << < = > >> B
Benefits
Indicates what is important to the client
Identifies requirements of high value and low cost (priority!)
Identifies requirements of low value and high cost (likely to be removed)
Has already been used to assist numerous corporate and government decision makers
Choosing a telecommunication system, formulating a drug policy, choosing a product marketing
strategy
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Pairwise Comparisons (2)
New problems
Large number of pairs – pairwise comparison can be tedious
Solved using transitivity and other tricks!
Mathematical optimization of the number of pairs to be considered (no need to cover all)
Many dependencies between requirements
Can actually be used to further reduce the # of pairs
E.g., group many requirements as features, use cases, services…
Example approach
Analytic Hierarchy Process1
[1] Karlsson, J. and Ryan, K. A cost-value approach for prioritizing requirements, IEEE Software, Sept/Oct 1997
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
4th Technique – Analytic Hierarchy Process (AHP)
Developed by Karlsson and Ryan (1997) based on work by Saaty (early 1970)
see also http://en.wikipedia.org/wiki/Analytic_Hierarchy_Process
Use cost-value diagrams to analyze and discuss candidate requirements
Useful for requirements triage and release planning (but also applicable in many other
situations where complex decisions are to be made)
Basic procedure for rating a set of criteria
Develop pairwise comparison matrix of each criterion
Normalize the matrix
Average the value of each row to get corresponding rating
Criterion ratings are then used to evaluate different potential decisions
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Basic Rating Procedure (1)
Pairwise comparison rating scale
Values 2, 4, 6, or 8 represent preferences halfway between the integers on either side
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
Example of Commercial Tool
IBM Rational (formerly Telelogic) Focal Point
Decision support, portfolio management
Pairwise comparisons of features
Creation and validation of web questionnaires
Dynamic algorithm for reducing the number of pairs, according to the responses
Detection of inconsistency between the answers
Priorities
For different markets
Represented in various different ways
Integration with DOORS
http://www-01.ibm.com/software/awdtools/focalpoint/
Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
https://www.ibm.com/common/ssi/cgi-
bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213-
282
HintsandTipson RequirementsPrioritization
• A general advice is to use the simplest appropriate prioritization
technique
• Use more sophisticated ones when a more sensitive analysis is
needed for resolving disagreements or to support the most
critical decisions
• More sophisticated techniques, generally, are more time
consuming, the simplest possible technique ensures cost
effective decisions
• Combination of techniques

More Related Content

Similar to Requirement-Prioritization-08012023-110019am.pptx

Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
Syed Zaid Irshad
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
IIUI
 
Good PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptxGood PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptx
zimalfayzankhan
 
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
TFT presentations Tomorrow's IT Service Future Today
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
Preeti Mishra
 
Requirements Workshop -Text Analytics System - Serene Zawaydeh
Requirements Workshop -Text Analytics System - Serene ZawaydehRequirements Workshop -Text Analytics System - Serene Zawaydeh
Requirements Workshop -Text Analytics System - Serene ZawaydehSerene Zawaydeh
 
Top 5 Considerations When Choosing a New HCM Vendor
Top 5 Considerations When Choosing a New HCM VendorTop 5 Considerations When Choosing a New HCM Vendor
Top 5 Considerations When Choosing a New HCM Vendor
Aggregage
 
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
Legal Services Corporation
 
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
Seattle Interactive Conference
 
GAP Analysis
GAP AnalysisGAP Analysis
GAP Analysis
Lakshmi-BA
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)
Phase2
 
Requirement Management.ppt
Requirement Management.pptRequirement Management.ppt
Requirement Management.ppt
Soham De
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.ppt
AteeqaKokab1
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
AqeelAbbas94
 
1.4 Software Project Acquisition.pptx
1.4 Software Project Acquisition.pptx1.4 Software Project Acquisition.pptx
1.4 Software Project Acquisition.pptx
SudarshanSharma43
 
Discover Requirement
Discover RequirementDiscover Requirement
Discover Requirement
zeyadtarek13
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).ppt
WaniHBisen
 
vu-re-lecture-44 requirement engineering.ppt
vu-re-lecture-44 requirement engineering.pptvu-re-lecture-44 requirement engineering.ppt
vu-re-lecture-44 requirement engineering.ppt
ubaidullah75790
 
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
Audrey Reynolds
 

Similar to Requirement-Prioritization-08012023-110019am.pptx (20)

Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Good PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptxGood PracticesFor RequirementEngineering.pptx
Good PracticesFor RequirementEngineering.pptx
 
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
#TFT14 Kiran Pabbathi, Top 5 issues in ITSM consulting
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Requirements Workshop -Text Analytics System - Serene Zawaydeh
Requirements Workshop -Text Analytics System - Serene ZawaydehRequirements Workshop -Text Analytics System - Serene Zawaydeh
Requirements Workshop -Text Analytics System - Serene Zawaydeh
 
Top 5 Considerations When Choosing a New HCM Vendor
Top 5 Considerations When Choosing a New HCM VendorTop 5 Considerations When Choosing a New HCM Vendor
Top 5 Considerations When Choosing a New HCM Vendor
 
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
LSCTIG 2015 Session Materials - Shop Smart: How a Formal Procurement Process ...
 
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
How to Carry Out a Design Due Diligence? | Seattle Interactive 2019
 
GAP Analysis
GAP AnalysisGAP Analysis
GAP Analysis
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)
 
Requirement Management.ppt
Requirement Management.pptRequirement Management.ppt
Requirement Management.ppt
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.ppt
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
 
1.4 Software Project Acquisition.pptx
1.4 Software Project Acquisition.pptx1.4 Software Project Acquisition.pptx
1.4 Software Project Acquisition.pptx
 
Discover Requirement
Discover RequirementDiscover Requirement
Discover Requirement
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).ppt
 
vu-re-lecture-44 requirement engineering.ppt
vu-re-lecture-44 requirement engineering.pptvu-re-lecture-44 requirement engineering.ppt
vu-re-lecture-44 requirement engineering.ppt
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
Making IT Work for Your Business - 4 Key Concepts to Get the Most Out of Your...
 

Recently uploaded

Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 

Requirement-Prioritization-08012023-110019am.pptx

  • 2. Requirements Negotiation (1) Possible conflicts to be resolved among stakeholders Between supplier and customers about costs, benefits, risks Power struggle within customer organization Conflicts with other projects about resources Conflicting goals, features, requirements ... Conflict resolution involves negotiation Negotiating a coherent set of requirements is not easy But it is one task of the requirements analyst Difficult to satisfy everyone, to achieve all goals, make good decisions! Involves a lot of (group) discussions Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 3. Requirements Negotiation (2) First, detect when requirements are inconsistent Then, convince all stakeholders to understand the essential point of view of each other Have each party explain what they believe the other party wants and why Finally, reach an agreement on a coherent set of requirements that meets the needs of as many stakeholders as possible Analyze each party’s goals, find solutions that do not conflict but ideally support everybody’s goals Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 4. LetScheduleDriveRequirements(NottheReverse) “Okay, Here Are Our Requirements By When Can You Build Them?” “It Will Take Us 9 Months” “Sorry, They Must Be Completed in 6 Months” NOW WHAT? Typical Scenario Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003 Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 5. Let Schedule Drive Requirements (Better Scenario) “Okay, we’re going to build in a series of 3 month increments. Here are all the requirements.” “Let’s see. If we build reqts 1 through 9 and 12, we’ll be able to do them in 3 months” “But we really need reqt 17 in that first release.” “Okay. How about if we add reqt 17 and drop reqt 12?” Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003 Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 6. Let Schedule Drive Requirements (Better Scenario) “Hmmm. I really liked reqt 12. Can we drop reqt 3 instead?.” “Well if we drop requirements 3 and 4, we could do it.” “Okay ” “Okay. How about if we add reqt 17 and drop reqt 12?” Teamwork!!! Source: Davis, A.: “Just Enough Requirements Management”, Dorset House, 2005; “The art of requirements triage”, IEEE Computer, 03/2003 Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 7. Requirements Negotiation – Key Aspects (1) (by analogy with land negotiations) Territory: desired requirements The real requirements are those in the head of each stakeholder Map: requirements document An abstract model of intentions/requirements, imperfect and incomplete Interpretation of the map: included requirements May vary from one session to the next  need to be clear, precise, and unambiguous Looking at the map through the magnifying glass: importance Each stakeholder has such a view about its requirements in the project For each stakeholder, see if a documented requirement is important, conflicting, or optional Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 8. Requirements Negotiation – Key Aspects (2) Negotiating boundaries: counterproposals of stakeholders Reaction of a stakeholder (open, opposed, cooperative...) to a documented requirement may indicate how far it is open for compromise Helps optimize the requirements of all stakeholders Can we be consistent? See techniques later on! Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 9. Difficulties (1) There are too many requirements! From many different sources Resources are limited (budget, time…) Establishing priorities is important, but Which requirements are important, and to whom? How to prioritize them? On what basis? What to minimize/maximize? In which iteration should the requirement be considered? Developers may not know the business value of some requirements, and clients may not know the implementation complexity of some requirements Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 10. Difficulties (2) Different stakeholders have different goals and different priorities Some stakeholders’ decisions carry more weight than others Companies often lack systematic data, metrics, and technologies to support the prioritization process Often done manually, informally, on an ad-hoc basis Difficult to establish and communicate Attitude! "No need for priorities, we can do everything in the specification!“ Yes, but when and at what cost? Suddenly, when the deadline is fast approaching, some requirements are put aside in order to deliver something on time... Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 11. Requirements Prioritization and Triage Requirements prioritization is also referred to as triage Need to decide which requirements really matter or on those that need to be implemented in the current release Need for compromise, negotiation, priorities Prioritization is needed because there will almost always be the need for trade-offs (e.g., required functionality vs. time and resources) Must help: Make acceptable tradeoffs among goals of value, cost, time-to-market Allocate resources based on importance of requirements to the project as a whole (project planning) Determine when a requirements should become part of the product Offer the right product! Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 12. TheDecision MakingProcess • In everyday life, we make decisions, e.g., when buying a DVD-player, food, a telephone, etc • Usually, we do not have more than a couple of choices to consider. Even with just a couple of choices, decisions can be difficult to make
  • 13. Need forPrioritization • When having tens, hundreds or even thousands of alternatives, decision-making becomes much more difficult • One of the keys to making the right decision is to prioritize between different alternatives. It is often not obvious which choice is better, because several aspects must be taken into consideration • Example • Buying a car • One aspect or several aspects
  • 14. RequirementsPrioritization • When developing software systems, similar trade-offs must be made • The functionality that is most important for the customers might not be as important when other aspects (e.g. price) are factored. • We need to develop the functionality that is most desired by the customers, as well as least risky, least costly, and so forth
  • 15. RequirementsPrioritization • The quality of software products is often determined by the ability to satisfy the needs of the customers and users • So, it is very important to include those requirements in the product, which are really needed by the customers • Most software projects have more stakeholders’ requirements than can be realized within the time and cost constraints • Prioritization helps to identify the most valuable requirements from this set by distinguishing the critical few from the trivial many
  • 16. BenefitsofRequirementsPrioritization • Stakeholders can decide on the core requirements for the system • Planning and selection of ordered, optimal set of software requirements for implementation in successive releases • Helps in trade-offs of conflicting constraints such as schedule, budget, resources, time to market, and quality • Minimize rework and schedule slippage (plan stability) • Handle contradictory requirements, focus the negotiation process, and resolve disagreements between stakeholders • Establish relative importance of each requirement to provide the greatest value at the lowest cost
  • 17. BenefitsofRequirementsPrioritization •Prioritization should be based on certain criteria like objectives, risks, quality factors, or viewpoints of stakeholders • “The challenge is to select the ‘right’ requirements out of a given superset of candidate requirements so that all the different key interests, technical constraints and preferences of the critical stakeholders are fulfilled and the overall business value of the product is maximized” Ruhe et. al.
  • 18. PrioritizationProcess • Prioritization is an iterative process and might be performed at different abstraction levels and with different information in different phases during the software lifecycle • Prioritization techniques can roughly be divided into two categories: • Methods • Negotiation approaches
  • 19. PrioritizationMethods • The methods are based on quantitatively assigning values to different aspects of requirements • Quantitative methods make it easier to aggregate different decision variables into an overall assessment and lead to faster decisions
  • 20. NegotiationApproaches • Negotiation approaches focus on giving priorities to requirements by reaching agreement between different stakeholders • They are based on subjective measures and are commonly used when analyses are contextual and when decision variables are strongly interrelated
  • 21. ImportantConsiderations • In addition, one must be mindful of the social nature of prioritization. There is more to requirements prioritization than simply asking stakeholders about priorities • Stakeholders play roles and should act according to the goals of that roles, but they are also individuals with personalities and personal agendas, and there are organizational issues also • These issues must be addressed while prioritizing requirements
  • 22. AspectsofPrioritization • Requirements can be prioritized taking many different aspects into account • An aspect is a property or attribute of a project and its requirements that can be used to prioritize requirements
  • 23. AspectsofPrioritization • Importance • The stakeholders should prioritize which requirements are most important for the system. Importance is multifaceted, and could be urgency of implementation, importance for product architecture, strategic importance • Penalty • It is possible to evaluate the penalty that is introduced if a requirement is not fulfilled • Cost • The implementation cost is usually estimated by the developing organization. Measures that influence cost include: complexity of the requirement, the ability to reuse existing code, the amount of testing and documentation needed • Cost is often expressed in terms of staff hours • Risk • Every project carries some amount of risk
  • 24. AspectsofPrioritization • Time • Time is influenced by many other factors such as degree of parallelism in development, training needs, need to develop support infrastructure, complete industry standards • Volatility • Volatility of requirements is considered a risk factor and is sometimes handled as part of the risk aspect. A point of view is to handle them separately • Other aspects • Financial benefit, strategic benefit, competitors, competence/resources, release theme, ability to sell • It is important for stakeholders to develop a list of aspects to help in decision-making process • Combining different aspects
  • 25. 80-20 Rule 20% of functionalities provide 80% of revenues Think of MS Word… The remaining 80% of functionalities offer a lower return on investment while adding delays, development costs, maintenance costs... How to find the most useful and beneficial 20% of functionalities? Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 26. Which Sector Should We Focus On? 0 A lot! Cost A lot! Value R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 To avoid! Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 27. Requirements Triage Process Must be simple and fast, for industry adoption Must yield accurate and trustworthy results Must consider issues such as The value of requirements to stakeholder (maximize) The cost of implementation (minimize) Time to market (to minimize) Important to agree on requirements granularity E.g., use cases, features, detailed functional requirements Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 28. 1st Technique – Prioritization Scales Determine criteria, granularity, scale dimensions Frequently used: Urgency High (mission critical requirement; required for next release) Medium (supports necessary system operations; required eventually but could wait until a later release if necessary) Low (a functional or quality enhancement; would be nice to have someday if resources permit) Importance Essential (product unacceptable unless these requirements are satisfied) Conditional (would enhance the product, but the product is acceptable if absent) Optional (functions that may or may not be worthwhile) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 29. Prioritization Based on Cost and Value Calculate return on investment by Assessing the value of each requirement Assessing the cost of each requirement Calculating the cost-value trade-offs Difficulties: Hard to calculate absolute value/cost Relative value/cost figures are easier to obtain Interdependent requirements difficult to treat individually Inconsistencies or conflicts in priorities assigned by individual stakeholders Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 30.
  • 31. 2nd Technique – Wiegers’ Prioritization Semi-quantitative analytical approach to requirements prioritization based on value, cost, and risk Relies on estimation of relative priorities of requirements Dimensions Relative benefit (for having requirement) Relative penalty to stakeholder (if requirement is not included) Relative cost (to implement requirement) Relative risk (technical and other risks) Each dimension is given a value on a given scale (e.g., 0..9) Dimensions have relative weights 0-program it easily, 9 means difficult to program Formula used to derive overall priority priority = (value%) / ((cost% * cost weight) + (risk% * risk weight)) Still limited by ability to properly estimate Requires adaptation and calibration Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 32. Wiegers’ Prioritization Example Chemical tracking system Source: Wiegers, Karl E., First Things First: Prioritizing Requirements, http://www.processimpact.com/articles/prioritizing.html Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 33. Other Criteria to Consider Costs/benefits approach is good but sometimes insufficient The following criteria are not all applicable to all projects, but they are there to be considered: Cost of implementation (how much does it cost to develop?) Value to customer (how much does the customer want it?) Time to implement (how much time does it take to deliver?) Ease of implementation at technical level Ease of implementation at the organizational level (business process) Value to company (how much will the business benefit?) Obligation to some external authority (laws, standards, patents…) Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 34. 3rd Technique – Volere Prioritisation Editable Excel document Volere Prioritisation Spreadsheet Copyright c The Atlantic Systems Guild 2002 Requirement/Product Use Case/Feature Number Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Total Weight Value to Customer 40 Value to Business 20 Minimise Implementation Cost 10 Ease of Implementati on 30 Priority Rating 100 Requirement 1 1 2 0.8 7 1.4 3 0.3 8 2.4 4.9 Requirement 2 2 2 0.8 8 1.6 5 0.5 7 2.1 5 Requirement 3 3 7 2.8 3 0.6 7 0.7 4 1.2 5.3 Requirement 4 4 6 2.4 8 1.6 3 0.3 5 1.5 5.8 Requirement 5 5 5 2 5 1 1 0.1 3 0.9 4 Requirement 6 6 9 4 6 1.2 6 0.6 5 1.5 6.9 Requirement 7 7 4 2 3 0.6 6 0.6 7 2.1 4.9 Requirement 6.9 Source: Volere Prioritisation Analysis, http://www.volere.co.uk/prioritisationdownload.htm Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 35. 3rd Technique – Volere Prioritisation Editable Excel document Source: Volere Prioritisation Analysis, http://www.volere.co.uk/prioritisationdownload.htm Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization Volere Prioritisation Spreadsheet Copyright c The Atlantic Systems Guild 2002 Requirement/Product Use Case/Feature Number Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Factor - score out of 10 %Weight applied Total Weight Value to Customer 40 Value to Business 20 Minimise Implementation Cost 10 Ease of Implementati on 30 Priority Rating 100 Requirement 1 1 2 0.8 7 1.4 3 0.3 8 2.4 4.9 Requirement 2 2 2 0.8 8 1.6 5 0.5 7 2.1 5 Requirement 3 3 7 2.8 3 0.6 7 0.7 4 1.2 5.3 Requirement 4 4 6 2.4 8 1.6 3 0.3 5 1.5 5.8 Requirement 5 5 5 2 5 1 1 0.1 3 0.9 4 Requirement 6 6 9 4 6 1.2 6 0.6 5 1.5 6.9 Requirement 7 7 4 2 3 0.6 6 0.6 7 2.1 4.9 Requirement 6.9
  • 36. CumulativeVoting,the100-DollarTest • The 100-dollar test is a very straightforward prioritization technique where the stakeholders are given 100 imaginary units (money, hours, etc.) to distribute between the requirements • One should only perform the prioritization once on the same set of requirements, since the stakeholders might bias their evaluation the second time around if they do not get one of their favourite requirements as a top priority
  • 37. NumericalAssignment(Grouping) • It is the most common prioritization technique, and is based on grouping requirements into different priority groups • The number of groups can vary, but in practice, three groups are very common • When using numerical assignment, it is important that each group represents something that the stakeholders can relate to (e.g. critical, standard, optional), for a reliable classification • Drawback: Everything can be marked critical
  • 38. Ranking • As in numerical assignment, ranking is based on an ordinal scale but the requirements are ranked without ties in rank • This means that the most important requirement is ranked 1 and the least important is ranked n (for n requirements)
  • 39. Top-TenRequirements • In this approach, the stakeholders pick their top-ten requirements (from a larger set) without assigning an internal order between the requirements • This makes the approach especially suitable for multiple stakeholders of equal importance • The reason to not prioritize further is that it might create unnecessary conflict when some stakeholders get support for their top priority and others only for their third priority • It is not advisable to take average across all stakeholders since it might lead to some stakeholders not getting any of their top requirements • The main challenge in this technique is to balance issues related to the fact that top priority requirements of all stakeholders are included in the next development activity
  • 40. Pairwise Comparisons (1) Finding scores and weights is difficult and subjective Potential solution: pairwise comparison Which requirements (A or B) is more important: A << < = > >> B Benefits Indicates what is important to the client Identifies requirements of high value and low cost (priority!) Identifies requirements of low value and high cost (likely to be removed) Has already been used to assist numerous corporate and government decision makers Choosing a telecommunication system, formulating a drug policy, choosing a product marketing strategy Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 41.
  • 42. Pairwise Comparisons (2) New problems Large number of pairs – pairwise comparison can be tedious Solved using transitivity and other tricks! Mathematical optimization of the number of pairs to be considered (no need to cover all) Many dependencies between requirements Can actually be used to further reduce the # of pairs E.g., group many requirements as features, use cases, services… Example approach Analytic Hierarchy Process1 [1] Karlsson, J. and Ryan, K. A cost-value approach for prioritizing requirements, IEEE Software, Sept/Oct 1997 Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 43. 4th Technique – Analytic Hierarchy Process (AHP) Developed by Karlsson and Ryan (1997) based on work by Saaty (early 1970) see also http://en.wikipedia.org/wiki/Analytic_Hierarchy_Process Use cost-value diagrams to analyze and discuss candidate requirements Useful for requirements triage and release planning (but also applicable in many other situations where complex decisions are to be made) Basic procedure for rating a set of criteria Develop pairwise comparison matrix of each criterion Normalize the matrix Average the value of each row to get corresponding rating Criterion ratings are then used to evaluate different potential decisions Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 44. Basic Rating Procedure (1) Pairwise comparison rating scale Values 2, 4, 6, or 8 represent preferences halfway between the integers on either side Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization
  • 45. Example of Commercial Tool IBM Rational (formerly Telelogic) Focal Point Decision support, portfolio management Pairwise comparisons of features Creation and validation of web questionnaires Dynamic algorithm for reducing the number of pairs, according to the responses Detection of inconsistency between the answers Priorities For different markets Represented in various different ways Integration with DOORS http://www-01.ibm.com/software/awdtools/focalpoint/ Introduction Structured Analysis OO Analysis Problem Frames State Machine-Based Analysis Triage/Prioritization https://www.ibm.com/common/ssi/cgi- bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213- 282
  • 46. HintsandTipson RequirementsPrioritization • A general advice is to use the simplest appropriate prioritization technique • Use more sophisticated ones when a more sensitive analysis is needed for resolving disagreements or to support the most critical decisions • More sophisticated techniques, generally, are more time consuming, the simplest possible technique ensures cost effective decisions • Combination of techniques