Module 05
Module 05
Software Risk,
Configuration Management
RISK IDENTIFICATION
-Risk identification is a systematic attempt to
specify threats to the project plan(estimates,
schedule, resource loading, etc.).
-There are two distinct types of risks : generic
risks and product-specific risks.
→ Generic risks are a potential threat to
every software project.
→ Product-specific risks can be identified
only when the project plan and the
software statement of scope are
examined and an answer to the question
is developed:
"What special characteristics of this product
may threaten our project plan?"
● One method for identifying risks is to create a risk item checklist.
● The checklist can be used for risk identification and focuses on some subset of known and
predictable risks in the following generic subcategories:
●Product size
●Business impact
●Customer characteristics
●Process definition
●Development environment
●Technology to be built
●Staff size and experience
● Risk drivers that affect software risk components :
●Performance risk
●Cost risk
●Support risk
●Schedule risk
● The impact of each risk driver on the risk component is divided into one of four impact
categories—negligible, marginal, critical, or catastrophic.
RISK ASSESSMENT
● Nature of the risk - the problems that are likely if it occurs. E.g. 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.
● Scope of a risk - combines the severity with its overall distribution (how much of
the project will be affected or how many customers are harmed?).
● Timing of a risk - when and how long the impact will be felt.
● Overall risk exposure, RE, determined using:
RE = P x C
P is the probability of occurrence for a risk.
C is the the cost to the project should the risk occur.
RMMM MODEL
● Risk Mitigation :
-It is an activity used to avoid problems (Risk Avoidance).
-Steps for mitigating the risks as follows.
1. Finding out the risk.
2. Removing causes that are the reason for risk creation.
3. Controlling the corresponding documents from time to time.
4. Conducting timely reviews to speed up the work.
● Risk Monitoring :
-It is an activity used for project tracking.
-It has the following primary objectives as follows.
1. To check if predicted risks occur or not.
2. To ensure proper application of risk aversion steps defined for risk.
3. To collect data for future risk analysis.
4. To allocate what problems are caused by which risks throughout the project.
● Risk Management and planning :
It assumes that the mitigation activity failed and the risk is a reality. This task is done by
Project manager when risk becomes reality and causes severe problems. If the project
manager effectively uses project mitigation to remove risks successfully then it is easier to
manage the risks. This shows that the response that will be taken for each risk by a manager.
The main objective of the risk management plan is the risk register. This risk register
describes and focuses on the predicted threats to a software project.
● CSCIS ultimately become part of the configuration of one or more versions of a software
application or system.
2. Product Revision
-It includes three software quality factors, which are required for testing and maintenance of the software. They
provide ease of maintenance, flexibility, and testing effort to support the software to be functional according to the
needs and requirements of the user in the future.
● Maintainability: The effort required to detect and correct an error during the maintenance phase.
● Flexibility: The effort needed to improve an operational software program.
● Testability: The effort required to verify software to ensure that it meets the specified requirements.
3. Product Transition
-It includes three software quality factors, that allow the software to adapt to the change of environments in the new
platform or technology from the previous.
● Portability: The effort required to transfer a program from one platform to another.
● Re-usability: The extent to which the program’s code can be reused in other applications.
● Interoperability: The effort required to integrate two systems with one another.
SOFTWARE RELIABILITY
-Reliability is a measurable system attribute so non-functional reliability requirements may be
specified quantitatively.
-These define the number of failures that are acceptable during normal use of the system or the time
in which the system must be available.
● Functional reliability requirements define system and software functions that avoid, detect or
tolerate faults in the software and so ensure that these faults do not lead to system failure.
● Software reliability requirements may also be included to cope with hardware failure or
operator error.
-Reliability :
The probability of failure-free system operation over a specified time in a given environment for a
given purpose.
-Availability :
The probability that a system, at a point in time, will be operational and able to deliver the
requested services.
-Both of these attributes can be expressed quantitatively e.g. availability of 0.999 means that the
system is up and running for 99.9% of the time.
➔ Product Metrics
➔ Project Metrics *Refer from Chp.03*
➔ Product Metrics
➔ Fault & Failure Metrics
-The below are the methods used, based on the required
type of metric analysis, during the software development
phases :
●Mean Time to Failure – (Total time) / (Number of units
tested)
●Mean Time to Repair – (Total time for maintenance) /
(total repairs)
●Mean Time Between Failure – MTTF + MTTR
●Rate of Occurrence of Failure – 1 / (MTTF)
●Probability of Failure – (Number of Failures) / (Total
cases considered)
●Availability – MTTF / MTBF
FORMAL TECHNICAL REVIEW
● A FTR is a software quality assurance activity performed by software engineers with the following objectives:
-to uncover errors in function, logic or implementation of the software ;
-to verify that the software meets its requirements ;
-to ensure that the software has been developed according to the standards ;
-to achieve uniform software ;
-to make projects manageable.
● Each FTR is conducted as a meeting and is considered successful only if it is properly planned, controlled and
attended.
● The Review Meeting: Each review meeting should be held considering the following constraints-
Involvement of people:
1. Between 3, 4 and 5 people should be involve in the review.
2. Advance preparation should occur but it should be very short that is at the most 2 hours of work for
every person.
3. The short duration of the review meeting should be less than two hour. Gives these constraints, it should
be clear that an FTR focuses on specific (and small) part of the overall software.
At the end of the review, all attendees of FTR must decide what to do.
1. Accept the product without any modification.
2. Reject the project due to serious error (Once corrected, another app need to be reviewed), or
3. Accept the product provisional (minor errors are encountered and should be corrected, but no additional
review will be required).
The decision was made, with all FTR attendees completing a sign-of indicating their participation in the review
and their agreement with the findings of the review team.
● Review guidelines :- Guidelines for the conducting of formal technical reviews should be
established in advance. These guidelines must be distributed to all reviewers, agreed upon, and then
followed. A review that is unregistered can often be worse than a review that does not minimum set of
guidelines for FTR.
1. Review the product, not the manufacture (producer).
2. Take written notes (record purpose)
3. Limit the number of participants and insists upon advance preparation.
4. Develop a checklist for each product that is likely to be reviewed.
5. Allocate resources and time schedule for FTRs in order to maintain time schedule.
6. Conduct meaningful training for all reviewers in order to make reviews effective.
7. Reviews earlier reviews which serve as the base for the current review being conducted.
8. Set an agenda and maintain it.
9. Separate the problem areas, but do not attempt to solve every problem notes.
10. Limit debate and rebuttal.
WALKTHROUGH
-Method of conducting informal group/individual review is called walkthrough, in which a designer or
programmer leads members of the development team and other interested parties through a software
product, and the participants ask questions and make comments about possible errors, violation of
development standards, and other problems or may suggest improvement on the article, walkthrough can be
pre planned or can be conducted at need basis and generally people working on the work product are involved
in the walkthrough process.
-The Purpose of walkthrough is to:
• Find problems
• Discuss alternative solutions
• Focusing on demonstrating how work product meets all requirements.
-IEEE 1028 recommends three specialist roles in a walkthrough:
• Leader: who conducts the walkthrough, handles administrative tasks, and ensures orderly conduct (and
who is often the Author).
• Recorder: who notes all anomalies (potential defects), decisions, and action items identified during the
walkthrough meeting, normally generate minutes of meeting at the end of walkthrough session.
• Author: who presents the software product in step-by-step manner at the walk-through meeting, and is
probably responsible for completing most action items.