Unit 5
Unit 5
UNIT – 5
Risk management: Reactive vs Proactive Risk strategies, software risks, Risk
identification, Risk projection, Risk refinement, RMMM, RMMM Plan. Quality
Management: Quality concepts, Software quality assurance, Software Reviews, Formal
technical reviews, Statistical Software quality Assurance, Software reliability, The ISO
9000 quality standards.
RISK MANAGEMENT
Introduction:
Risk Management is the name given to a logical and systematic method of
identifying, analysing, treating and monitoring the risks involved in any activity or
process.
Risk Management is a methodology that helps managers make best use of their available
resources
* The risk analysis and management are a series of steps that help a software team to
understand and manage Uncertainty
* A risk is a potential problem – it might happen, it might not
* But it is really good idea to identify it, assess its probability of occurrence, estimate its
impact
Dr.K.Bhargavi /KMIT/SE/UNIT-5
2
Dr.K.Bhargavi /KMIT/SE/UNIT-5
3
Dr.K.Bhargavi /KMIT/SE/UNIT-5
4
Risk Identification:
Risk identification is the process of understanding what potential unsatisfactory
outcomes are associated with a particular project.
Several risk identification tools include checklists, flowcharts, and interviews
* It is a systematic attempt to specify threats to the project plan [i.e. estimates, schedules,
resource loading]
* By identifying a known and predictable risk, project manager take a first step toward
avoiding them, when possible and controlling them when necessary
There are two distinct types of risks:
(i) Generic Risks – These are potential threat to every software project
(ii) Product – Specific Risks – These can be identified only by those, who with a clear
understanding of the technology, the people, and the environment that is specific to the
software that is to be built
* One method of risk identification is to create a risk item check list
* The checklist can be used for risk identification and focus on some subset of known and
predictable risks in the following generic subcategories:
Product Size => Risk associated with the overall size of the software to
be built (Or) modified
Business impact => Risk associated with the constraints imposed by
management (Or) the market place
Dr.K.Bhargavi /KMIT/SE/UNIT-5
5
Dr.K.Bhargavi /KMIT/SE/UNIT-5
6
(9) Does the project team have experience with the technology to be implemented?
(10) Is the number of people on the project team adequate to do the job?
(11) Do all customer / User constituencies agree on the importance of the project and on
the requirements for the system / product to be built?
* The degree to which the project is at risk is directly proportional to the number of
negative responses to these questions
Risk Components and Drivers:
* The risk components are defined in the following manner:
(1) Performance Risks => The degree of uncertainty that the product will meet its
requirements and be fit for its intended use
(2) Cost Risks => The degree of uncertainty that the project budget will be maintained
(3) Support Risks => The degree of uncertainty that the resultant software will be easy
to correct, adapt and enhance
(4) Schedule Risks => The degree of uncertainty that the project schedule will be
maintained and that the product will be delivered on time
* The Impact of each risk driver on risk component is divided into four categories:
=> Negligible
=> Marginal
=> Critical
=> Catastrophic
Risk Projection:
* It is also referred as Risk Estimation
* It attempts to rate each risk in two ways:
(i) the likelihood (Or) probability that the risk is real
(ii) the consequences of the problem associated with the risk should it
occur
* The project planner and technical staff perform four risk projection steps:
Dr.K.Bhargavi /KMIT/SE/UNIT-5
7
(4) Note the over all accuracy of the risk projection, so that there will be no
misunderstanding
Risk Table:
*A risk table provides a project manager with a simple technique for risk projection
Risks Category Probability Impact RMMM
Size estimate PS 60% 2
may be
significantly
low
Large number PS 30% 3
of users than
planned
Less reuse than PS 70% 2
planned
Delivery BU 50% 2
deadline will
be tightened
Customer will PS 80% 2
change
requirements
Staff ST 30% 2
Inexperienced
* Impact values
1 – Catastrophic
2 – Critical
3 – Marginal
4 – Negligible
* The project team list all risks in the first column of the table
* Each risk is categorized in second column
e.g. PS => Project Size risk
Dr.K.Bhargavi /KMIT/SE/UNIT-5
8
High
Very Management
High Concern
Impact Disregard
risk factor
Very Low
0
Probability of
occurrence 1.0
* In the above figure a risk factor that has a high impact, but a low probability of
occurrence, should not absorb a significant amount of management time
Dr.K.Bhargavi /KMIT/SE/UNIT-5
9
* High impact risks with moderate to high probability and low impact risks with high
probability should be carried out forward into risk analysis steps that follow
Risk Refinement:
* As time passes and more is learned about the project and the risk it may be possible to
refine the risk into a set of more detailed risks
* One way to do refine is represent the risk in Condition – Transition – Consequence
[CTC] format
* The risk is stated in the following form
Given that <condition> then there is concern
That (possibly) <Consequence>
Risk Mitigation, Monitoring and management [RMMM]:
* If a software team adopts a proactive approach, to risk avoidance is always the best
* The possible steps taken to avoid the risks are
Mitigation Strategy:
=> meet with current staff to determine causes for turnover
Example:
* Poor working condition, Low pay, Competitive job market
=> Avoid 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 team so that information about each development activity is widely
dispersed
=> Define documentation standards and establish mechanism 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
=> As projects precede risk monitoring activities commence
=> The factors that can be monitored are:
Dr.K.Bhargavi /KMIT/SE/UNIT-5
10
Monitoring Strategy:
=> General attitudes of team members based on the project pressures
=> The degree to which the team has jelled
=> Interpersonal relationship among the team members
=> Potential problems with compensation and benefits
=> The qualitative of jobs with in the company and outside it
Dr.K.Bhargavi /KMIT/SE/UNIT-5
11
QUALITY MANAGEMENT
Quality Concepts:
* Variation control is the heart of the quality concepts
* A manufacturer wants to minimize the variation among the products that are produced
* The variation can be minimized by reducing number of defects that are released to the
field and the number of bugs is also minimized from one release to another
* Minimize the difference in speed and accuracy from one release to another
Quality:
* It is defined as “a characteristic (Or) attribute of something”
* As an attribute of an item quality refers to measurable characteristics such as
=> Length
=> Color
=> Electrical properties and malleability
* As a characteristic of an item, it includes;
=> Cyclomatic Complexity
=> Cohesion
=> Number of function point
=> Lines of code
Dr.K.Bhargavi /KMIT/SE/UNIT-5
12
Quality Control:
Checking the software development process (within a particular project) to ensure
that procedures and standards, as defined in the quality plan, are being followed.
Quality control aims at correcting the causes of errors.
Dr.K.Bhargavi /KMIT/SE/UNIT-5
13
Quality Assurance:
* It consists of a set of auditing and reporting functions that checks the effectiveness and
completeness of quality control activities
* The goal of quality assurance is to provide management with the data necessary to be
informed about product quality there by gaining insight and confidence
Cost of Quality:
* Quality costs may be divided into costs associated with,
=> Prevention
=> Appraisal and
=> Failure
(i) Prevention Costs:
It includes
=> Quality planning
=> Formal Technical reviews
=> Test Equipment and training
(ii) Appraisal Costs:
* It includes activities to gain insight into product condition the “First time through” each
process
* Example of appraisal costs include,
=> in-process and in-process inspection
=> Equipment calibration and maintains
=> Testing
(iii) Failure Costs:
* These costs would disappear, if no defects appeared before shipping a product to
customers
* Failure cost may be sub divided into:
Dr.K.Bhargavi /KMIT/SE/UNIT-5
14
(1) Internal Failure cost: These are incurred, when we detect a defect in our product
prior to shipment
This cost includes,
=> Rework
=> Repair
=> Failure mode analysis
(2) External Failure Cost: These are associated with defects found after the product has
been shipped to the customer
Examples:
=> Complaint resolution
=> Product Return and replacement
=> Help line support
=> Warranty work
SQA Activities:
* SQA quality assurance is composed of a variety of tasks associated with two different
group of peoples:
(i) Software Engineers => Do technical work
(ii) SQA group => It has responsibility for quality assurance, planning, oversight, record
keeping, analysis and reporting
Dr.K.Bhargavi /KMIT/SE/UNIT-5
15
(4) Audits designated software work products to verify compliance with those defined as
part of software process
(5) Ensures that deviations in software work and work products are documented handled
according to a documented procedure
(6) Records any non-compliance and reports to senior management
Software reviews:
Development Step
Defects Detection
Errors Passed through
Dr.K.Bhargavi /KMIT/SE/UNIT-5
16
Preliminary
Design
0 Detail
Design
0 0% 10 6
6
Code / Unit test
10 37 10
4 4*1.5
X = 1.5 0% 10
27 94
25 27 * 3 20 %
X=3
To
25 Integrate
Integration Test
94 Validation Test
47
0 50 %
System Test
0 24
0
50 %
12
0 0 50 %
Latent
Errors
0
Dr.K.Bhargavi /KMIT/SE/UNIT-5
17
Preliminary
Design
0 Detail
Design
0 70 % 3 2
6
Code / Unit test
10 1
4*1.5 15 5
X = 1.5 0% 10
25 27 * 3 20 % 24
X=3
To
25 Integrate
Integration Test
24 Validation Test
0 50 % 12
System Test
0
0
6
50 %
0 0 3
50 %
Latent
0 Errors
Dr.K.Bhargavi /KMIT/SE/UNIT-5
18
Review Report:
* A review summary form is a Single page form
* It becomes part of the project historical record and may be distributed to the project
leader and other interested parties
* The review issue list serves two purposes:
(i) To identify problem areas with in the product
(ii) To serve as an action item check list that guides the producer as
corrections made
* An issues list normally attached to the summary report
Dr.K.Bhargavi /KMIT/SE/UNIT-5
19
Review Guidelines:
* The following represents a minimum set of guidelines for formal technical reviews
(i) Review the product, not the producer
(ii) Set an agenda and maintain it
(iii) Limit debate and rebuttal
(iv) Enunciate problem areas but don’t attempt to solve every
problem noted
(v) Take written notes
(vi) Limit the number of participants and insist upon advance
preparation
(vii) Develop a check list for each product and that is likely to be
reviewed
(viii) Allocate resources and schedule items for FTRs
(ix) Conduct meaningful training for all reviewers
(x) Reviews your early reviews
Statistical Software Quality Assurance:
(i) Information about the software defect is collected and
categorized
(ii) An attempt is made to trace each defect to its underlying cause
(iii) Using the Pareto principle [80 percent of the defect can be
traced to 20 percent of all possible causes], isolate the 20
percent
(iv) Once the vital few causes have been identified move to correct
the problems that have caused the defects
Dr.K.Bhargavi /KMIT/SE/UNIT-5
20
(3) Analyze defect metrics and determine the vital few causes
* If an existing software process is in place, but improvement is required six sigma
suggests two additional steps
(i) Improve the process by eliminating the root causes of the
defects
(ii) Control the process to ensure that future work does not
reintroduce the causes of defects
Dr.K.Bhargavi /KMIT/SE/UNIT-5
21
ISO 9001:2000
* It is the quality assurance standard that applies to software engineering
* The standard contains 20 requirements
* The requirement delineated by ISO 9001:2000 address topics such as
=> Management responsibility
=> Quality Systems
=> Contract reviews
=> Design Control
=> Document and Data control
=> Product Identification
=> Corrective and Preventive action
=> Control of quality records etc..
Dr.K.Bhargavi /KMIT/SE/UNIT-5