Software Engineering- Module 5
Software Risk, Configuration Management & Quality Assurance
Notes
By – Charushila Jadhav
Software Risk:
Introduction
Software risk refers to the possibility of loss or failure during the software development
process. It may or may not occur in the future but can affect project cost, quality, and
schedule.
Definition
Software risk is an expectation of loss or a potential problem that may occur in the future
due to uncertainty in software development.
Examples of loss:
Increase in development cost
Delay in project completion
Poor software quality
Characteristics of Software Risk
1. Uncertainty
Risk may or may not occur
Future events cannot be predicted with 100% accuracy
2. Loss (Impact)
If risk occurs, it causes negative consequences
Can affect cost, quality, or time
Types of Software Risk
1. Internal Risks
Within control of project manager
Caused by internal factors
Examples:
Poor planning
Lack of skilled staff
Technical issues
2. External Risks
Outside control of project manager
Examples:
Market changes
Government policies
Natural disasters
Risk Categories (Based on Impact)
1. Project Risks
Affect project schedule and cost
Example: delay in delivery
2. Technical Risks
Affect software quality and performance
Example: new technology failure
3. Business Risks
Affect business success
Example: product not accepted by users
Risk Strategies:
Introduction
Risk strategies are the approaches used to handle potential risks in a software project. They
help reduce the chances of failure and ensure smooth project execution.
There are two main types of risk strategies:
1. Reactive Risk Strategy
2. Proactive Risk Strategy
1. Reactive Risk Strategy
Definition
Reactive strategy means taking action only after the risk occurs.
Explanation
No planning is done in advance
Team ignores risks until they become problems
Action is taken only after damage happens
Example
Project delay occurs → team works overtime to complete it
System crashes → developers fix it after failure
Advantages
Simple to implement
No initial planning required
Disadvantages
High risk of project failure
Increased cost and time
Poor quality software
Stressful for team
2. Proactive Risk Strategy
Definition
Proactive strategy means identifying and managing risks before they occur.
Proactive risk strategy is always preferred because it helps in early detection, better control,
and successful project completion, while reactive strategy is risky and less effective.
Explanation
Risks are identified early
Proper planning is done
Backup (contingency) plans are prepared
Steps Involved
1. Risk Identification
2. Risk Analysis
3. Risk Planning
4. Risk Monitoring
Example
Identifying possible delay → assigning extra resources
Predicting technical issue → testing early
Advantages
Reduces risk impact
Better planning and control
Improves software quality
Saves time and cost
Disadvantages
Requires time and effort
Needs skilled planning
Difference Between Reactive and Proactive Strategy
Feature Reactive Proactive
Approach After problem Before problem
Planning No planning Proper planning
Cost High Lower
Control Low High
Example Fix after crash Prevent crash
Risk Management Process:
Introduction
Risk management is the process of identifying,
analyzing, and controlling risks in a software project.
Its main goal is to reduce the impact of risks and
ensure project
Risk management is essential to handle uncertainties
in software development. A proper process helps in
reducing failures, controlling cost, and improving
project success.
Steps in Risk Management Process
1. Risk Identification
Identify possible risks that may affect the project
Use methods like brainstorming, checklists, SWOT analysis
Example: lack of skilled staff
2. Risk Analysis
Analyze probability (chance of occurrence)
Analyze impact (effect on project)
👉 Example: delay may affect deadline
3. Risk Evaluation
Prioritize risks based on severity
Identify high-risk issues that need immediate action
4. Risk Mitigation (Planning)
Develop strategies to reduce risk
Strategies:
Avoid risk
Reduce risk
Transfer risk
Accept risk
5. Risk Monitoring & Review
Track risks continuously
Update plans if needed
Use of a risk assessment matrix in prioritizing risks.
Introduction
A Risk Assessment Matrix is a tool used in software engineering to evaluate and
prioritize risks based on two key factors:
Probability (Likelihood) – chances of risk occurring
Impact (Severity) – effect on the project
It helps teams focus on the most critical risks first.
A risk assessment matrix is an effective tool for analyzing, visualizing, and prioritizing
risks, ensuring that high-risk issues are handled first for successful project completion
Structure of Risk Assessment Matrix
The matrix is usually a grid/table:
X-axis → Probability (Low to High)
Y-axis → Impact (Low to High)
Steps to Use Risk Assessment Matrix
1. Identify Risks
List all possible risks
Example: delay, technical failure, budget issue
2. Assign Probability
Estimate how likely each risk is
Scale: Low / Medium / High
3. Assign Impact
Estimate effect on project
Scale: Low / Medium / High
4. Plot Risks in Matrix
Place each risk in the grid based on probability & impact
5. Prioritize Risks
Focus on High Probability + High Impact risks first
Example
Risk Probability Impact Priority
Delay in delivery High High High
Minor UI issue Low Low Low
New technology failure Medium High High
Risk Priority Levels
🔴 High Risk
High probability + High impact
Needs immediate action
🟡 Medium Risk
Moderate probability or impact
Monitor and plan
🟢 Low Risk
Low probability + Low impact
Can be ignored or monitored
Advantages of Risk Assessment Matrix
Easy to understand and use
Helps in decision-making
Prioritizes critical risks
Saves time and cost
RMMM ( Risk Mitigation, Management , Monitoring):
Introduction
RMMM is a risk handling strategy used in software engineering to manage risks effectively
throughout the project lifecycle. It ensures that risks are identified, controlled, and handled
properly.
RMMM is an effective risk management approach that ensures risks are prevented, tracked,
and handled efficiently, leading to successful software development.
Definition
RMMM stands for:
Mitigation → Reducing the chance of risk
Monitoring → Tracking the risk continuously
Management → Taking action if the risk occurs
1. Risk Mitigation (Prevention Stage)
Definition
Mitigation involves planning actions to reduce or avoid risks before they occur.
Techniques
Avoid risk
Reduce probability
Use better tools/technology
Train team
Example
Risk: Project delay
Mitigation: Assign extra developers and plan schedule properly
2. Risk Monitoring (Tracking Stage)
Definition
Monitoring involves continuously observing risks and checking warning signs.
Activities
Track progress
Identify early symptoms
Review risk indicators
Example
Monitoring: Track project deadlines and task completion
3. Risk Management (Action Stage)
Definition
Management involves taking corrective action when the risk actually occurs.
Activities
Execute contingency plan
Solve problem immediately
Minimize loss
Example
Management: Negotiate deadline with client or increase resources
Complete Example
Risk: Late Delivery
Stage Action
Mitigation Plan schedule, assign extra team
Monitoring Track deadlines weekly
Management Negotiate deadline or add resources
Advantages of RMMM
Reduces risk impact
Improves planning
Helps in early detection
Ensures project success
FTR (Formal Technical Review):
Introduction
Formal Technical Review (FTR) is a Software Quality Assurance (SQA) activity used to
identify errors and ensure quality in software during development.
It is a structured review process conducted by a small group of technical experts.
FTR is a powerful quality assurance technique that helps in detecting errors early,
improving design, and ensuring reliable software development.
Definition
FTR is a systematic evaluation of software work products (like design, code, documents) to
detect defects, verify requirements, and ensure standards are followed.
Objectives of FTR
Detect errors early
Verify software meets requirements
Ensure coding/design standards
Improve software quality
Make project more manageable
Participants in FTR
1. Moderator
Leads the review
Ensures process is followed
2. Developer
Presents the work product
Explains design/code
3. Reviewers
Identify errors
Suggest improvements
4. Recorder
Notes all issues and discussions
Prepares summary report
FTR Process / Steps
1. Planning
Select review team (3–5 members)
Define agenda
2. Overview Meeting
Developer explains the product
Objectives of review are discussed
3. Preparation
Reviewers study the material individually
Identify possible issues
4. Review Meeting
Discussion of identified issues
Errors are recorded
5. Rework
Developer fixes errors
6. Follow-Up
Moderator ensures corrections are done
Decisions in FTR
At the end of review, team decides:
Accept product
Reject product
Accept with modifications
FTR Summary Report
It answers:
What was reviewed?
Who reviewed it?
What were the findings?
Advantages of FTR
Early error detection
Improves quality
Reduces cost of fixing bugs
Ensures standardization
Disadvantages
Time-consuming
Requires skilled reviewers
Needs proper planning
SWOT Analysis
Introduction
SWOT analysis is a strategic technique used in software engineering to identify risks by
analyzing internal and external factors affecting a project.
It helps in understanding both positive and negative aspects, making it useful for risk
identification and planning.
SWOT analysis is an effective tool for identifying risks by analyzing strengths, weaknesses,
opportunities, and threats, helping in better planning and successful project execution.
Definition
SWOT stands for:
S – Strengths
W – Weaknesses
O – Opportunities
T – Threats
It is used to analyze project conditions and identify possible risk areas.
Role of SWOT in Risk Identification
SWOT helps in:
Identifying internal risks (Weaknesses)
Identifying external risks (Threats)
Utilizing Strengths to reduce risks
Leveraging Opportunities for improvement
Components of SWOT Analysis
1. Strengths (Internal Positive Factors)
Advantages of the project
Help in reducing risks
Example:
Skilled development team
Strong technology stack
2. Weaknesses (Internal Negative Factors)
Limitations or problems within the project
Major source of risks
Example:
Lack of experience
Poor planning
3. Opportunities (External Positive Factors)
External chances to improve project success
Example:
New tools and technologies
Market demand
4. Threats (External Negative Factors)
External risks that can harm the project
Example:
Competition
Changing requirements
Budget constraints
Example in Software Project
Project: Online Shopping System
Factor Example
Strength Experienced developers
Weakness Limited budget
Opportunity Growing e-commerce market
Threat High competition
Risk Identified: Budget issues and competition
Advantages of SWOT in Risk Identification
Simple and easy to use
Helps in early risk detection
Provides clear understanding
Improves decision making
Limitations
Subjective analysis
May miss hidden risks
Requires experience