39
Software Engineering Lecture 6: Risk Analysis & Management

Software Engineering Lecture 6: Risk Analysis & Management

Embed Size (px)

Citation preview

Page 1: Software Engineering Lecture 6: Risk Analysis & Management

Software Engineering

Lecture 6: Risk Analysis & Management

Page 2: Software Engineering Lecture 6: Risk Analysis & Management

Today’s Topics Reactive vs. proactive strategies Types of software risk Risk identification & projection Risk mitigation, monitoring, management

(RMMM) Safety risks and hazards

Page 3: Software Engineering Lecture 6: Risk Analysis & Management

Characterizing Risk

Risk concerns the future What can we do today to avoid problems tomorrow?

Risk involves changeWhat aspects of the problem domain and solution are unstable?

Risk involves choice & uncertaintyWe often make decisions based on incomplete information

Page 4: Software Engineering Lecture 6: Risk Analysis & Management

Quotes

“..risk, like death and taxes, is one of the few certainties of life” [Charette, 1989]

“While it is futile to try to eliminate risk, and questionable to try to minimize it, it is essential that the risks taken be the right risks.” [Drucker, 1975]

Page 5: Software Engineering Lecture 6: Risk Analysis & Management

Reactive vs. Proactive Strategies

Reactive• “Indiana Jones school of risk management”

• Risk management = Crisis management (“fire-fighting mode”)

Page 6: Software Engineering Lecture 6: Risk Analysis & Management

Reactive vs. Proactive [2]

Proactive• Identify risks in advance

• Assess probability, impact

• Prioritize by importance

• Explicit risk management plan

• “Risk is unavoidable”

Page 7: Software Engineering Lecture 6: Risk Analysis & Management

Software Risks uncertainty : The event that characterizes the

risk may or may not happen; P never equals 1.0 loss : If the risk becomes a reality, unwanted

consequences or losses will occur Important to quantify these for each risk

analyzed!

Page 8: Software Engineering Lecture 6: Risk Analysis & Management

Categories of Risk

Project risks Technical risks Business risks Known risks Predictable risks Unknown risks

Page 9: Software Engineering Lecture 6: Risk Analysis & Management

Project Risks

Threaten the project plan Problems with budget, schedule, personnel,

resources, customer, requirements

Page 10: Software Engineering Lecture 6: Risk Analysis & Management

Technical Risks

Threaten quality and timeliness of software “Implementation may become difficult or

impossible” Problems with design, implementation,

interfacing, verification, maintenance

Page 11: Software Engineering Lecture 6: Risk Analysis & Management

Technical Risks (2)

Include specification ambiguity, technical uncertainty, technical obsolescence, “leading-edge” technology

“The problem is harder to solve than we thought it would be”

Page 12: Software Engineering Lecture 6: Risk Analysis & Management

Business Risks No market for product (market risk) Product no longer fits in the business plan (strategic

risk) Sales force doesn’t know how to sell the product

(sales risk) Loss of management support (management risk) Loss of budget, people (resource risk)

Page 13: Software Engineering Lecture 6: Risk Analysis & Management

Known Risks

Uncovered during plan evaluation Examples:

• Unrealistic delivery date

• Lack of documented requirements

• Lack of scope

• Poor development environment

Page 14: Software Engineering Lecture 6: Risk Analysis & Management

Predictable Risks

Extrapolate from past experience Examples:

• Staff turnover

• Poor customer communication

• Dilution of staff effort by maintenance

Page 15: Software Engineering Lecture 6: Risk Analysis & Management

Unpredictable Risks

Everything else that can’t be anticipated… Experience in a particular development domain

suggests certain risk factors that can and should be applied globally

Page 16: Software Engineering Lecture 6: Risk Analysis & Management

Risk Identification

Specify threats to the project plan “Identification is the better part of mitigation” “If you don’t actively attack the risks, they will

attack you” [Gilb, 1988]

Page 17: Software Engineering Lecture 6: Risk Analysis & Management

Risk Subcategories

Generic risks (affect every software project)

Product-specific risks, specific to:• the particular technology

• the specific individuals

• the particular environment

Page 18: Software Engineering Lecture 6: Risk Analysis & Management

Risk Item Checklist

Product size: What risks are associated with overall size of the software?

Business impact: Risks associated with management or market constraints

Page 19: Software Engineering Lecture 6: Risk Analysis & Management

Risk Checklist [2] Customer characteristics: risks associated with

the sophistication and communication skills of the customers

Process definition: risks associated with the maturity of the development process

Page 20: Software Engineering Lecture 6: Risk Analysis & Management

Risk Checklist [3] Development environment: risks associated with

the quality of development tools Technology to be built: risks associated with

system complexity and ‘newness’ of the solution Staff size and experience

Page 21: Software Engineering Lecture 6: Risk Analysis & Management

Product Size Risks

Estimate LOC or FP• degree of confidence in estimates?

• # of programs, files, events?

• % deviation from average size?

Page 22: Software Engineering Lecture 6: Risk Analysis & Management

Size Risks [2] Size of associated database(s)? Number of users? Number of projected requirements changes? Amount of reused software?

Page 23: Software Engineering Lecture 6: Risk Analysis & Management

Business Impact Risks

Impact on revenue? Visibility to management? Reasonableness of deadlines? Number of customers? Consistency of customers?

Page 24: Software Engineering Lecture 6: Risk Analysis & Management

Business Risks [2] Interoperability? User sophistication? Documentation required? Government constraints? Cost of late delivery, defects?

Page 25: Software Engineering Lecture 6: Risk Analysis & Management

Customer-Related Risks

Customers have different needs and personalities Customer / supplier relationships vary Customers are contradictory “Bad” customers are a significant threat and a

substantial risk

Page 26: Software Engineering Lecture 6: Risk Analysis & Management

Generic Customer Risks

Have you worked with them before? Do they understand what is needed? Are they willing to write specs? Are they willing to attend reviews? Level of technical understanding? Do they understand the development process?

Page 27: Software Engineering Lecture 6: Risk Analysis & Management

Process Risks Is there a standard development process which is

well-documented? Do staff follow the process? Do they have adequate training? Do you track the process with formal reviews and

walkthroughs? Do you use configuration management?

Page 28: Software Engineering Lecture 6: Risk Analysis & Management

Technology Risks

Is the technology new to you? New algorithms or I/O? Interface with new/unproven HW/SW/DB? Specialized user interface? New analysis, design, testing methods?

Page 29: Software Engineering Lecture 6: Risk Analysis & Management

Technology Risks (2)

Unconventional development methods? (e.g., AI) Excessive performance constraints? Customer uncertain about feasibility?

Page 30: Software Engineering Lecture 6: Risk Analysis & Management

Impact Assessment Four risk types:

• Performance Risk, Cost Risk, Support Risk, Schedule Risk

Four impact categories:• Negligible, Marginal, Critical, Catastrophic

Characterization of consequences• (1) errors, (2) failure to achieve outcome

Page 31: Software Engineering Lecture 6: Risk Analysis & Management

[From SEPA 5/e]

Impact Assessment

Page 32: Software Engineering Lecture 6: Risk Analysis & Management

Sample Risk Table[From SEPA 5/e]

Assigned using impact assessment table

Page 33: Software Engineering Lecture 6: Risk Analysis & Management

Risk and Management Concern

[From SEPA 5/e]

Page 34: Software Engineering Lecture 6: Risk Analysis & Management

Risk Referent Level

[From SEPA 5/e]

Page 35: Software Engineering Lecture 6: Risk Analysis & Management

RMMM

Risk Mitigation, Monitoring, andManagement

• Mitigation: Reduce probability and/or impact of risks in advance

• Monitoring: Watch factors that indicate change in risk probability

• Management: Implement contingency plan(s)

Page 36: Software Engineering Lecture 6: Risk Analysis & Management

RMMM (2)

RMMM adds overhead! 80/20 rule: 80% of overall risk from 20% of

identified factors RMM Plan

• for every risk above a certain threshold, create a risk information sheet (RIS)

• track / update RMMM plan regularly

Page 37: Software Engineering Lecture 6: Risk Analysis & Management

RiskInformationSheet

[From SEPA 5/e]

Page 38: Software Engineering Lecture 6: Risk Analysis & Management

Safety Risks and Hazards

Classic case: control systems Language systems: critical control or

instructional scenarios Mitigation:

• limit scope of software, increase human role

• limit scope of human intervention, increase redundant backup systems

Page 39: Software Engineering Lecture 6: Risk Analysis & Management

Questions?