Risk Strategies
- Reactive strategies - very common, also known as fire fighting, project
team sets resources aside to deal with problems and does nothing until a risk
becomes a problem
- Proactive strategies - risk management begins long before technical work
starts, risks are identified and prioritized by importance, then team builds a
plan to avoid risks if they can or minimize them if the risks turn into
problems
Software Risks
- Project risks - threaten the project plan
- Technical risks - threaten product quality and the timeliness of the
schedule
- Business risks - threaten the viability of the software to be built
(market risks, strategic risks, management risks, budget risks)
- Known risks - predictable from careful evaluation of current project plan
and those extrapolated from past project experience
- Unknown risks - some problems simply occur without warning
Risk Identification
- Product-specific risks - the project plan and software statement of scope
are examined to identify any special characteristics of the product that may
threaten the project plan
- Generic risks - are potential threats to every software product (product
size, business impact, customer characteristics, process definition,
development environment, technology to be built, staff size and experience)
Risk Impact
- Risk components - performance, cost, support, schedule
- Risk impact - negligible, marginal, critical, catastrophic
- The risk drivers affecting each risk component are classified according to
their impact category and the potential consequences of each undetected
software fault or unachieved project outcome are described
Risk Projection (Estimation)
- Establish a scale that reflects the perceived likelihood of each risk
- Delineate the consequences of the risk
- Estimate the impact of the risk on the project and product
- Note the overall accuracy of the risk projection to avoid
misunderstandings
Risk Table Construction
- List all risks in the first column of the table
- Classify each risk and enter the category label in column two
- Determine a probability for each risk and enter it into column three
- Enter the severity of each risk (negligible, marginal, critical,
catastrophic) in column four
- Sort the table by probability and impact value
- Determine the criteria for deciding where the sorted table will be divided
into the first priority concerns and the second priority concerns
- First priority concerns must be managed (a fifth column can be added to
contain a pointer into the RMMM)
Assessing Risk Impact
- Factors affecting risk consequences - nature (types of problems arising),
scope (combines severity with extent of project affected), timing (when and
how long impact is felt)
- If costs are associated with each risk table entry Halstead's risk
exposure metric can be computed (RE = Probability * Cost) and added to the
risk table.
Risk Assessment
- Define referent levels for each project risk that can cause project
termination (performance degradation, cost overrun, support difficulty,
schedule slippage).
- Attempt to develop a relationship between each risk triple (risk,
probability, impact) and each of the reference levels.
- Predict the set of referent points that define a region of termination,
bounded by a curve or areas of uncertainty.
- Try to predict how combinations of risks will affect a referent level.
Risk Refinement
- Process of restating the risks as a set of more detailed risks that will
be easier to mitigate, monitor, and manage.
- CTC (condition-transition-consequence) format may be a good representation
for the detailed risks (e.g. given that <condition> then there is a
concern that (possibly) <consequence>).
Risk Mitigation, Monitoring, and Management
- Risk mitigation (proactive planing for risk avoidance)
- Risk monitoring (assessing whether predicted risks occur or not, ensuring
risk aversion steps are being properly applied, collect information for future
risk analysis, attempt to determine which risks caused which problems)
- Risk management and contingency planing (actions to be taken in the event
that mitigation steps have failed and the risk has become a live problem)
Safety Risks and Hazards
- Risks are also associated with software failures that occur in the field
after the development project has ended.
- Computers control many mission critical applications in modern times
(weapons systems, flight control, industrial processes, etc.).
- Software safety and hazard analysis are quality assurance activities that
are of particular concern for these types of applications and are discussed
later in the text.
Risk Information Sheets
- Alternative to RMMM in which each risk is documented individually.
- Often risk information sheets (RIS) are maintained using a database
system.
- RIS components - risk id, date, probability, impact, description,
refinement, mitigation/monitoring, management/contingency/trigger, status,
originator, assigned staff member.