SRE Lecture#13

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Lecture # 13

Requirements Analysis & Negotiation


Recap of last lecture
 Discussed requirements analysis, which is an iterative activity and checks for
incomplete and inconsistent requirements
 Three stages of requirements analysis (necessity checking, completeness and
consistency checking, and feasibility checking)
 Studied analysis checklists as a technique for requirements analysis

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,
which can be constructed using a spreadsheet
 Each requirement is compared with other requirements, and the matrix is filled as
follows:
› 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
 Consider an example
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
Comments on Interaction Matrices
 If you can’t decide whether requirements conflict, you should assume that a conflict
exists. If an error is made it is usually fairly cheap to fix; it can be much more expensive
to resolve undetected conflicts 
 In the example, we are considering, we can see that R1 overlaps with R3 and conflicts
with R5 and R6
 R2 is an independent requirement
 R3 overlaps with R1, R4, and R6
 The advantage of using numeric values for conflicts and overlaps is that you can sum
each row and column to find the number of conflicts and the number of overlaps
 Requirements which have high values for one or both of these figures should be
carefully examined
 A large number of conflicts or overlaps means that any changes to that requirement
will probably have a major impact of the rest of the requirements
 Interaction matrices work only when there is relatively small number of requirements,
as each requirement is compared with every other requirement
 The upper limit should be about 200 requirements
 These overlaps and conflicts have to be discussed and resolved during
 requirements negotiation, which we’ll discuss next

Requirements Negotiation
 Disagreements about requirements are inevitable when a system has many
stakeholders. Conflicts are not ‘failures’ but reflect different stakeholder needs and
priorities
 Requirements negotiation is the process of discussing requirements conflicts and
reaching a compromise that all stakeholders can agree to 
 In planning a requirements engineering process, it is important to leave enough time
for negotiation. Finding an acceptable compromise can be time consuming 
 The final requirements will always be a compromise which is governed by the needs of
the organization in general, the specific requirements of different stakeholders, design
and implementation constraints, and the budget and schedule for the system
development
Requirements Negotiation Stages
 Requirements discussion 
 Requirements prioritization 
 Requirements agreement
Requirements Discussion
 Requirements which have been highlighted as problematic are discussed and the
stakeholders involved present their views about the requirements

Requirements Prioritization
 Disputed requirements are prioritized to identify critical requirements and to help the
decision-making process

Requirements Agreement
 Solutions to the requirements problems are identified and a compromised set of
requirements are reached. Generally, this will involve making changes to some of the
requirements

Requirements Negotiation Process


Comments on Requirements Negotiation
 In principle, requirements negotiation should be an objective process
 The judgments should be the requirements for the system should be based on technical
and organizational needs
 Reality is, however, often different; negotiations are rarely conducted using only logical
and technical arguments
 They are influenced by organizational and political considerations, and the personalities
of the people involved
 A strong personality may force their priorities on other stakeholders
 Requirements may be accepted or rejected because they strengthen the political
influence in the organization of some stakeholders
 End-users may be resistant to change and may block requirements, etc.
 The majority of time in requirements negotiation is usually spent resolving
requirements conflicts. A requirement conflicts with other requirements if they ask for
different things
 Example of access of data in a distributed system
 Even after years of experience, many companies do not allow enough time for
resolution of conflicts in requirements
 Conflicts should not be viewed as ‘failures’, they are natural and inevitable – rather
healthy

Resolution of Requirements Conflicts


 Meetings are the most effective way to negotiate requirements and resolve
requirements conflicts 
 All requirements which are in conflict should be discussed individually 
 Negotiation meetings should be conducted in three stages 

Stages of Negotiation Meetings


 Information stage
 Discussion stage
 Resolution stage

Information Stage
 An information stage where the nature of the problems associated with a requirement
is explained
Discussion Stage
 A discussion stage where the stakeholders 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

Resolution Stage
 A resolution stage where actions concerning the requirement are agreed
 These actions might be to delete the requirement, to suggest specific modifications to
the requirement or to elicit further information about the requirements

Summary
 Interaction matrices are very useful for capturing interactions among requirements 
 Requirements negotiation is always necessary to resolve requirements conflicts and
remove requirements overlaps. Negotiation involves information interchange,
discussion and resolution of disagreements

You might also like