quality management and process improvement chapter 4 components of the software quality assurance...
TRANSCRIPT
Quality Management and Process Improvement
Chapter 4Chapter 4
Components of the Software Quality Components of the Software Quality Assurance SystemAssurance System
1
Quality Management and Process Improvement
Classes of SQA System Components
1.1. Pre-project componentsPre-project components
2.2. Software project life cycle componentsSoftware project life cycle components
3.3. Infrastructure components for error avoidance and Infrastructure components for error avoidance and
improvementsimprovements
4.4. Management SQA componentsManagement SQA components
5.5. SQA standards, system certification and SQA standards, system certification and
assessment componentsassessment components
6.6. Organizing for SQA – the human componentsOrganizing for SQA – the human components
2
Quality Management and Process Improvement
The Software Quality temple
Project Development plan and Quality PlanCh.6
Pre-project SQA components
Project Life Cycle SQA components
For
mal
Des
ign
Rev
iew
sS
ec. 8
.2
Ex p
e rts
Op
inio
nS
e c. 8
.5
Pee
r R
evie
ws
Sec
. 8. 3
SQ
A o
f E
xter
nal
Par
tici
pan
ts
Ch
12
Sof
twar
e M
ain
ten
ance
Ch
. 11
Sof
twar
e T
esti
ng
Ch
s. 9
-10
Quality Infrastructure components
ProceduresCh. 14
Supporting DevicesCh. 15
TrainingInstruction
Ch. 16
PreventiveActionsCh.17
ConfigurationManagement
Ch. 18
Document-ation
ControlCh. 19
Quality Management Project
ProgressControlCh. 20
Software QualityMetricsCh. 21
SoftwareQuality
CostsCh. 22
Quality ManagementStandards
Ch. 23
StandardsProjectProcessStandardsCh.24
Organizational Base – Human componentsManagement - Ch. 25 SQA Unit - Sec. 26.1 SQA Committees – Sec. 26.2SQA Trustees – Sec. 26.2 SQA Forums – Sec 26.4
Contract reviewCh.5Pre-project SQA components
Quality Management and Process Improvement
1.1. Pre-project componentsPre-project components
These components assure:A. The project commitments have been effectively defined
considering the resources requires, the schedule and budget
B. The development and quality plans have been correctly determined
These components include:A. Contract Review
Contract review activities must include a detailed examination of the project proposal draft and the contract draft
B. Development and quality plans
After singing the contracts, project plan is prepared and its integrated quality assurance activities (the quality plan) are also prepared
Quality Management and Process Improvement
2.2. Software project life cycle componentsSoftware project life cycle componentsThe development life cycle is composed of two stages:
1.1. Development life cycle stageDevelopment life cycle stage
2.2. Operation-maintenance stageOperation-maintenance stage
SQA components SQA components at this stage include:1.1. ReviewsReviews
The design phase of development process produces different documents that needs review: design reports, SW test documents, installation plans, manuals…etc. Reviews can be either
Formal design reviews: to formally get professional doc. Approval
Peer reviews: peer review of short doc., chapter, or reports.
2.2. Expert opinionsExpert opinions
Expert opinions support quality assessment efforts by introducing additional external capabilities into the organization’s in-house development process. (why we may need such experts?)
Quality Management and Process Improvement
2. Software project life cycle components2. Software project life cycle components - Continued- Continued
3.3. Software testingSoftware testing
It is a formal process carried out by specialized testing
team in which a software unit, several integrated SW units
or an entire SW package are examined by running the
programs on a computer. Testing can be classified as:
Black Box Testing (functionality test)
White Box Testing (Structural test)
4.4. Software maintenanceSoftware maintenance
Quality Management and Process Improvement
2. Software project life cycle components2. Software project life cycle components - Continued- Continued
5.5. Assurance of the quality of the external partsAssurance of the quality of the external parts
Subcontractors and customers frequently join the directly
contracted developers (the suppliers) in carrying out software
development projects.
The larger and more complex the project, the greater the
possibility that external participants will be required. (why we
may need to subcontract part or all of the project?)
Most of the SQA controls applied to external participants are
defined in the contracts signed between the relevant parties.
Quality Management and Process Improvement
3. Management SQA Components3. Management SQA Components
Managerial SQA components support the Managerial SQA components support the managerial managerial
controlcontrol of software development projects and of software development projects and
maintenance services. maintenance services.
Control components include:Control components include:
Project progress controlProject progress control
Software quality metricsSoftware quality metrics
Software quality costs.Software quality costs.
Quality Management and Process Improvement
3. Management SQA Components - continued3. Management SQA Components - continued
1.1. Project progress controlProject progress control
To detect the appearance of any situation that may make may make
difference from the projects plansdifference from the projects plans and maintenance
performance. Project control activities includeProject control activities include: Resource Resource
usage, Schedules, Risk management and Budgetusage, Schedules, Risk management and Budget
2.2. Software quality metricsSoftware quality metrics
measurement is an effective tool for the support of control
activities and the initiation of process improvements.
Quality Management and Process Improvement
3. Management SQA Components - continued3. Management SQA Components - continued
3.3. Software quality costsSoftware quality costs
Management is especially interested in the total
sum of the quality costs.
Quality cost analysis can help in identifying those
teams whose ineffective quality assurance efforts result
in higher than average quality cost. The results can
then be used to help the teams improve10
Quality Management and Process Improvement
4. Infrastructure components for error avoidance and 4. Infrastructure components for error avoidance and improvementimprovement
Goal of infrastructure are the avoidanceavoidance of software faults
or at least lowering faults rates as well as improving the
productivity
SQA infrastructure components include:SQA infrastructure components include:
Procedures and work instructionsProcedures and work instructions
Procedures are planned to be generally Procedures are planned to be generally
applicable and to serve the entire organization.applicable and to serve the entire organization.
Quality Management and Process Improvement
4. Infrastructure components for error 4. Infrastructure components for error avoidance and improvementavoidance and improvement
Staff training, retraining and certificationStaff training, retraining and certification
Preventive and corrective actionsPreventive and corrective actions
Implementation of changes that prevent similar failures in the Implementation of changes that prevent similar failures in the
future.future.
Correction of similar faults found in among the activities Correction of similar faults found in among the activities
performed by other teams.performed by other teams.
Implementing proven successful methodologies to enhance Implementing proven successful methodologies to enhance
the probability of repeat successes.the probability of repeat successes.
The sources of these data are design review reports, The sources of these data are design review reports,
software test reports, and customers’ complaints.software test reports, and customers’ complaints.
12
Quality Management and Process Improvement
4. Infrastructure components for error 4. Infrastructure components for error avoidance and improvementavoidance and improvement
Configuration managementConfiguration management
Configuration management deals with modifying Configuration management deals with modifying
software to create new versions and releases software to create new versions and releases by by
introducing procedures to control the change introducing procedures to control the change
process. process.
Documentation controlDocumentation control
13
Quality Management and Process Improvement
5. SQA standards, system certification and assessment 5. SQA standards, system certification and assessment componentscomponents
Objectives:Objectives:
Utilization of international professional knowledgeUtilization of international professional knowledge
Objective professional evaluation and measurement of the Objective professional evaluation and measurement of the
organization’s SQA achievementorganization’s SQA achievement
The standards available may be classified into two sub-The standards available may be classified into two sub-classes: classes: Quality management standards and Project Quality management standards and Project process standardsprocess standards..
Quality Management and Process Improvement
5. SQA standards, system certification and 5. SQA standards, system certification and assessment componentsassessment components
1.1. Quality management standardsQuality management standards
These standards focus on focus on what is required what is required and leave the
decision about how to achieve it to the organization.
The application of a managerial quality system provides a provides a
fairly objective assessmentfairly objective assessment of the organization’s
achievements.
Organizations that comply with quality achievement
requirements can then seek SQA certificationseek SQA certification.
Examples of this type of standard are:Examples of this type of standard are:
• CMMICMMI
• ISO 9001, 9000-3ISO 9001, 9000-315
Quality Management and Process Improvement
5. SQA standards, system certification and 5. SQA standards, system certification and assessment componentsassessment components
2.2. Project process standardsProject process standards
Project process standards are professional Project process standards are professional
standards that provide practical guidelines standards that provide practical guidelines ((dealing with dealing with
the question of “how”) the question of “how”) for the for the development teamdevelopment team..
Well-known examples of this type of standards are:Well-known examples of this type of standards are:
• ISO 12207• ISO 1012
16
Quality Management and Process Improvement
Software projects developed by software houses for to the use of other companies are usually known as external projects or outside-contracted projectsexternal projects or outside-contracted projects . Usually characterized by strong/tight customer-supplier strong/tight customer-supplier relationshiprelationship
Software projects developed by one unit of an organization to another unit in the same organization is usually known as internal project or in-house projects internal project or in-house projects (the majority of projects). Usually characterized by weak/loose customer-supplier relationshipweak/loose customer-supplier relationship
Tight and loose customer-supplier relationship
Quality Management and Process Improvement
Types of Internal Projects
Administrative or operative software to be applied internally, such as Sales systems, Financial systems, HR systems and management systems
Software packages originally intended to be sold to the public as packages, such as computer games, educational software, word processors and sales packages
Common to all these project types is the fact that no that no
external body contributesexternal body contributes as client in their
development.