Requirements analysis and negotiation

Download Report

Transcript Requirements analysis and negotiation

Requirements Engineering
Chapter 3
Requirements Analysis,
Negotiation and Modeling
Part 2
Dr. Eman Al-Maghary
Analysis and Negotiation
 Analysis – the process of evaluating value/cost of different
requirements, identifying dependencies between requirements, etc.
 Negotiation – the process of resolving conflicts between
requirements, deciding which to accept, setting priorities.
2
Requirements Analysis
 The goal of analysis is to discover problems,
incompleteness and inconsistencies in the elicited
requirements
 Input - A draft system requirements document
 Output –A set of problematic requirements
 A problem checklist may be used to support analysis
3
Analysis checklists
 A checklist is a list of questions which the analyst may
used to assess each requirement
 Analysis checklists can be implemented as a
spreadsheet
 Row - requirements identifiers
 Column - checklist items
 Cell –comments about potential problems of certain
requirements
 Checklist should not include more than 10 items (in
general)
4
An example Checklist for Individual
Requirements
 Premature design: Does the requirement include
premature design or implementation information
 Combined requirements: Does the requirement
description describes a single requirement or can be divided
into several different requirements.
 Unnecessary requirements: Is the requirement a
cosmatic addition, which is not really needed by the system
 Use of non-standard hardware: Does the requirement
mean that non standard hardware or software must be
used.*
5
An example Checklist for Individual
Requirements
 Conformance with business goals: Is the requirement
consistent with business goals defined in the
introduction of the requirements document.
 Requirements ambiguity: What are the possible
interpretations of the requirement?*
 Requirements Realism: Is the requirement realistic given
the technology which will be used to implement the system?
 Requirements testability: Is the requirement testable?
That is, can the system engineers derive a test which can
show if the system can meet that requirement?
6
Requiremnts interaction:
Conflict and Overlap
 Conflict: negatively affect each other
 Overlap: affect each other but not necessarily a
conflict
 Example
R1: The file server shall respond to requests within 0.5
seconds
R2: The file server shall serve up to 200 connection
simultaneously
Conflict: The file server HW resources may prevent
requirement from being satisfied simultaneously
7
R3:“the file server shall allow logged in users of storing
up to 2GB of data daily(total)”
R4: “the file server shall allow each logged in user to
store up to 20MB of data daily”
Overlap no conflict, they affect each other, R5 might be
extracted
R5: the file server shall allow up to 100 users to login
daily
8
Requirements interactions
 A very important objective of requirements analysis is
to discover the interactions between requirements and
to highlight requirements conflicts and overlaps
 A requirements interaction matrix shows how
requirements interact with each other.
 In the requirement interaction matrix, requirements
are listed along the rows and columns of the matrix
 For requirements which conflict, fill in a 1
 For requirements which overlap, fill in a 1000
 For requirements which are independent, fill in a 0
9
Example of an interaction matrix
Requirement
R1
R2
R3
R4
R5
R6
R1
0
0
1000
0
1
1
R2
0
0
0
0
0
0
R3
1000
0
0
1000
0
1000
R4
0
0
1000
0
1
1
R5
1
0
0
1
0
0
R6
1
0
1000
1
0
0
Interaction matrices only work when there is a
relatively small number of requirements ( not more
then 200 requirements)
10
The advantage of using numeric
values for conflicts and overlaps
 The sum of each row and each column give
1. the number of conflicts: the reminder when
dividing the total by 1000
2. The number of overlaps the total when dividing
by 1000
 A large number of conflicts or overlaps means that
changing a requirement has a great impact on the rest
of the system
11
Requirements negotiation
 The goal requirements negotiation is to reach
agreement on changes to satisfy all system
stakeholders.
 Requirements negotiation stage involves the different
stakeholders to solve the conflicts and overlaps and
agree on a set of requirements
 Conflicts are not ‘failures’ but reflect different
stakeholder needs and priorities
 Input –a set of conflicting or overlapped requirements
 Output –a compromised set of requirements
12
Requirements negotiation (Cont.)
 Negotiation is interleaved with elicitation and analysis
as problems are discovered and possible solutions are
agreed when the requirements are elicited
 Finding an acceptable compromise can be timeconsuming
13
Negotiation goals
 Three basic goals of requirements negotiation:
 To make the conflicts explicit.
 To make explicit, for each conflict, the relevant
alternatives, the argumentations, and the underlying
rationales.
 To facilitate in that “right” decisions are made.
 “Right” decision here denotes a decision made
rationally, decision made based by evaluating the
alternatives and selecting the best one.
14
Requirements analysis and negotiation
Requirements Analysis
Necessity
Checking
Consistency and
completeness
checking
Necessity
Checking
Unnecessary
requirements
Conflicting and
incomplete
requirements
Infeasible
requirements
Requirements
discussion
Requirements
prioritisation
Requirements
agreement
Requirements Negotiation
15
Negotiation meetings
 Meetings are an effective way to negotiate
requirements and resolve requirements conflicts
 All conflict requirements should be discussed
individually
 Participants
 Analysts who have discovered requirement overlaps,
omissions and conflicts
 Stakeholders who can help resolve the discovered
problems
 An independent chairman
16
Three stages of the negotiation meeting
1.
Information stage
Nature of the problems associated with a requirement is
explained
2. Discussion stage
 Stakeholders are involved discuss how these problems
might be resolved
 All stakeholders with an interest in the requirement
should be given the opportunity to comment. Priorities
may be assigned to requirements at this stage
17
Three stages of the negotiation meeting
3. Resolution stage
 Actions concerning the requirement are agreed



Delete the requirement
Suggest specific modifications
Elicit further information about the requirement
18
Why prioritize requirements?
 Limited resources
 Customer
expectations are
high
 Schedule
 Budget
 Effort
 Too many Reqs
 Changing Reqs
Resources
Requirements
 Conflicting Reqs
All requirements are mandatory, but some are
essential/critical while others are not.
19
Prioritization
 Prioritize means listing or rating in order of priority
 Requirements prioritization means balancing the
business benefit of each requirement against its cost
and any implications it has for the architectural
foundation and future evolution of the product
 Requirements prioritization takes place at the
requirements analysis and negotiation stage
20
Challenges of prioritization
 Different stakeholders have usually different opinions
about requirement’s importance and urgency.
 People naturally have their own interest and they aren’t
always willing to compromise their needs for someone
else’s benefit.
 Customers may try to avoid prioritization, because
 they suspect that low priority requirements will never be
implemented
 Developers may try to avoid prioritization, because
 they feel bad to admit, that they can’t implement all
requirements
 Many of the prioritization methods are either too
complicated and time consuming or insufficient
21
Prioritization techniques
 Prioritization scales
 Assign each requirement to a priority classification
category
 Example categories: high, medium, low
 Prioritization model - cost-value approach
 Analytic Hierarchy Process (AHP)
 value, cost, and risk estimation model
 Kano method
 Other approaches
 Quality function deployment (QFD)
 Total quality management (TQM)
22
Requirements prioritization scales
 Two dimensions: Importance & Urgency
 High priority (I & U)
 A mission-critical requirement, required for next release
 e.g. Contractual or legal obligations
 Medium priority (I but not U)
 Supports necessary system operations; required
eventually but could wait until a later release if
necessary
23
Requirements prioritization scales (Cont.)
 Low priority (not (I & U))
 A functional or quality enhancement; would be nice to
have someday if resources permit
 The fourth (not I but U)
 They do not add sufficient value to the product –Don’t
waste your time
24
Summary of prioritization scales
 Pros
 Cheap and easy to use
 Suitable for a small project
 Cons
 The results are in many cases just a rough estimate
 Participant dependent method
 Customers estimate 85% of requirements at high
priority, 15% at medium and 5% at low priority

No desired flexibility for the project
 In the real world low priority requirements have
frequently been abandoned
25
Prioritization model
 Estimating the relative value and relative cost of each
requirement
 The highest priority requirements are those that
provide the largest fraction of the total product value
at the smallest fraction of the total cost
 The prioritization model prioritizes negotiable
requirements based on value, cost, and risk
 Depend on both the benefit provided to the customer if a
specific product feature is present and the penalty paid if that
feature is absent
 A requirement’s attractiveness is directly proportional to the
value it provides and inversely proportional to its cost and the
technical risk associated with implementing it
26
Steps to use the prioritization model
1.
List all requirements (features or use cases) needed
to prioritize
 All the items must be at the same level of abstraction
2. Estimate the relative benefit on a scale of 1
(negligible benefit ) to 9 (very valuable)
3. Estimate the relative penalty the customer or
business would suffer on a scale of 1 (essentially no
penalty) to 9 (a very serious downside)
4. Calculate the total value (benefit *weight + penalty *
weight) and the percentage of the total value (total
value / Σ(total value))
27
Steps to use the prioritization model (Cont).
5. Estimate the relative cost of implementing each
requirement on a scale of 1 (low) to 9 (high)
6. Estimate the relative degree of technical or other
risks associated with each requirement on a scale of 1
(low) to 9 (high)
7. Calculate the priority value
value%
Priority = ----------------------------------------------------(cost% * cost weight) + (risk% * risk weight)
8. Sort the list of requirements in descending order by
calculate priority. The features at the top of the list
have the most favorable balance of value, cost, and
28
risk
Example and Template
You can download the MS Excel template from the web site.
29
 Value% = value/ sum of values * 100
 Cost% = Cost/ sum of Costs * 100
 Risk% = risk/ sum of Risks* 100
 Priority for the requirement in row 1
 Priority =
5.2
2.7 *1  3 * 0.5
 Priority = 1.2
30
Summary of the prioritization model
 Use the calculated priority sequence only as a
guideline
 The accuracy is limited by people’s ability to estimate
the benefit, penalty, cost and risk
 Customer and development representatives should
review the completed spreadsheet to reach agreement
on the ratings and the resulting sorted priority sequence
 Calibrate the model for your own use with a set of
completed requirements from a previous project
 Adjust the weighting factors until the calculated priority
sequence correlates well with the after -the-fact
evaluation
31
A Five-step procedure by using Kano
method
Identify the customer requirements
2. Construct a questionnaire (e.g. roller shutter control
feature)
1.
 Functional questions

e.g. Suppose that your HAS could open and close roller
shutters automatically, what would you think about that?
 Dysfunctional questions

e.g. … … would not be able to ……
3. Perform a survey
4. Analyse and interprete the collected data
5. Select the product features
32
Other prioritization techniques
 Quality function deployment (QFD)
 A Japanese technique developed at the Kobe Shipyard
 A comprehensive method for relating customer value
to the features for a proposed product
 It can be used for large, complex projects in which
diverse stakeholders have very different viewpoints and
are having trouble agreeing
 Total quality management (TQM)
 It rates each requirement against several weighted
project success criteria and computes a score to rank
the priority of the requirements
33
Prioritization considerations
 Must involve all stakeholders
 All requirements cannot be essential
 Try to get agreement on prioritization informally
 As analysis and design evolving, review and adjust
priorities
34
Key points
 Prototypes are effective for requirements elicitation
because stakeholders have something which they can
experiment with to find their real requirements
 Checklists are particularly useful as a way of
organizing the requirements validation process. They
remind analysts what to look for when reading
through the proposed requirements
 Requirements negotiation is always necessary to
resolve
requirements
conflicts
and
remove
requirements
overlaps.
Negotiation
involves
information interchange, discussion and resolution of
disagreements
35
Key points (Cont.)
 Requirements
prioritization provides options to
manage requirement additions and risk, enables
delivery of a useful product in spite of changes in
schedule and resource allocations, and guides
architecting and design tradeoffs
 The analyst plays a central role in collecting and
disseminating product information. He bridges
communication between customer and development
stakeholders
36