36
Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Dr. Eman Al-Maghary Requirements Engineering Requirements Engineering

Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Embed Size (px)

Citation preview

Page 1: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Chapter 3Requirements Analysis,

Negotiation and Modeling

Part 2

Dr. Eman Al-MagharyDr. Eman Al-Maghary

Requirements EngineeringRequirements Engineering

Page 2: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 3: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requirements Analysis

The goal of analysis is to discover problems, incompleteness and inconsistencies in the elicited requirementsInput - A draft system requirements documentOutput –A set of problematic requirements

A problem checklist may be used to support analysis

3

Page 4: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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 spreadsheetRow - requirements identifiersColumn - checklist itemsCell –comments about potential problems of

certain requirementsChecklist should not include more than 10

items (in general)

4

Page 5: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 6: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

An example Checklist for Individual RequirementsConformance 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

Page 7: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requiremnts interaction:Conflict and Overlap

Conflict: negatively affect each otherOverlap: affect each other but not necessarily a

conflictExampleR1: The file server shall respond to requests within

0.5 secondsR2: The file server shall serve up to 200 connection

simultaneouslyConflict: The file server HW resources may

prevent requirement from being satisfied simultaneously

7

Page 8: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 9: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requirements interactionsA 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 matrixFor requirements which conflict, fill in a 1For requirements which overlap, fill in a 1000For requirements which are independent, fill in a 0

9

Page 10: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Example of an interaction matrix

Interaction matrices only work when there is a relatively small number of requirements ( not more then 200 requirements)

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

10

Page 11: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

The advantage of using numeric values for conflicts and overlapsThe 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

Page 12: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requirements negotiationThe 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 requirementsConflicts are not ‘failures’ but reflect different

stakeholder needs and prioritiesInput –a set of conflicting or overlapped

requirementsOutput –a compromised set of requirements

12

Page 13: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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 time-consuming

13

Page 14: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 15: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requirements analysis and negotiation

15

Requirements Analysis

Requirements Negotiation

Necessity

Checking

Consistency and

completenesschecking

Necessity

Checking

Unnecessaryrequirements

Conflicting and

incompleterequirements

Infeasible requirement

s

Requirements

discussion

Requirementsprioritisation

Requirements

agreement

Page 16: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Negotiation meetingsMeetings are an effective way to negotiate

requirements and resolve requirements conflicts

All conflict requirements should be discussed individually

ParticipantsAnalysts who have discovered requirement

overlaps, omissions and conflictsStakeholders who can help resolve the

discovered problemsAn independent chairman

16

Page 17: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 18: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Three stages of the negotiation meeting

3. Resolution stageActions concerning the requirement are agreed

Delete the requirementSuggest specific modificationsElicit further information about the

requirement

18

Page 19: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Why prioritize requirements?

Limited resourcesScheduleBudgetEffort

19

Customer expectations are highToo many ReqsChanging ReqsConflicting

ReqsRequirements

Resources

All requirements are mandatory, but some are essential/critical while others are not.

Page 20: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

PrioritizationPrioritize 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

Page 21: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Challenges of prioritizationDifferent 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, becausethey suspect that low priority requirements will

never be implementedDevelopers 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

Page 22: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Prioritization techniquesPrioritization scales

Assign each requirement to a priority classification category

Example categories: high, medium, lowPrioritization model - cost-value approach

Analytic Hierarchy Process (AHP)value, cost, and risk estimation model

Kano methodOther approaches

Quality function deployment (QFD)Total quality management (TQM)

22

Page 23: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Requirements prioritization scales

Two dimensions: Importance & UrgencyHigh priority (I & U)

A mission-critical requirement, required for next release

e.g. Contractual or legal obligationsMedium priority (I but not U)

Supports necessary system operations; required eventually but could wait until a later release if necessary

23

Page 24: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Low priority (not (I & U))A functional or quality enhancement; would be

nice to have someday if resources permitThe fourth (not I but U)

They do not add sufficient value to the product –Don’t waste your time

24

Requirements prioritization scales (Cont.)

Page 25: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Summary of prioritization scalesPros

Cheap and easy to useSuitable for a small project

ConsThe results are in many cases just a rough estimateParticipant dependent methodCustomers 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

Page 26: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Prioritization modelEstimating the relative value and relative cost of

each requirementThe 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 riskDepend 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

Page 27: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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

Page 28: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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 valuevalue%

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 risk

28

Page 29: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Example and Template

29

You can download the MS Excel template from the web site.

Page 30: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Value% = value/ sum of values * 100Cost% = Cost/ sum of Costs * 100Risk% = risk/ sum of Risks* 100

Priority for the requirement in row 1Priority = Priority = 1.2

30

5.0*31*7.2

2.5

Page 31: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Summary of the prioritization modelUse the calculated priority sequence only as a

guidelineThe accuracy is limited by people’s ability to

estimate the benefit, penalty, cost and riskCustomer 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 projectAdjust the weighting factors until the calculated

priority sequence correlates well with the after -the-fact evaluation

31

Page 32: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

A Five-step procedure by using Kanomethod

1. Identify the customer requirements2. Construct a questionnaire (e.g. roller shutter

control feature)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 survey4. Analyse and interprete the collected data5. Select the product features

32

Page 33: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Other prioritization techniquesQuality 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

Page 34: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Prioritization considerationsMust involve all stakeholdersAll requirements cannot be essentialTry to get agreement on prioritization

informallyAs analysis and design evolving, review and

adjust priorities

34

Page 35: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

Key pointsPrototypes 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

Page 36: Chapter 3 Requirements Analysis, Negotiation and Modeling Part 2 Dr. Eman Al-Maghary Requirements Engineering

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