Datateknik LTH

Visa påGitHub

Kurser / ETSF01-ingproc3 / summaries / lect1_risk_management

Risk Management

A risk is a potential problem; a problem is a risk that has materialized

[Fairley 1994]

What can go wrong?

  • Staff turn-around: quit, moved to other project, illness
  • Tools do not work as anticipated
  • Requirements change more than expected
  • Effort estimates were wrong
  • Expected input/deliveries are delayed
  • Quality is not good enough in the end of the project

What is risk?

"An uncertain event or condition that, if it occurs, has a positive or negative effect on a project's objective" It consists of both a cause and an effect For example:

  • Use of new compiler (cause)

    • Integration problem && delayed training phase (effect)
  • Low top management priority in Project A (cause)

    • Resources (staff) moved from project A to another project (effect)

Risky commitments - Overscoping

The main risk of overscoping is that the project target (scope) will not be met in time and on budget (cost/effort).

  • The traditional dev model (waterfall) - sequential & doc-driven

    • "overpromise software capabilities in cortractually binding requirements specification before they understand their risk implications."
  • Agile dev model (XP/Scrum) - iterative & code driven

    • "... neat ideas... I'll code 'em up, and if they don't fit other peoples ideas, we'll just evolve things until they work."

Risk Management

  • Risk Assessment
    • Identification (What might go wrong?)
    • Analysis & prioritization (What are the most serious risks?)
  • Control of risk
    • Planning & Resolution
    • Monitoring

Approaches to risk identification:

Includes but isn't limited to: * Use of checklists, check which risks may come up based on previous experience. * Brainstorming - getting knowledgeable stakeholders together to pool concerns. * Casual mapping - Identifying possible chains of cause and effect using a map.

Causal mapping (Applied example)
                                (DELAY IN PROJECT!)                                           
                               /                  \                
                              /                    \              
                             /                 (People need education)                     
                            /                            \              
                           /                              \              
                          /                                \              
(Unrealistic schedule estimates)                      (Lack of skill)

Risk assessment

Risk exposure = Potential Damage * Probability

  • Not neccesary nor possible to give exact estimates: Qualitative descriptors , e.g High, Significant, Moderate and Low.
  • Pripritizethe worst risks (high probability and large damage)
METHOD: Cost-Probability Matrix
(cost)        _____________________________
             |       |xxxxxx|xxxxxx|xxxxxxx|
High         |       |xxxxxx|xxxxxx|xxxxxxx|                         
             |_______|xxxxxx|xxxxxx|xxxxxxx|    
             |       |      |      |xxxxxxx|
Significant  |       |      |      |xxxxxxx|                              
             |_______|______|______|xxxxxxx|      
             |       |      |      |       |
Moderate     |       |      |      |       |                                
             |_______|______|______|_______|      
             |       |      |      |       |
Low          |       |      |      |       |
             |_______|______|______|_______|
                Low    Med    Med+    High   (probability)                      

The worst risks are indicated by X'es since they both have a high cost and probability.

METHOD: Decision Tree

In this scenario we ponder on wether or not to extend or replace a system. The outcome of this depends on if the market expands or not. If we extend the system and the market expands we lose -100.000$, if it doesn't expand we will gain 75.000$. If we replace the system and the market expands we gain 250.000$, if it doesn't expand we lose 50.000$ ```

                ,_______________     Net Product Value (NPV)                                               
  ,____________/ (20%) Expansion     -100.000 $                                                     
 /   Extend    \ (80%) No Expansion   75.000 $                                                             
/               `---------------                                        

/
/
D
\
\
\ ,_______________
-------------´ (20%) Expansion 250.000 $ Replace \ (80%) No Expansion -50.000 $ ---------------
``` If we extend the risk exposure is: RE = -100.000 * 0.2 + 75.000 * 0.8 = 40.000 And if replace the risk exposure is: RE = 250.000 * 0.2 - 50.000 * 0.8 = 10.000 Therefore in this example we should obviously EXTEND THE SYSTEM!!!!!!

Risk planning: There are five alternatives:

AARMT * A cceptance * A voidance - Find a risk-free solution. * R eduction - Reduce probability * M itigation - Reduce damage, e.g. taking backups * T ransfer - e.g. outsource

METHOD: Risk reduction leverage

Risk reduction leverage is a method of comparing different options by comparing risk exposures.

RRL = (RE_before - RE_after)/(cost of risk reduction)

RE_before is risk expose before risk reduction, e.g. 1% chance of a fire causing $200k dmg.

RE_after is risk exposure after risk reduction, e.g. $500 alarm which reduced probability of fire dmg by 0.5%

RRL = (1% of $200k - 0.5% of $200k)/$500 = 2 RRL > 1.00 therefore worth doing

The risk of delays in completing activities, examples.

| Risk | | ---- | | Personell shortfalls | | Unrealistic time and cost estimates | | Developing the wrong software functions | | Developing the wrong user interface | | Gold plating | | Late changes to requirements | | Shortfalls in externally supplied components | | Shortfalls in externally performed tasks | | Real time performance problems | | Development technically too difficult |

METHOD: Using PERT

PERT = Program Evaluation and Review Technique

PERT - A statistical tool for analysing completion time

Method

Three estimates are produced for each activity (task)

  • (m) Most likely time
  • (a) Optimistic time
  • (b) Pessimistic
  • (t_e) 'expected time' t_e = (a +4m +b)/6
  • (S) 'activity standard deviation' S = (b-a)/6
Calculations

Suppose the dependecies are as such: ```


|TASK A| -> |TASK B| -> |TASK C|
¨¨¨¨¨¨ ¨¨¨¨¨¨ ¨¨¨¨¨¨ ```

| Task | a | m | b | t_e | s | |------|---|---|---|-----|---| | A | 10| 12| 16| 13 | 1 | | B | 8 | 10| 14| 10 | 1 | | C | 20| 24| 38| 26 | 3 | |A+B+C | | | | 49 | 3 |

The calculations are completed. Just use the previously mentioned formulae if you want to review them.

Assessing the likelihood of meeting a target
  • Imagine now that the target for completing A+B+C was 52 days.
  • Calculate the Z-value as (T - t_e)/s = (52 - 48.65) / 3.32 = 1.01
  • Match the Z-value with a probability by using a pre-existing table.

Which results in a 15% chance of NOT meeting the target 52 days. And that's PERT for you, kids!

Problems with estimates of task duration

  • Estimators usually add a safety zone to cover difficulties
  • Developers work to the estimate, meaning the time is lost
  • No advantage is taken of opportunities where tasks can finish early - and provide a buffer for later activities

Parkinson's law:

Work expands so as to fill the time available for its completion

=> All buffers are usually consumed by end of the project.

Basic Ideas of Critical Chain

To reduce time wasted, a critical chain is constructed as such:

 _____ __
|_____'__| ____ __
          |____'__| ___ __
                   |___'__|

Move all buffers to the end and halve them.

 _____
|_____| ____ 
       |____| ___ ___
             |___'___|

Thus, the buffers have been reduced in half so that people don't waste time!!!

Critical Chain Approach

  1. Ask the estimators for two estimates
    • Most likely duration: 50% chance of meeting this
    • Comfort zone: additional time needed to have 95% chance
  2. Schedule all activities using most likely values and starting all activities on latest start date
  • “Critical chain” the same as “critical path” but resources also considered
  • Put a project buffer at the end of the critical chain with duration 50% of sum of comfort zones of the activities on the critical chain
  • During project execution monitor how much of the buffer that has been used
  • Supported in tools, e.g. through add-on to MS Project

Executing and monitoring Critical Chain plans

  • Principle: focus your efforts - ”multitasking is evil”
    • No chain of tasks is started earlier than scheduled, but once it has started is finished as soon as possible
    • This means the activity following the current one starts as soon as the current one is completed, even if this is early – the relay race principle
  • Fever charts are used to monitor progress and catch tasks at risk

Summary of Risk Management

  • Definition of ‘risk’ and ‘risk management’
  • Risk management
    • Risk identification – what are the risks to a project?
    • Risk analysis – which ones are really serious?
    • Risk planning – what shall we do?
    • Risk monitoring – has the planning worked?
  • Methods: causal mapping, probability impact matrix, decision trees
  • Managing risk of delay with PERT and critical chain