This document defines risk and risk management strategies for software projects. It discusses reactive versus proactive risk strategies, with proactive being preferred. It describes approaches to categorizing, identifying, and assessing risks. Key aspects of risk management covered include developing a risk table, estimating probability and impact, and creating plans to mitigate, monitor, and manage risks. The overall goal is to identify risks early and take steps to avoid or minimize their impact on the project.
Definition of Risk
•A risk is a potential problem – it might happen and it might not
• Conceptual definition of risk
• Risk concerns future happenings
• Risk involves change in mind, opinion, actions, places, etc.
• Risk involves choice and the uncertainty that choice entails
• Two characteristics of risk
• Uncertainty – the risk may or may not happen, that is, there are no 100% risks
(those, instead, are called constraints)
• Loss – the risk becomes a reality and unwanted consequences or losses occur
2
3.
Reactive vs. ProactiveRisk Strategies
• Reactive risk strategies
• "Don't worry, I'll think of something"
• The majority of software teams and managers rely on this approach
• Nothing is done about risks until something goes wrong
• The team then flies into action in an attempt to correct the problem rapidly (fire
fighting mode)
• Crisis management is the choice of management techniques.
3
4.
CONTD…
• Proactive riskstrategies
• Begins long before technical work is started.
• Steps for risk management are followed : Potential risks are identified, their probability
and impact are assessed, and they are ranked by importance.
• Primary objective is to avoid risk and to have a contingency plan in place to handle
unavoidable risks in a controlled and effective manner
5.
Risk Categorization –Approach #1
• Project risks
• They threaten the project plan
• If they become real, it is likely that the project schedule will slip and that costs will increase.
• Identify potential budgetary, schedule, personnel, resource and requirements problems and
their impact on the software.
• Technical risks
• They threaten the quality and timeliness of the software to be produced
• If they become real, implementation may become difficult or impossible
• Hard to solve
• Identify potential design, implementation, interface, verification, maintenance problems.
• Business risks
• They threaten the viability (survival capability) of the software to be built
• If they become real, they jeopardize (put into risk) the project or the product
5
6.
• Sub-categories ofBusiness risks (Candidates for Business risks)
• Market risk – building an excellent product or system that no one really wants
• Strategic risk – building a product that no longer fits into the overall business strategy for
the company
• Sales risk – building a product that the sales force doesn't understand how to sell
• Management risk – losing the support of senior management due to a change in focus or a
change in people
• Budget risk – losing budgetary or personnel commitment
6
7.
Risk Categorization –Approach #2
• Known risks
• Those risks that can be uncovered after careful evaluation of the project plan, the business and
technical environment in which the project is being developed, and other reliable information
sources (e.g., unrealistic delivery date, lack of documented requirements)
• Predictable risks
• Those risks that are extrapolated from past project experience (e.g., past turnover, poor
communication with the customer)
• Unpredictable risks
• Those risks that can and do occur, but are extremely difficult to identify in advance
• Example :
7
8.
Steps for RiskManagement
1) Identify possible risks; recognize what can go wrong
2) Analyze each risk to estimate the probability that it will occur and the impact (i.e., damage) that it
will do if it does occur
3) Rank the risks by probability and impact
- Impact may be negligible, marginal, critical, and catastrophic
4) Develop a contingency plan to manage those risks having high probability and high impact
8
9.
Risk Identification
• Riskidentification is a systematic attempt to specify threats to the project plan.
• By identifying known and predictable risks, the project manager takes a first step toward
avoiding them when possible and controlling them when necessary
• Generic risks
• Risks that are a potential threat to every software project
• Product-specific risks
• Risks that can be identified only by those with a clear understanding of the technology,
the people, and the environment that is specific to the software that is to be built
• This requires examination of the project plan.
• "What special characteristics of this product may threaten our project plan?"
9
10.
Risk Item Checklist
•Used as one way to identify risks
• Focuses on known and predictable risks in specific subcategories (see next slide)
• Can be organized in several ways
• A list of characteristics relevant to each risk subcategory
• Questionnaire that leads to an estimate on the impact of each risk
• A list containing a set of risk component and drivers and their probability of
occurrence
10
11.
Known and PredictableRisk Categories
• Product size – risks associated with overall size of the software to be built
• EXAMPLES :
• Estimated size of the product in LOC or FP?
• Size of database created or used by the product?
• Number of users of the product?
• Number of projected changes to the requirements for the product? Before delivery? After delivery?
• Amount of reused software?
11
12.
CONTD…• Business impact– risks associated with constraints imposed by management or the
marketplace
• Amount and quality of product documentation that must be produced and delivered to the customer?
• Governmental constraints on the construction of the product?
• Costs associated with late delivery?
• Costs associated with a defective product?
• Customer characteristics – risks associated with sophistication of the customer and the
developer's ability to communicate with the customer in a timely manner
• Have you worked with he customer in the past?
• Does the customer have a solid idea of what is required?
• Has the customer taken the time to write this down?
• Is the customer willing to establish rapid communication links with the developer?
• Is the customer willing to participate in reviews?
13.
CONTD…• Process definition– risks associated with the degree to which the software process has been
defined and is followed
• Development environment – risks associated with availability and quality of the tools to be
used to build the project
• Is a software project management tool available?
• Is a software process management tool available?
• Are tools for analysis and design available?
• Do analysis and design tools deliver methods that are appropriate for the product to be built?
14.
CONTD…
• Technology tobe built – risks associated with complexity of the system to be built and the
"newness" of the technology in the system
• Is the technology to be built new to your company?
• Do the customer requirements demand the creation of new algorithms, input or output
technology?
• Is a specialized user interface demanded by product requirements?
• Staff size and experience – risks associated with overall technical and project experience of
the software engineers who will do the work
• Are the best people available?
• Do the people have the right combination of skills?
• Are enough people available?
• Are staff committed for entire duration of the project?
• Will some staff be working only part time on this project?
15.
Questionnaire on ProjectRisk
1) Have top software and customer managers formally committed to support the
project?
2) Are end-users enthusiastically committed to the project and the system/product to be
built?
3) Are requirements fully understood by the software engineering team and its
customers?
4) Have customers been involved fully in the definition of requirements?
5) Do end-users have realistic expectations?
6) Is the project scope stable?
15
(Questions are ordered by their relative importance to project success)
16.
7) Does thesoftware engineering team have the right mix of skills?
8) Are project requirements stable?
9) Does the project team have experience with the technology to be implemented?
10) Is the number of people on the project team adequate to do the job?
11) Do all customer/user constituencies agree on the importance of the project and on
the requirements for the system/product to be built?
• These questions are written acc to their importance.
• The degree to which the project is at risk is directly proportional to the number of
negative responses to these questions.
16
17.
Risk Components andDrivers• Risk drivers are the reasons which can affect the performance/ cost/ schedule etc of a
project i.e. risk components.
• The project manager identifies the risk drivers that affect the following risk components (that
are affected by the risk)
• Performance risk - the degree of uncertainty that the product will meet its requirements
and be fit for its intended use
• Cost risk - the degree of uncertainty that the project budget will be maintained
• Support risk - the degree of uncertainty that the resultant software will be easy to correct,
adapt, and enhance
• Schedule risk - the degree of uncertainty that the project schedule will be maintained and
that the product will be delivered on time
• The impact of each risk driver on the risk component is divided into one of four impact levels
• Negligible (non risk category) , marginal, critical, and catastrophic (often lead to project
failure)
• Risk drivers can be assessed as impossible, improbable, probable, and frequent
17
18.
Risk Projection (Estimation)
•Risk projection (or estimation) attempts to rate each risk in two ways
• The probability that the risk is real
• The consequence of the problems associated with the risk, should it occur
• The project planner, managers, and technical staff perform four risk projection steps (see next
slide)
• The intent of these steps is to consider risks in a manner that leads to prioritization
18
19.
Risk Projection/Estimation Steps
1)Establish a scale that reflects the perceived likelihood of a risk (e.g., 1-low, 10-high)
2) Delineate the consequences of the risk
3) Estimate the impact of the risk on the project and product
4) Note the overall accuracy of the risk projection so that there will be no misunderstandings
19
20.
Contents of aRiskTable
• A risk table provides a project manager with a simple technique for risk
projection
• It consists of five columns
• Risk Summary – short description of the risk
• Risk Category – one of seven risk categories (slide 11)
• Probability – estimation of risk occurrence based on group input
• Impact – (1) catastrophic (2) critical (3) marginal (4) negligible
• RMMM – Pointer to a paragraph in the Risk Mitigation, Monitoring, and
Management Plan
20
Risk Summary Risk Category Probability Impact (1-4) RMMM
21.
Developing a RiskTable
•List all risks in the first column (by way of the help of the risk item checklists)
• Mark the category of each risk
• Estimate the probability of each risk occurring
• Assess the impact of each risk based on an averaging of the four risk components
to determine an overall impact value (See next slide)
• Sort the rows by probability and impact in descending order
• Draw a horizontal cutoff line in the table that indicates the risks that lie above the
line will be given further attention.
21
22.
Risk factor withhigh impact + low probability of occurrence no significant amount of
management time needed.
Risk factor with high impact + moderate to high probability of occurrence
OR
Risk factor with low impact + high probability of occurrence
Carried forward into the risk analysis steps.
The column labelled RMMM contains a collection of risk information developed for all the
risks that lie above the cut off.
Management Risk concern
23.
Assessing Risk Impact
•Three factors affect the consequences that are likely if a risk does occur
• Its nature – This indicates the problems that are likely if the risk occurs
• For example, a poorly defined external interface to customer hardware (a technical risk)
will preclude early design and testing and will likely lead to system integration problems
late in a project.
• Its scope – This combines the severity of the risk (how serious was it) with its overall
distribution (how much was affected)
• Its timing – This considers when and for how long the impact will be felt
• The overall risk exposure formula is RE = P x C , The quantified potential for loss that
might occur as a result of some activity.
• P = the probability of occurrence for a risk
• C = the cost to the project should the risk actually occur 23
24.
Contd…
• For example,assume that the software team defines a project risk in the following manner.
• Risk identification. Only 70 percent of the software components scheduled for reuse will,
in fact, be integrated into the application. The remaining functionality will have to be custom
developed.
• Risk probability. 80 percent (likely).
• Risk impact. Sixty reusable software components were planned. If only 70 percent can
be used, 18 components would have to be developed from scratch (in addition to other
custom software that has been scheduled for development). Since the average component is
100 LOC and local data indicate that the software engineering cost for each LOC is $14.00,
the overall cost (impact) to develop the components would be 18 X 100 X 14 = $25,200.
• Risk exposure. RE = 0.80 X 25,200 ~ $20,200.
25.
CONTD…
• The totalrisk exposure for all risks (above the cutoff in the risk table) can provide a means
for adjusting the final cost estimate for a project.
• It can also be used to predict the probable increase in staff resources required at various
points during the project schedule.
26.
Risk Refinement
• Astime passes, more and more is learnt about the project and the risk, it is possible to refine
the risk into a set of more detailed risks.
• Represent the risk in condition-transition-consequence (CTC) format
• Given that <condition> then there is concern that <consequence>.
27.
CONTD…
• Using theCTC format for the reuse risk , you could write:
• Given that all reusable software components must conform to specific design standards
and that some do not conform, then there is concern that (possibly) only 70 percent of the
planned reusable modules may actually be integrated into the as-built system, resulting in the
need to custom engineer the remaining 30 percent of components.
• This general condition can be refined in the following manner:
• Subcondition 1. Certain reusable components were developed by a third party with no
knowledge of internal design standards.
• Subcondition 2. The design standard for component interfaces has not been solidified
and may not conform to certain existing reusable components.
• Subcondition 3. Certain reusable components have been implemented in a language
that is not supported on the target environment.
28.
CONTD…
• The consequencesassociated with these refined subconditions remain the same (i.e., 30
percent of software components must be custom engineered), but the refinement helps to
isolate the underlying risks and might lead to easier analysis and response.
29.
Risk Mitigation, Monitoring,and
Management
• An effective strategy for dealing with risk must consider three issues
(Note: these are not mutually exclusive)
• Risk mitigation (i.e., avoidance)
• Risk monitoring
• Risk management and contingency planning
• Risk mitigation (avoidance) is the primary strategy and is achieved through a plan
• Example: Risk of high staff turnover
29
30.
Meet with currentstaff to determine causes for turnover (e.g., poor working conditions, low pay,
competitive job market)
Mitigate those causes that are under our control before the project starts
Once the project commences, assume turnover will occur and develop techniques to ensure
continuity when people leave
Organize project teams so that information about each development activity is widely dispersed
Define documentation standards and establish mechanisms to ensure that documents are
developed in a timely manner
Conduct peer reviews of all work (so that more than one person is "up to speed")
Assign a backup staff member for every critical technologist
30
Strategy for Reducing Staff Turnover
31.
• During riskmonitoring, the project manager monitors factors that may provide an
indication of whether a risk is becoming more or less likely.
• In case of high turnover:
• General attitude of team members based on project pressures.
• The degree to which the team has jelled.
• Inter personal relation ships among the team members.
• In addition, manager should also monitor the effectiveness of risk mitigation steps.
• Risk management and contingency planning assume that mitigation efforts have failed and
that the risk has become a reality
• In case of high turnover:
• If a num of people announce that they would be leaving, but backup is available, info is
documented.
• Refocus resources, readjust the project schedule, enabling new comers who must be added to
the team.
• Those individuals who are leaving are now asked to stop all the work and spend their last few
weeks in “knowledge transfer mode”. 31
32.
• RMMM stepsincur additional project cost.
• Eg: spending the time to backup every critical technologist costs money.
• Therefore part of Risk management is to evaluate when the benefits accured by the RMMM steps
outweigh the costs associated with implementing them.
33.
• Risk isnot limited to the software project itself
• Risks can occur after the software has been delivered to the user
• Software safety and hazard analysis
• These are software quality assurance activities that focus on the identification
and assessment of potential hazards that may affect software negatively and
cause an entire system to fail
• If hazards can be identified early in the software process, software design
features can be specified that will either eliminate or control potential hazards.
33
34.
Risk Assessment
• Duringrisk assessment we further examine the accuracy of the estimates that were made
during risk projection.
• Rank the risks uncovered
• Begin thinking about the ways to control risks that are likely to occur.
• For assessment to be useful, manager gives a risk referent level. A level for performance
degradation, cost overrun, support difficulty or schedule slippage that will cause termination
of the project.
• A risk referent level has a single point called referent point/ break point at which the decision
to continue or to terminate are equally weighted.
35.
• So, duringrisk assessment, we perform the following steps:
1.Define risk referent levels for the project.
2.Try to develop a relationship between each (ri, li, xi) and each of the referent levels.
3.Predict the set of referent points that define a region of termination, bounded by a curve or
areas of uncertainty.
4.Try to predict how compound combinations of risk will affect a referent level.
36.
Seven Principles ofRisk Management
• Maintain a global perspective
• View software risks within the context of a system and the business problem that is is intended to
solve
• Take a forward-looking view
• Think about risks that may arise in the future; establish contingency plans
• Encourage open communication
• Encourage all stakeholders and users to point out risks at any time
• Integrate risk management
• Integrate the consideration of risk into the software process
• Emphasize a continuous process of risk management
• Modify identified risks as more becomes known and add new risks as better insight is achieved
• Develop a shared product vision
• A shared vision by all stakeholders facilitates better risk identification and assessment
• Encourage teamwork when managing risk
• Pool the skills and experience of all stakeholders when conducting risk management activities
36
37.
Summary
• Whenever muchis riding on a software project, common sense dictates risk analysis
• Yet, most project managers do it informally and superficially, if at all
• However, the time spent in risk management results in
• Less upheaval during the project
• A greater ability to track and control a project
• The confidence that comes with planning for problems before they occur
• Risk management can absorb a significant amount of the project planning effort…but
the effort is worth it
37