48
1 Management : Management :

1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

Embed Size (px)

Citation preview

Page 1: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

1

Management :Management :

Page 2: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

2

Requirements Management

Requirements

Elicit requirements

Model requirements

validate requirements

Manage evolution

implement traceability

Page 3: 1 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

Page 4: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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)

Page 5: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 6: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

6

Version Control

• Coordinate and manage objects in evolution

• Successive Refinements– requirements– models– code

• Keep intermediary versions

• Log of changes

Page 7: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

7

Management

• Escope

• Changes

• Risc

• Traceability

• Prioritization

Page 8: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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)

Page 9: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 10: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

10

What is Scope?

• Combination of functionality, resources and time

ESCOPE

Time

RESOURCES

Due Date

Page 11: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 12: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 13: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

13

Controlling the scope

• Crawling Requirements – New functionality– modifications

• requirements

• bigger scope

SAY NO !!!

Page 14: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

14

What means to Prioritize? [Wiegers]

• Trade off between:– scope– time– resources

• Assure that the Essential is done

Page 15: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

15

Why prioritize?

• High Expectations

• Short Time

• Limited Resources

• Saying:

“We do what we can not what we want”

Page 16: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

16

Prioritization techniques

• Formal– QFD

• Informal– CAN 100– Categorize

Page 17: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

17

QFD (quality function deployment)

• Participants:– Manager– Key figures – developers

[Cohen95/Wiegers]

Page 18: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 19: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 20: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 21: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

21

QFD

• Once we have all the estimative:

• Organize the item using a descending order in priority

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

Page 22: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

22

QFD

Critics:• Semi-quantitative method

• Not very precise

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

Page 23: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 24: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 25: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

25

Risk Management

• Occurrences that may impact the project

• Combination of probability and type of consequence

• processes:– identification– Weighing – planning– control

Page 26: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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)

Page 27: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

27

Identifying risks

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

Page 28: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 29: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

29

Risk List

Risk level Type of Risk

probability Risk description

Page 30: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

30

Planning

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

• alternatives for correction

• alternatives to live with

Page 31: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

31

Control

• Verification points between the global plan and the risk list

• Responsibilities

• Action (following alternatives)

Page 32: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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.

Page 33: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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 .

Page 34: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 35: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

35

Pre e pos traceability

Page 36: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement 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

Page 37: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 38: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 39: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

39

Example

OO Model

Page 40: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 41: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 42: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 43: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

43

traceability (vertical)

Solicitations:

Design:

Requirements:

Especification:

Level 1

Level 2

Level 3

Level 4

Page 44: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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

Page 45: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

45

Changes

TIME

UofD

UofDUofD

Page 46: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

46

Changes

Real • New demands• Incomplete

requirements• Inconsistent

requirements

Desired• Fixed requirements• Complete

Requirements• Consistent

Requirements• Clients speaking the

same language

Page 47: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

47

Evolution

• Incomplete, inconsistent Requirements– Latency– Decision

• Late binding• Early binding

• Unexpected requirements• Non-planned requirements

Be Prepared for changing !!!

Page 48: 1 Management :. 2 Requirements Management Requirements Elicit requirements Model requirements validate requirements Manage evolution implement traceability

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.