Software Engineering
Software Engineering
RISK MANAGEMENT
Risk management: Reactive vs. Proactive
Risk strategies, software risks, Risk
identification,Risk projection, Risk
refinement.
Quality Management: Quality concepts,
Software qualityassurance, Software
Reviews, Formal Technical reviews,
Statistical Software quality Assurance,
Software Reliability.(Text Book1)
Risk management:
Introduction to risk management
Reactive vs. proactive risk strategies
Software risk
Risk identification
Risk projection
Risk refinement
RMMM
RMMM plan
Introduction to risk
management
Risk is an undesired event or circumstance
that occur while a project is underway
It is necessary for the project manager to
anticipate and identify different risks that a
project may be susceptible to.
Risk Management : It aims at reducing
the impact of all kinds of risk that may
affect a project by identifying, analyzing
and managing them
Reactive vs. Proactive Risk
Strategies
Reactive risk strategies
"Don't worry, I'll think of something"
The majority of software teams and
managers rely on this approach
Nothing is done about risks until something
goes wrong
The team then flies into action in an attempt
to correct the problem rapidly (fire fighting)
Proactive risk strategies
unwanted loss or
consequences will occur
Categories of risks
1.Negligible-0
2.Marginal-1
3.Critical-2
4.Catastrophic-3
Risk Identification includes
Product size-risks associated with the overall size of the
software
Business impact-constraints imposed by management
/market
Development environment-availability and quality of tools
communication
Technology to be built-complexity of the system to be built
of the staff
RISK PROJECTION
Also called risk estimation
It estimates the impact of risk on the
real
Consequences of the problems
Risk Management
Contingency planning(for future risks)
Management Plan)
Quality Management:
Quality concepts
Software quality assurance
Software Reviews
Formal technical reviews
Statistical Software quality Assurance
Software reliability
The ISO 9000quality standards
1. QUALITY CONCEPTS
Variation control is the heart of quality control
FROM one project to another, we want to minimize
Failure costs
rework, repair, failure mode analysis
External failure costs-defects found after the product is
delivered
Complaint resolution, product return and
replacement, help line support, warranty work
SOFTWARE QUALITY
ASSURANCE
Software quality assurance (SQA) is the concern of
every software engineer to reduce cost and
improve Product time-to-market.
A Software Quality Assurance Plan is not merely
another name for a test plan, though test plans are
Included in an SQA plan.
SQA activities are performed on every software
Project.
Use of metrics is an important part of developing a
strategy to improve the quality of both software
Processes and work products.
Definition of Software Quality
serves to emphasize:
1. Conformance to software
requirements is the foundation from
which software quality is measured.
2. Specified standards are used to
define the development criteria that are
used to guide the manner in which software
is engineered.
3. Software must conform to implicit
requirements (ease of use,
maintainability, reliability, etc.) as well as
its explicit requirements.
SQA team Activities
Prepare SQA plan for the project.
Participate in the development of the
three questions
What was reviewed?
conclusions?
The review issues list serves
two purposes
To identify problem areas in the
product
To serve as an action item
checklist that guides the producer
as corrections are made
Review Guidelines
Review the product, not the producer :errors
should be pointed out gently.
Set an agenda and maintain it.
Limit debate and rebuttal(argument)
Enunciate problem areas, but don’t attempt to
solve every problem noted
Take return notes
Limit the number of participants and insist
upon advance preparation.
Develop a checklist for each product i.e likely
to be reviewed
Allocate resources and schedule time for FTRS
Conduct meaningful training for all reviewer
Review your early reviews –review the review
guidelines them selves
STATISTICAL SOFTWARE
QUALITY
ASSURANCE(quantitative
about
quality)
Information about software defects is collected and
categorized.
Each defect is traced back to its cause using the Pareto
principle (80% of the defects can be traced to 20% of
the causes) isolate the "vital few" defect causes
Move to correct the problems that caused the defects
in the "vital few”
Six Sigma for Software Engineering
The most widely used strategy for statistical
quality assuranceIn the industry today.
It defines 3 core steps :
1. Define customer requirements,
deliverables, and project goals via
well-defined methods of customer
communication.
2. Measure each existing process and its
output to determine current quality
performance (e.g., compute defect
metrics)
3. Analyze defect metrics and determine
For an existing process that needs
improvement,then 2 additional steps
are suggested
1. Improve process by eliminating the