1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements...

Post on 30-Dec-2015

226 views 4 download

Tags:

Transcript of 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements...

1

Management :Management :

2

Requirements Management

Requirements

Elicit requirements

Model requirements

validate requirements

Manage evolution

implement traceability

3

Configuration Management

• Change Control

• Version Control

• Access to different configurations

4

Definitions• Component (artifact) version

– component + modifications

– Temporal axis

– Initial component (1a. Version)

• Software Version (release)– Set of components taken at a specific point in time

• Configuration– Selection of components that are part of a determined

set (Ex: components of release 3.1)

5

Configuration Management• Advantages

– Avoid potentially destructive or frivol changes on requirements

– Keep/maintain updated revisions of requirements documentation

– Facilitate the recovery and reconstruction of previous versions

– Offer support to a configuration strategy for new versions

– Prevent simultaneous changes

6

Version Control

• Coordinate and manage objects in evolution

• Successive Refinements– requirements– models– code

• Keep intermediary versions

• Log of changes

7

Management

• Escope

• Changes

• Risc

• Traceability

• Prioritization

8

Requirement Management

• Manage Requirements is to ensure all clients requests are being examined during the SDLC

• For this it is essential that such requests are related to software products (requirements allocation)

9

Requirement Management

• It is orthogonal to the process of requirements definition (elicitation, modelling and analysis)

• Supervene the whole process of software development and evolution

10

What is Scope?

• Combination of functionality, resources and time

ESCOPE

Time

RESOURCES

Due Date

11

Scope

• Problems:– NFR: May consume a big portion of time and

resources– Not all resources are available or are known at

the beginning– Typical culture that software is always LATE– (time) – save time is an illusion !!!

• “Add people to a late project will only get this project worst” Brooks

12

Controlling the scope

• “Since” Syndrome – keep adding requirements

• Caper Jones reports that requirements that “crawl under the scope” represent– risk of 80% to information system projects– risk of 70% to military projects

13

Controlling the scope

• Crawling Requirements – New functionality– modifications

• requirements

• bigger scope

SAY NO !!!

14

What means to Prioritize? [Wiegers]

• Trade off between:– scope– time– resources

• Assure that the Essential is done

15

Why prioritize?

• High Expectations

• Short Time

• Limited Resources

• Saying:

“We do what we can not what we want”

16

Prioritization techniques

• Formal– QFD

• Informal– CAN 100– Categorize

17

QFD (quality function deployment)

• Participants:– Manager– Key figures – developers

[Cohen95/Wiegers]

18

QFD• Steps of the process:

1. List in a spreadsheet the requirements, functionality or use cases that you want to prioritize

2. Estimate the relative benefit of each one using a 1-9 scale, where 1 means a neglectable one and 9 a grate value requirement

19

QFD

3. Estimate the penalty the client or the business will suffer if the requirements is not included. 1 means a minimum penalty while 9 means a huge loss

4. Create a column - total value – which represents the sum of the benefit and penalty

5. Use a spreadsheet to calculate the percentage of the total value that each item represents (value%)

20

QFD

6. Estimate the implementation cost for each item also using a 1(low) to 9 (High) scale

7. Use the spreadsheet to calculate the percentage of the total cost each item represents (cost%)

8. Estimate the risk each item represents using a 1 to 9 scale

9. Use the spreadsheet to calculate the percentage of the total risk that each item represents (risk%)

21

QFD

• Once we have all the estimative:

• Organize the item using a descending order in priority

Priority = value%____________ (cost%*cost)+(risk%*risk)

22

QFD

Critics:• Semi-quantitative method

• Not very precise

• Depends on personal skills. How well one can estimate benefits, cost and risk

23

Informal Techniques [Leffingwell]

$ 100– Carried out during a meeting

– Each participant is given $ 100 to spend buying requirements

– Write in a piece of paper how much money you would spend in each requirement

– Tabulate results

– Requirements ranking

24

Informal TechniquesCategorization

– off line– Each interested part gets a list of requirements– Classify according to the following criteria

• Critical – indispensable

• Important – represents loss of functionality or loss off market share

• Useful – makes life easier

– Set values 1,2 or 3 (where 1 is critical) – Make a ranking with the results

25

Risk Management

• Occurrences that may impact the project

• Combination of probability and type of consequence

• processes:– identification– Weighing – planning– control

26

Identifying Risks• Conditions, activities, decisions that may affect

the success of the project• Types of risk

– scope (larger/smaller)– evolution– resources– Personal (outsourced, partners, employees)– New technologies– NFR (very tight (rigid) constraints)

27

Identifying risks

• Risk Levels– intolerable– Acceptable if reduction is out of question– Acceptable– negotiable

28

Weighing risks

• Probability– low– Very low– high– Very high

• Risk list sorted by probability

• Risk list sorted by level of risk, type and probability

29

Risk List

Risk level Type of Risk

probability Risk description

30

Planning

• Detecting the sooner the possible from top of the list (level, probability)

• alternatives for correction

• alternatives to live with

31

Control

• Verification points between the global plan and the risk list

• Responsibilities

• Action (following alternatives)

32

Link Requirements to software components

• Also called Traceability, because it must allow one to browse through software products, including the requirements, regarding clients demands.

33

Exemple:User occupies room - Version 1 Goal: establish the procedure for occupied room

Context: 4th floor of building 32 , motion detector in order, user entered roomResource: value T1 Default light scene for this room, Chosen light scene valueActors: user, Control system Episodes: 1. user enters room2. user chooses light scene3. IF room is reoccupied wihtin T1 minutes THEN activate last Chosen light scene 4.IF room is reoccupied after T1 minutes THEN activate Default light scene

Lel entry: Room / RoomsNotion:Part of a hallway section . A room can be a computer lab , an office , a hardware lab , a meeting room, and or a peripheral room .

Behavioral responses:All rooms in a hallway section can be accessed via a connected hallway section For each room , the chosen light scene can be set by using the room control panel For each room , the default light scene can be set by using the room control panel . For each room , the value of T1 can be set by using the room control panel .

34

Requirements traceability

• Definition:– Ability to follow the life of a requirements

• Pre e pos traceability

• Implicit and explicit

• Internal (to the artifact) and external

35

Pre e pos traceability

36

Pre e pos traceability

• Pre traceability:– Before adding to the requirements document

• Where it comes from?• Who suggested?• Why?

• pos traceability:– After something is added to the requirements

document

37

a

bc

d

e

f

g

h

UofD

i

j

REQUIREMENTS

definition

design

implementation

maintenance

problem

software

Req. DocumentReq. DocVersion 3

Req. Doc Version 1

Req. Doc. Version 2

PreTraceability

Postraceability

38

Implicit and explicit• Explicit

– Shows the relationship among artifacts– Develop/create relationships from external

considerations given by team members– implemented (link or explicit indicator)

• Implicit– artifacts show indicative– The relationship among artifacts is manually done

by whom is interested

39

Example

OO Model

40

Why trace???

• Changes in requirements during the development process are natural;

• motives: requirements not identified before; changes in the context; errors fixing; new perspectives from the stakeholders;

• Changes in requirements may implicate changes in design, code, use case tests etc.

Managing Changes

41

Why Trace???

• Aspects related to quality: CMM, CMMI, ISO 9001, SPICE

• CMMI: continued modes in levels (staged): staged is similar to CMM, but includes KPAs (Key Process Areas) as well as some changes

• KPAs level 2 in CMM are strongly related to ISO 9001

Quality Assurance

42

Internal X External

• Internal– Relationship between artifacts of the same type

• For example: scenarios– Other scenarios

– Other versions of the same scenario

• External– Relationship between different artifacts

• Example: scenarios and class diagram

• Example: requirement and Java code

43

traceability (vertical)

Solicitations:

Design:

Requirements:

Especification:

Level 1

Level 2

Level 3

Level 4

44

Changes

• The world is always changing– independent– unexpected

• Lack of planning

• unpredictable

• The requirements process implies in changes– All interested parts get to know the UofD better

45

Changes

TIME

UofD

UofDUofD

46

Changes

Real • New demands• Incomplete

requirements• Inconsistent

requirements

Desired• Fixed requirements• Complete

Requirements• Consistent

Requirements• Clients speaking the

same language

47

Evolution

• Incomplete, inconsistent Requirements– Latency– Decision

• Late binding• Early binding

• Unexpected requirements• Non-planned requirements

Be Prepared for changing !!!

48

References• [Karsenty96] – Karsenty, L. – An Empirical Evaluation of Design Rationale Documents - Proceedings of

the Conference on Human Factors in Computing Systems – CHI’96 – Vancouver, Canada, 1996. pp150 – 156.

• Jirotka95] – Jirotka, M. et al. – Ethnography by Video for Requirements Capture – mini tutorial presented at the in the Second IEEE International Symposium on Requirements Engineering (RE’95) – York, March 27 to 29 - 1995.

• [Carroll94] – Carroll, J.; Alpert, S.; Karat, J.; Van Deusen, M.; Rosson, M. – Raison d’etre: capturing design history and rationale in multimedia narratives. Proceedings of Human Factors in Computing Systems (CHI94) – ACM Press - Boston, USA, 1994. pp. 192-197

• [Conklin96] – Conklin, J.; Burgess-Yakemovic, KC – A process-oriented approach to design rationale - in Design Rationale: Concepts, Techniques and Use, edited by T. Moran and J. Carroll, Lawrence Erlbaum Associates, Publishers – 1996. pp.393-428.

• [Wood94] - Wood, D.P., Christel, M.G. and Stevens, S.M., A Multimedia Approach to Requirements Capture and Modeling, in Proceedings of the First International Conference on Requirements Engineering IEEE Computer Society Press – Colorado Springs, April 18 to 22 - 1994, pp.53-58.

• [Gotel95] – Gotel, O. and Finkelstein, A. – Contribution Structures – in the Proceedings of the Second IEEE International Symposium on Requirements Engineering (RE’95) – York, March 27 to 29 – IEEE Computer Society Press, 1995, pp. 100-107.