Software Engineering Risk-Management
Software Engineering Risk-Management
What is Risk?
A risk is a potential problem – it might happen and it might not
4
Risk Strategies
• Reactive risk strategies
"Don't worry, I'll think of something“
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 approach)
• Proactive risk strategies
– Primary objective is to avoid risk and to have a contingency plan in place
to handle unavoidable risks in a controlled and effective manner
“Risk& Reward” “Plan for the risk” to earn a “reward”
Steps for Risk Management
Identify
possible risks
Develop a
Analyze
contingency
each risk
plan
high probability
high impact Rank the risks
by probability
and impact
Impact may be
negligible,
marginal,
critical,
catastrophic
7
Background
Generic risks
Risks that are a potential threat to every software project
Product-specific risks
Risks that can be identified only by those a 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 and the statement of scope
"What special characteristics of this product may threaten our project plan?"
Risk Item Checklist
(Risk Categories)
• Product size – risks associated with overall size of the software to be
built
• Business impact – risks associated with constraints imposed by
management or the marketplace
• Customer characteristics – risks associated with sophistication of the
customer and the developer's ability to communicate with the customer
in a timely manner
• 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
• Technology to be built – risks associated with complexity of the
system to be built and the "newness" of the technology in the system
• Staff size and experience – risks associated with overall technical and
project experience of the software engineers who will do the work
Questionnaire on Project Risk
(Questions are ordered by their relative importance to project success)
• The impact of each risk driver on the risk component is divided into one of
four impact levels
– Negligible, marginal, critical, and catastrophic
13
Risk Projection (Estimation)
Background
• 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
Risk Projection/Estimation Steps
1) Establish a scale that reflects the perceived likelihood of a risk
(e.g., 1-low, 10-high)
1) Delineate the consequences of the risk
2) Estimate the impact of the risk on the project and product
3) Note the overall accuracy of the risk projection so that there will be
no misunderstandings
Contents of a Risk Table
• 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
– 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
Example
P = 80% probability that 18 of 60 software
components will have to be developed
C = Total cost of developing 18 components is
$25,000
• 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
RMMM
Strategy for Reducing Staff Turnover
Meet with current staff 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
RMMM
• During risk monitoring, the project manager monitors factors that
may provide an indication of whether a risk is becoming more or less
likely
• Risk management and contingency planning assume that mitigation
efforts have failed and that the risk has become a reality
THANKS !