Скачать презентацию Management I 1 Requirements Management Elicit requirements Скачать презентацию Management I 1 Requirements Management Elicit requirements

fd814c56498ddf4fb31b166c113812e1.ppt

  • Количество слайдов: 64

Management I: 1 Management I: 1

Requirements Management Elicit requirements implement traceability Requirements Model requirements Manage evolution validate requirements 2 Requirements Management Elicit requirements implement traceability Requirements Model requirements Manage evolution validate requirements 2

Why Metrics are important • Without metrics we can not communicate in a precise Why Metrics are important • Without metrics we can not communicate in a precise manner. “ When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you can not measure it, and when you can not express it in numbers, your knowledge is of a meagre and unsatisfactory kind. “ (Lord Kelvin) http: //www. groups. dcs. stand. ac. uk/~history/Mathematicians/Thomson. html • The requirements process (as well as the whole software development process) must have associated metrics, to allow one to demonstrate benefits in a transparent way. 3

Configuration Management • Change Control • Version Control • Access to different configurations 4 Configuration Management • Change Control • Version Control • Access to different configurations 4

Definitions • Component (artifact) version – component + modifications – Temporal axis – Initial Definitions • Component (artifact) version – component + modifications – Temporal axis – Initial component (1 a. 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 – 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 Version Control • Coordinate and manage objects in evolution • Successive Refinements – requirements – models – code • Keep intermediary versions • Log of changes 7

rsi on Example Ve Configuration V Configuration IV Configuration III Configuration I Where C rsi on Example Ve Configuration V Configuration IV Configuration III Configuration I Where C – Scenario V - Version 8

Management • • • Escope Changes Risc Traceability Prioritization 9 Management • • • Escope Changes Risc Traceability Prioritization 9

Requirement Management • Manage Requirements is to ensure all clients requests are being examined 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) 10

Requirement Management • It is orthogonal to the process of requirements definition (elicitation, modelling Requirement Management • It is orthogonal to the process of requirements definition (elicitation, modelling and analysis) • Supervene the whole process of software development and evolution 11

Requirements Management 12 Requirements Management 12

What is Scope? • Combination of functionality, resources and time RESOURCES ESCOPE Time Due What is Scope? • Combination of functionality, resources and time RESOURCES ESCOPE Time Due Date 13

Scope • Problems: – NFR: May consume a big portion of time and resources 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 14

Controlling the scope • “Since” Syndrome – keep adding requirements • Caper Jones reports 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 15

Controlling the scope • Crawling Requirements – New functionality – modifications • requirements • Controlling the scope • Crawling Requirements – New functionality – modifications • requirements • bigger scope SAY NO !!! 16

What is Prioritize? [Wiegers] • Trade off between: – scope – time – resources What is Prioritize? [Wiegers] • Trade off between: – scope – time – resources • Assure that the Essential is done 17

Why prioritize? • High Expectations • Short Time • Limited Resources • Saying: “We Why prioritize? • High Expectations • Short Time • Limited Resources • Saying: “We do what we can not what we want” 18

Prioritization techniques • Formal – QFD • Informal – CAN 100 – Categorize 19 Prioritization techniques • Formal – QFD • Informal – CAN 100 – Categorize 19

QFD (quality function deployment) • Participants: – Manager – Key figures – developers [Cohen QFD (quality function deployment) • Participants: – Manager – Key figures – developers [Cohen 95/Wiegers] 20

QFD • Steps of the process: 1. List in a spreadsheet the requirements, functionality 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 21

QFD 3. Estimate the penalty the client or the business will suffer if the 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%) 22

QFD 6. Estimate the implementation cost for each item also using a 1(low) to 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%) 23

QFD • Once we have all the estimative: Priority = value%______ (cost%*cost)+(risk%*risk) • Organize QFD • Once we have all the estimative: Priority = value%______ (cost%*cost)+(risk%*risk) • Organize the item using a descending order in priority 24

QFD Critics: • Semi-quantitative method • Not very precise • Depends on personal skills. QFD Critics: • Semi-quantitative method • Not very precise • Depends on personal skills. How well one can estimate benefits, cost and risk 25

Informal Techniques [Leffingwell] CAN 100 – Carried out during a meeting – Each participant Informal Techniques [Leffingwell] CAN 100 – Carried out during a meeting – Each participant is given CAN 100 to spend buying requirements – Write in a piece of paper how much money you would spend in each requirement – Tabulate results – Requirements ranking 26

Informal Techniques Categorization – off line – Each interested part gets a list of Informal Techniques Categorization – off line – Each interested part gets a list of requirements – Classify according 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 27

Risk Management • Occurrences that may impact the project • Combination of probability and Risk Management • Occurrences that may impact the project • Combination of probability and type of consequence • processes: – identification – Weighing – planning – control 28

Identifying Risks • Conditions, activities, decisions that may affect the success of the project 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) 29

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

Weighing risks • Probability – low – Very low – high – Very high Weighing risks • Probability – low – Very low – high – Very high • Risk list sorted by probability • Risk list sorted by level of risk, type and probability 31

Risk List Risk level Type of Risk probability Risk description 32 Risk List Risk level Type of Risk probability Risk description 32

Planning • Detecting the sooner the possible from top of the list (level, probability) Planning • Detecting the sooner the possible from top of the list (level, probability) • alternatives for correction • alternatives to live with 33

Control • Verification points between the global plan and the risk list • Responsibilities Control • Verification points between the global plan and the risk list • Responsibilities • Action (following alternatives) 34

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

Exemple: User occupies room - Version 1 Lel entry: Room / Rooms Notion: Part Exemple: User occupies room - Version 1 Lel entry: Room / Rooms Notion: 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. Goal: establish the procedure for occupied room Behavioral responses: All rooms in a hallway section can be accessed via a Context: 4 th floor of building 32 , motion detector in order, section entered connected hallway user For each room , the chosen light scene can be set by room using the room control panel For each Chosen light Resource: value T 1 Default light scene for this room, room , the default light scene can be set by using the room control panel. scene value For each room , the value of T 1 can be set by using the room control panel. Actors: user, Control system Episodes: 1. user enters room 2. user chooses light scene 3. IF room is reoccupied wihtin T 1 minutes THEN activate last Chosen light scene 4. IF room is reoccupied after T 1 minutes THEN activate Default light scene 36

User occupies room - Version 3 Goal : establish the procedure for occupied room User occupies room - Version 3 Goal : establish the procedure for occupied room Context: 4 th floor of building 32 , motion detector in order, user entered room Resource: value T 1, outdoor light sensor last correct management value, Default light scene for this room, Chosen light scene value, Actors: user, Central Control, outdoor light sensor , Control panel, room Episodes: 1. user enters room 2. In case of malfunction , outdoor light sensor sends last correct measurement to room 3. user chooses light scene using the Control panel Exception: user input is not reasonable 4. IF room is reoccupied wihtin T 1 minutes THEN activate last Chosen light LEL entry: Room/Rooms scene stored in room Notion: CRC card corresponding to the concept 5. IF room is reoccupied after T 2 minutes THEN activate Default of a scene light room stored in room Behavioral responses: keep the outdoor light sensor measurements store value T 1 IF room is reoccupied within T 1 minutes THEN activate last chosen light scene IF room is reoccupied after T 1 minutes THEN activate default light scene store chosen light scene store moment when person left the room 37

How can we keep register of the relationships between scenario versions and corresponding versions How can we keep register of the relationships between scenario versions and corresponding versions of the lexicon ? Traceability 38

Requirements traceability • Definition: – Ability to follow the life of a requirements • Requirements traceability • Definition: – Ability to follow the life of a requirements • Pre e pos traceability • Implicit and explicit • Internal (to the artifact) and external 39

Pre e pos traceability 40 Pre e pos traceability 40

Pre e pos traceability • Pre traceability: – Before adding to the requirements document 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 41

Uof. D a e c Pre Traceability g b i d problem f j Uof. D a e c Pre Traceability g b i d problem f j h REQUIREMENTS Req. Doc Version 1 Pos traceability definition Req. Doc. Version 2 Req. Doc Version 3 Req. Document design software implementation maintenance 42

Implicit and explicit • Explicit – Shows the relationship among artifacts – Develop/create relationships 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 43

Example OO Model 44 Example OO Model 44

Why Tracing ? ? ? • Follow requirements evolution during development; register status of Why Tracing ? ? ? • Follow requirements evolution during development; register status of each requriements relating it to development, accepted changes and associated justifications • Stablish a common view between the client and the development team as for which requirements will be met. Project Management 45

Why trace? ? ? • Changes in requirements during the development process are natural; Why trace? ? ? • Changes in requirements during the development process are natural; • motives: needs 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 46

Why Trace? ? ? • Aspects related to quality: CMM, CMMI, ISO 9001 • Why Trace? ? ? • Aspects related to quality: CMM, CMMI, ISO 9001 • 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 47

Internal X External • Internal – Relationship between artifacts of the same type • Internal X External • Internal – Relationship between artifacts of the same type • For example: scenarios – Other versions of the same scenario • External – Relationship between different artifacts • Example: scenarios and class diagram • Example: requirement and Java code 48

traceability (vertical) Solicitations: Level 1 Requirements: Level 2 Especification: Level 3 Design: Level 4 traceability (vertical) Solicitations: Level 1 Requirements: Level 2 Especification: Level 3 Design: Level 4 49

Traceability (matrix) Components C 1 C 2 Software Requirements R 1 R 2 X Traceability (matrix) Components C 1 C 2 Software Requirements R 1 R 2 X R 3 X . . . X C 3. . . 50

How to annotate 1 Date: version____ Hour: User: Trigger Date: Authorization: TAG 51 How to annotate 1 Date: version____ Hour: User: Trigger Date: Authorization: TAG 51

 • Misses …. » Why? 52 • Misses …. » Why? 52

Capturing Justifications • Goal: Capture the reasons behind design decisions • Some techniques: – Capturing Justifications • Goal: Capture the reasons behind design decisions • Some techniques: – IBIS – Multimedia 53

IBIS Issue Based Information Systems [Conklin 96] • Model based in dialogs • Dialectic IBIS Issue Based Information Systems [Conklin 96] • Model based in dialogs • Dialectic Process – Root subject – Discussion – 1 or more positions are shown supporting or against the root – Summary – And so on …. • Support hypermedia G-Ibis 54

Multimedia [Carroll 94, Jirotka 95, Woods 94, Karsenty 96] • • Capture and register Multimedia [Carroll 94, Jirotka 95, Woods 94, Karsenty 96] • • Capture and register requirements Closer format to the original Avoid loss of important information Critics: – Huge work to transcribe the sections – Difficult to access information 55

Evolution The world is in constant evolution • Have you changed your mind recently Evolution The world is in constant evolution • Have you changed your mind recently ? • Learned anything new ? • Tasted something different? Requirements are also evolving 56

Evolution • Mistake: “freeze requirements” • Enhances requirements comprehension – Gets easier to see Evolution • Mistake: “freeze requirements” • Enhances requirements comprehension – Gets easier to see requirements – Better definition • errors • facts external to the system – Changes in the Uof. D • unexpected 57

Question • How to register, make available and manage these changes ? Requirements Baseline Question • How to register, make available and manage these changes ? Requirements Baseline 58

http: //stones. les. inf. puc-rio. br/karin/exemplo/index. html Evolution 59 http: //stones. les. inf. puc-rio. br/karin/exemplo/index. html Evolution 59

Changes • The world is always changing – independent – unexpected • Lack of 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 Uof. D better 60

Changes Uof. D TIME 61 Changes Uof. D TIME 61

Changes Real Desired • New demands • Incomplete requirements • Inconsistent requirements • Fixed Changes Real Desired • New demands • Incomplete requirements • Inconsistent requirements • Fixed requirements • Complete Requirements • Consistent Requirements • Clients speaking the same language 62

Evolution Be Prepared for changing !!! • Incomplete, inconsistent Requirements – Latency – Decision Evolution Be Prepared for changing !!! • Incomplete, inconsistent Requirements – Latency – Decision • Late binding • Early binding • Unexpected requirements • Non-planned requirements 63

References • [Karsenty 96] – Karsenty, L. – An Empirical Evaluation of Design Rationale References • [Karsenty 96] – Karsenty, L. – An Empirical Evaluation of Design Rationale Documents - Proceedings of the Conference on Human Factors in Computing Systems – CHI’ 96 – Vancouver, Canada, 1996. pp 150 – 156. • Jirotka 95] – 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. [Carroll 94] – 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 (CHI 94) – ACM Press - Boston, USA, 1994. pp. 192 -197 • • [Conklin 96] – 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. [Wood 94] - 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. [Gotel 95] – 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. 64