Top Banner
© R & D-Ware Oy 1 © Jyrki Kontio, R & D-Ware Oy 01.10.1999 1 Risk Management in Software Engineering An overview of technology and its practice Jyrki Kontio Nokia Telecommunications [email protected] Helsinki University of Technology http://wwwseg.cs.hut.fi R & D-Ware Oy http://www.rdware.com © R & D-Ware Oy 01.10.1999 5 Main Messages l Ad hoc risk management is not enough l Risk is an abstract and subjective concept, communicate clearly l Most current risk mgmt approaches have l overhead plus, it is easy to start with small steps
20

Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

Mar 21, 2018

Download

Documents

lenhu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 1

© Jyrki Kontio, R & D-Ware Oy 01.10.1999 1

Risk Management inSoftware Engineering

An overview of technology and its practice

Jyrki Kontio

[email protected]

Helsinki University ofTechnology

http://wwwseg.cs.hut.fi

R & D-Ware Oyhttp://www.rdware.com

© R & D-Ware Oy 01.10.1999 5

Main Messages

l Ad hoc risk management is not enoughl Risk is an abstract and subjective concept,

communicate clearlyl Most current risk mgmt approaches have

l

overhead◆plus, it is easy to start with small steps

Page 2: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 2

© R & D-Ware Oy 01.10.1999 7

Risky Business

l Any human endeavor is inherently risky

l Software development often involves◆ vague requirements◆ new technologies◆ new ideas or concepts◆ new personnel◆ changing situations and priorities◆ unrealistic plans

è Software development is particularly risky

.. but without risks there is no reward

© R & D-Ware Oy 01.10.1999 10

Why Manage Risks?

l All projects have risks and some risks will occurl Risk management is an investment into the future:

◆ It is often cheaper to avoid a potential problem than fix an occurred one◆ If you only fix problems as they surface, the flow of future problems will

continue to keep you busy

l It is important to know where the risks are to focus on essentialareas in risk

l Intuitive risk management is seldom sufficient in complex, largeprojects

l Improve predictability and control of projectsl Consistent understanding of risks throughout the organizationl Learn from the risks that occurred

Page 3: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 3

© R & D-Ware Oy 01.10.1999 12

Obstacles to Risk Management

l Difficult (impossible?) to measure success in risk managementl Risk management is new, people do not know the possibilitiesl Risk is an abstract phenomenon, it is difficult understandl Some organizations have an internal culture that supports risk

taking and discourages analytical approach to risk.l Most project managers do manage risks but do not make it an

issue.... but maybe they should?l Most organizations do not even have their management act

together (“chaotic processes”)

"If risk management is so hot, how come hardly anyoneis using it?"

© R & D-Ware Oy 01.10.1999 13

What is Risk?

“We don’t have a lot of experience in GUI”“Requirements are unstable”“Excessive time may be spent on GUI development”“Requirements may change”“We may have to rework the GUI”“Extra development effort may need to be spent due to

requirements change”“Project may be late and over budget”

“There is a 50% risk that Joe will quit before system testingphase”

“The use of CASE tool XXX is a risk in the project”“It would be a risk to deliver the prototype too early”

Page 4: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 4

© R & D-Ware Oy 01.10.1999 14

What is Risk?

“We don’t have a lot of experience in GUI”“Requirements are unstable”

Things that contribute to riskRisk factors

“Excessive time spent on GUI development”“Requirements change”

Things that happenRisk events

“GUI reworked”“Extra development effort due to requirements

change”

Consequences of things thathappened

Risk outcomes“Project may be late and over budget” Effects of things that happen

on valued characteristicsRisk effects on goals

“There is a 50% risk that Joe will quit before systemtesting phase”

Probabilities of things thatcould happen

Risk event probability“The use of CASE tool XYZ is a risk in the project”“It would be a risk to deliver the prototype too early”

Anything associated with riskAction, person or object that

is associated to risk

© R & D-Ware Oy 01.10.1999 15

What is Risk

Are these risks?

◆ Frequent, but uncertainsmall problems (e.g., somedays will be lost to sickleave)

◆ Almost certain events (e.g.,some requirements willchange)

◆ Risks that do not effect yourproject (e.g., HW budget isexceeded)

Technically yes, but..

7 Too minor to receivespecial focus, to bemanaged by “normal”management

7 consider them problems

7 delegate them to someoneelse

Page 5: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 5

© R & D-Ware Oy 01.10.1999 16

Levels of Abstraction and Risk

l There is an indefinite number of possible future outcomes◆ All of them cannot be modeled

l What is the right level of abstraction◆ “John will quit on Friday 13th at 13:13 hrs”

◆ “something goes wrong in the project”

l A key in risk management is to find right abstractions of futureoutcomes:◆ detailed enough to provide focus

◆ general enough so that their volume does not overwhelm you

© R & D-Ware Oy 01.10.1999 19

Goals and Stakeholders

l From the concept of loss twoadditional attributes can bederived:◆ goals or expectations: without

them the definition of loss is vagueor does not exist

◆ stakeholder: goals andexpectations are associated tosome interested party, a person oran organization

l The Riskit method uses moreprecise terms to decompose riskinto different elements

Risk

Proba-bility

Loss

ischaracterized

by

ischaracterized

by

Expec-tation

belongs to

Stake-holder

is defined by

Page 6: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 6

© R & D-Ware Oy 01.10.1999 22

Definitions of Probability

l Classic probability◆ Future outcomes are decomposed into atomic, equally

probably components

l Frequency-based probability◆ Ratio of a certain event in an infinite series of identical

trials

l Subjective probability◆ A person’s subjective belief of the likelyhood of an event

occurrence

© R & D-Ware Oy 01.10.1999 24

Risk Management

l Risk management refers to asystematic and explicit approachused for identifying, analyzing andcontrolling risk.

l The risk management processproduces two main outputs:◆ Understanding about risks◆ Controlling actions

Risk mgmtprocess

Understanding of risks

Controlling actions

Information aboutthe situation

Risk mgmtmethods

Page 7: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 7

© R & D-Ware Oy 01.10.1999 26

Main Risk ManagementApproaches

l Barry Boehm’s risk management tutorial and spiralmodel, late 1980’s

l Charette’s risk management books and risk helixmodel, late 1980s to early 1990’s

l SEI’s risk management methods: risk taxonomy andguidebook, 1990’s

l Hall’s risk management principles, 1998

l Increased industry awareness and improved practice

© R & D-Ware Oy 01.10.1999 29

SEI’s Risk ManagementApproach

l The Software Risk EvaluationMethod◆ The risk taxonomy model

– a questionnaire for risk assessment

◆ A complete, defined process for riskmanagement

◆ Team risk management

l Mainly targeted for initial riskevaluation but can also beapplied on continuous basis

l A database of risk identificationresults has been collected

Con

trol

Identify

Ana

lyze

Track

Plan

Communicate

Page 8: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 8

© R & D-Ware Oy 01.10.1999 30

SEI’s Continuous RiskManagement

l Contains detailed process, guidelines and techniques

l A portfolio of of techniques for◆ brainstorming and teamwork◆ structuring information◆ documenting risks◆ analyzing and prioritizing risks

l Open issues◆ Does not discuss underlying assumptions and limitations◆ May lead to large risk management processes

© R & D-Ware Oy 01.10.1999 31

SEI’s Team Risk Management

l Main principles◆ Shared product vision◆ Effective teamwork through a defined process◆ Integrated into the continuous risk management process

l Open issues with SEI’s team risk management◆ What if a shared product vision cannot be reached?◆ Hidden agendas and confidential targets?◆ Different priorities and objectives?

Page 9: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 9

© R & D-Ware Oy 01.10.1999 32

A Generic RiskManagement Process

Practically all riskmanagementmethods have asimilar genericprocess model

Identify

Analyze

Control

Track

Potentialrisks

prioritizedrisks

implementedactions

New information

New threats

Insufficientaction

© R & D-Ware Oy 01.10.1999 33

Risk Identification

l Identification of potentialthreats

l Needs to be donefrequently

l Requires a differentmental attitude:◆ not problem solving

but free association

Techniques:• brainstorming• checklists• questionnaires• history data (lessons

learned, data)• critical path analysis• goal review

Page 10: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 10

© R & D-Ware Oy 01.10.1999 34

Risk Identification Checklists

l SEI Taxonomy (Carr et al. 1993)◆ a comprehensive checklist with a questionnaire

l VTT survey (Laitinen et al. 1993)◆ a survey done in Finland, definitions normalized

l Barki’s survey (1993)◆ 35 risk variables and their impacts

l Moynihan’s personal risk constructs◆ How experienced project managers identify risks

l Capers Jones (1994)◆ Describes 60 most common risks

l Ropponen’s survey (1993)◆ Survey/interviews in Finland

The SEI RiskTaxonomy

A. Product Engineering1. Requirements

a. Stabilityb. Completenessc. Clarityd. Validitye. Feasibilityf. Precedentg. Scale

2. Designa. Functionalityb. Difficultyc. Interfacesd. Performancee. Testabilityf. Hardware Constraintsg. Non-Developmental Software

3. Code and Unit Testa. Feasibilityb. Testingc. Coding/Implementation

4. Integration and Testa. Environmentb. Product Integrationc. System Integration

5. Engineering Specialtiesa. Maintainabilityb. Reliabilityc. Safetyd. Securitye. Human Factorsf. Specifications

B. Development Environment1. Development Process

a. Formalityb. Suitabilityc. Process Controld. Familiaritye. Product Control

2. Development Systema. Capacityb. Suitabilityc. Usabilityd. Familiaritye. Reliabilityf. System Supportg. Deliverability

3. Management Processa. Planningb. Project Organizationc. Management Experienced. Program Interfaces

4. Management Methodsa. Monitoringb. Personnel Managementc. Quality Assuranced. Configuration Management

5. Work Environmenta. Quality Attitudeb. Cooperationc. Communicationd. Morale

C. Program Constraints1. Resources

a. Scheduleb. Staffc. Budgetd. Facilities

2. Contracta. Type of contractb. Restrictionsc. Dependencies

3. Program Interfacesa. Customerb. Associate Contractorsc. Subcontractorsd. Prime Contractore. Corporate Managementf. Vendorsg. Politics

Page 11: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 11

© R & D-Ware Oy 01.10.1999 36

Checklists vs. Brainstorming

Checklistsl Pros

◆ Fast and easy to use◆ Standardize results◆ Cover a broad area◆ May prompt thinking new risks

l Cons◆ Cause fatigue◆ Do not encourage creativity◆ May be biased due to a

different domain◆ Do not encourage finding

situation specific risks

Brainstormingl Pros

◆ Fast and easy to use◆ Leverages local expertise and

insight◆ Keeps participants active◆ Develops commitment

l Cons◆ Require facilitation or training◆ Meeting dynamics may bias

results◆ Dependent on participants

experience

© R & D-Ware Oy 01.10.1999 37

Risk Identification Guidelines

l Start with open brainstorming◆ Learn and use an effective technique

l Perform focused brainstorming◆ by project area, stakeholder, goal, technical area, etc.

l Use checklists to ensure sufficient coverage◆ Use as discussion points◆ May also be used after meeting to produce off-line risk lists◆ Accumulate your experience to customize your

checklists !

Page 12: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 12

© R & D-Ware Oy 01.10.1999 38

Risk Analysis

l Understanding (describing) risks◆Risk tracking tables◆Risk information forms◆Visualization of risk dependencies

l Ranking of risks◆Risk exposure (I.e., probability * loss)

◆Risk reduction leverage◆Urgency

© R & D-Ware Oy 01.10.1999 42

Understanding Risks:Riskit Analysis Graphs

Riskit Analysis Graphs◆ Structure risk information◆ Visualize links between risk elements◆ Can link different risk scenarios and their interactions◆ Can be used in textual form◆ Can be used in a simple form or scale up when details are

required

Factor

Risk factor

Event

Risk event

Reaction

Risk reaction

Effect set

Effect 1Effect 2

Outcome

Risk outcome

Page 13: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 13

© R & D-Ware Oy 01.10.1999 43

Risk DocumentationGuidelines

l Templates standardize communications

l Use an approach that matches your needs

l Develop a path to refine the information◆ you often start with an abstract description and add details

later

l Do not fill in information that you do not know: emptyfields act as flags to others

l Archive past data◆ useful for learning from experience

© R & D-Ware Oy 01.10.1999 44

Risk Prioritization

l Key attributes in prioritization:◆ Probability and loss determine how severe (=big) the risk is◆ Urgency indicates whether you still have time to wait

l Two main approaches for ranking risks:◆ Expected value of loss = prob(event) * loss(event)◆ Ranking through tables

– ordinal rank multiplication– prearranged ranking tables for ordinal probability and loss estimates– risk factor ranking tables

l Both approaches have some problems ...

Page 14: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 14

© R & D-Ware Oy 01.10.1999 45

Expected Value Calculations

l Probability◆ In a changing environment the real probabilities of events

are not only difficult to estimate, they are unknowable!◆ Probability is defined as subjective probability, a person’s

degree of belief that an event will occur◆ “Probability estimates are probably inaccurate, but that’s all

we’ve got”

l Ranking of losses is non-trivial◆ How to deal with multiple goal effects?◆ Use of direct metrics can lead to incorrect risk rankings

© R & D-Ware Oy 01.10.1999 47

Let’s Play a Game ...

l You must choose between two gambles:◆ 100% probability of losing $20 100% * -$20 = -$20◆ 1% probability of losing $2,000 1% * -$2,000 = -$20

Will you play?l How about this game:

◆ 100% probability of losing $20 100% * -$20 = -$20◆ 1% probability of losing $1,900 1% * -$1,900 = -$19

l Last bid:◆ 100% probability of losing $20 100% * -$20 = -$20◆ 1% probability of losing $800 1% * -$800 = -$8

Page 15: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 15

© R & D-Ware Oy 01.10.1999 48

Utility Theory

l Expected loss cannotaccount for non-linearutility function

l Most fields assumenon-linear utilityfunctions

l Riskit evaluatesexpected utility loss

Util

ity lo

ss

Loss

Non-linearutility function

Loss = Utility loss

Bias

© R & D-Ware Oy 01.10.1999 55

Risk Control Planning

l Two main steps◆Defining potential risk controlling actions

–what techniques can be used

◆Selecting risk controlling actions to beimplemented–What strategies can be used in selection

Page 16: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 16

© R & D-Ware Oy 01.10.1999 56

Defining Risk ControllingActions

l Brainstorming◆ Open or focused

l Strategies (Hall, 1997)

l Checklists (Riskit)

l Risk element review (Riskit)◆ analyze risk elements to identify

what actions could be taken

l Experience◆ Personal experience and insights

AcceptanceAvoidanceProtectionReductionResearchReservesTransfer

© R & D-Ware Oy 01.10.1999 57

Selecting Risk ControllingActions

l Control high-risk scenarios

l Effectiveness of risk controlling action

l Project constraints

l Stakeholder priority

l Urgency of riskcontrolling action

time

PresentRisk eventoccurence

risk controlling actionimpact delay

Risk controlling actionimplementation margin

(=urgency)

risk reduction leverage = Expected utility loss Expected utility loss

Cost of risk controlling actionbefore after−

Page 17: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 17

© R & D-Ware Oy 01.10.1999 58

Dealing with Probability, Lossand Urgency

l Probability and (utility) loss characterize themagnitude of risk

l Urgency is a function of risk and controlling actions

l Urgency prompts a decision about a controllingaction, it does not prioritize risks per se➨Risk & timeframe ranking tables are

misleading

med

med

hi med

lo

Urgency

Risk

© R & D-Ware Oy 01.10.1999 59

Conclusions on RiskManagement Process

l Deploy a portfolio of techniques

l Be aware of assumptions and problems with varioustechniques

l The process itself is as important as the outputs

l Start simple and scale up and refine information asrequired

Page 18: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 18

© R & D-Ware Oy 01.10.1999 64

Levels of Risk Management

Invisible RM There is no evidence of risk management activities taking place inprojects, all risk management is intuitive and implicitly included inproject management.

Ad hoc RM Project managers occasionally perform risk management activitiesout of their own initiative.

Suggested RM There are templates for documenting the output of risk managementactivities, such as a risk management section in the project plan orrisk list section in project progress report. However, these sectionsare not required in actual plans or reports.

Required RM The output of risk management activities is formally required andtracked from projects: a risk management plan is required and risklists are frequently reported, updated and tracked.

Supported RM There exists a defined process for performing risk management inan organization, including methods, tools, guidelines and supportinginfrastructure.

Improving RM There exists a systematic process for capturing risk managementexperience and improving risk management practices based on thisexperience.

© R & D-Ware Oy 01.10.1999 69

Steps Towards Success:What Should You Do?

l Provide risk mgmt training to your project and line managersl Make sure that your project plan templates have a detailed

section on risk management (process, risks, actions)l Make sure that your progress reports include a list of top n

risks and their controlling actionsl Make sure that an explicit risk identification session is held for

each project◆ Introduce brainstorming techniques◆ Find and customize a checklist

l Introduce a systematic method and supportl Enforce the processl Accumulate experience

Page 19: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 19

© R & D-Ware Oy 01.10.1999 70

Summary

l Risk management will◆ avoid some, not all, of the potential problems◆ make participants understand project goals and risks more realistically

l Risk management needs to be supported to◆ guarantee that it is done frequently enough◆ maintain consistency in risk management

l Many existing approaches have built-in biases◆ they may work on practice but be aware of these limitations, some

limitations are serious

l Select the methods according to your needs◆ start simple, gain experience◆ scale up as your needs and experience grows

© R & D-Ware Oy 01.10.1999 71

Recommended Books

l Peter L. Bernstein. Against the Gods, New York:JohnWiley & Sons, 1996.

l Continuous Risk Management Guidebook,Pittsburgh, PA:Software Engineering Institute, 1996.

l Elaine M. Hall. Managing Risk: Methods for SoftwareSystems Development, Reading:Addison-WesleyPub Co., 1998.

l Barry W. Boehm. Tutorial: Software Risk Management, IEEEComputer Society Press, 1989.

l Robert N. Charette. Software Engineering Risk Analysis andManagement, New York:McGraw-Hill, 1989.

l Robert N. Charette. Applications Strategies for Risk Analysis,New York:McGraw-Hill, 1990.

Page 20: Risk Management in Software Engineering - cs. · PDF fileRisk Management in Software Engineering An overview of technology and its practice Jyrki Kontio ... l Risk management is new,

© R & D-Ware Oy 20

© R & D-Ware Oy 01.10.1999 72

Main References

H. Barki, S. Rivard, and J. Talbot, Toward an Assessment of Software Development RiskJournal of Management Information Systems, vol. 10, pp. 203-225, 1993.

V. R. Basili. Software Modeling and Measurement: The Goal/Question/Metric Paradigm.Computer Science Technical Report Series. College Park, MD:University of Maryland.CS-TR-2956, 1992.

B. W. Boehm. Tutorial: Software Risk Management, B.W. Boehm (Ed). IEEE ComputerSociety Press, 1989.

M. J. Carr, S. L. Konda, I. Monarch, F. C. Ulrich, and C. F. Walker. Taxonomy-BasedRisk Identification, SEI Technical Report SEI-93-TR-006, Pittsburgh, PA: SoftwareEngineering Institute, 1993.

R. N. Charette. Software Engineering Risk Analysis and Management, New York:McGraw-Hill, 1989.

C. Jones. Assessment and Control of Software Risks, Englewood Cliffs: Yourdon Press,1994.

J. Kontio, The Riskit Method for Software Risk Management, version 1.00 1997.Computer Science Technical Reports. University of Maryland. College Park, MD.

© R & D-Ware Oy 01.10.1999 73

Main References (cont.)

J. Kontio and H. Englund, Experiences from an Exploratory Case Study with a SoftwareRisk Management Method 1996. Computer Science Technical Reports. University ofMaryland. College Park, Maryland.

L. Laitinen, S. Kalliomäki, and K. Känsälä. Ohjelmistoprojektien Riskitekijät,Tutkimusselostus N:o L-4, Helsinki: VTT, Tietojenkäsittelytekniikan Laboratorio, 1993.

F. W. McFarlan, Portfolio approach to information systems, Harvard Business Review,vol. pp. 142-150, 1974.

T. Moynihan, How Experienced Project Managers Assess Risk IEEE Software, vol. 14,pp. 35-41, 1997.

G. Pandelios, T. P. Rumsey, and A. J. Dorofee, Using Risk Management for SoftwareProcess Improvement, 1996. Proceedings of the 1996 SEPG Conference. SEI.Pittsburgh.

J. Ropponen, Risk Management in Information System Development TR-3, 1993.Computer Science Reports. University of Jyväskylä, Department of Computer Scienceand Information Systems. Jyväskylä.

W. D. Rowe. An Anatomy of Risk, New York: John Wiley & Sons, 1977.