Software Engineering Risk Management
Risks in Software Engineering
Key Features of Risks:
- Uncertainty: Probability of occurrence.
- Losses: Potential negative impacts.
- Areas Affected: Product, performance, maintainability, production process, development time, cost.
Types of Risks:
- Project Risks: Increased costs, organizational overflow.
- Technical Risks: Risks related to technology and development.
- Business Risks: Market, strategy, sales, management, budget.
Risk Identification & Groups
Risks can be categorized as:
- Generic Risks: Common to all projects.
- Specific Risks: Require in-depth project knowledge.
Risk Categories:
- Related to the size of the product.
- Impact on the organization.
- Type of customer.
- Definition of the production process.
- Development environment.
- Team experience and size.
Risks Associated with Product Size:
- Estimated project size.
- Confidence in the estimate.
- Number of programs, files, and transactions.
- Size relative to other projects.
- Database size.
Risks Related to Organizational Impact:
- Effect on product net sales.
- Visibility from the organization’s leadership.
- Reasonableness of the delivery date.
- Number of customers using the product.
- Number of products that must interact.
Risks Related to the Customer:
- Previous experiences with the customer.
- Clarity of customer needs.
- Customer willingness to dedicate time to formal requirement specification.
Risks in the Production Process:
- Clear policy of standardization and monitoring methodology.
- Existence of a written methodology for the project.
- Previous use of the methodology in other projects.
- Use of prototyping tools.
- Availability of productivity metrics.
Technological Risks:
- New technology in the organization.
- Requirement for new algorithms or I/O technology.
- Need to interact with new hardware.
- Need to interact with unproven software.
- Use of new analysis, design, and testing methods.
Risks in the Development Environment:
- Availability of project management tools.
- Availability of development process management tools.
- Availability of analysis and design tools.
- Use of a database or central repository.
Risks Associated with Team and Experience:
- Availability of the best staff.
- Team members possess appropriate skills.
- Sufficient personnel available.
- Staff commitment for the entire project duration.
Key Risk Areas:
- Performance
- Cost
- Maintainability
- Planning
Risk Estimation:
Factors defining the impact of a risk’s occurrence:
- Scope: Severity and impact on the project.
- Timing: When and for how long the effects last.
- A reference point should be defined to relate risk factors.
Risk Management and Monitoring (RMM):
- Risk Avoidance: Define strategies to prevent the risk.
- Risk Mitigation: Minimize effects if the risk occurs.
- Monitoring: Track indicators influencing risk probability.
- Contingency Plan: Actions if avoidance and monitoring fail.
Security Risks and Hazards:
- Consider both safety hazards and physical hazards.
- Treat them as special requirements throughout the lifecycle.