SlideShare a Scribd company logo
1 of 48
Download to read offline
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
1
Software Project Management
Sixth Edition
UNIT 5
Chapter 13.2
Software process
quality
Product and Process Quality
• A good process is usually required to
produce a good product.
• For manufactured goods, process is the
principal quality determinant.
• For design-based activity, other factors are
also involved:
• For example, the capabilities of the
designers.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
2
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
3
BS EN ISO 9001:2000 and quality
management systems
• ISO 9001 is one of a family of standards that
specify the characteristics of a good quality
management system (QMS)
• Can be applied to the creation of any type of
product or service, not just IT and software
• Does NOT set universal product/service standards
• DOES specify the way in which standards are
established and monitored
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
4
ISO 9001:2000 principles
1. Understanding the requirements of the
customer
2. Leadership to provide unity of purpose and
direction to achieve quality
3. Involvement of staff at all levels
4. Focus on the individual which create
intermediate and deliverable products and
services
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
5
ISO 9001:2000 principles
5. Focus on interrelation of processes that
deliver products and services
6. Continuous process improvement
7. Decision-making based on factual
evidence
8. Mutually beneficial relationships with
suppliers
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
6
ISO 9001:2000 cycle
Establish requirements + acceptance
criteria + quality levels
Design product
Design production process
+ quality process
build quality
control
process
improvemen
t
customer
1
2
3
6
7
8
9
ISO 9001 Requirements
• Management
responsibility
• Quality system
• Contract review
• Design Control
• Document and data
control
• Purchasing
• Control of customer
supplied product
• Product identification
and traceability
• Process control
• Inspection and testing
• Control of inspection,
measuring and test
equipment
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
7
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
8
The need to improve
• can everything be improved at one?
no, must tackle the most important things first
• ‘poor companies are poor at changing’
some later improvements build on earlier ones
• but there are problems
• improvement takes up time and money
• ‘improvement’ may simply be more
bureaucracy!
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
9
Capability maturity model (CMM)
• Created by Software Engineering Institute,
Carnegie Mellon University
• CMM developed by SEI for US government to help
procurement
• The rationale was:
• Include likely contractor performance as a factor
in contract awards.
• Watts S. Humphrey ‘Managing the software
process’ Addison Wesley
• Assessment is by questionnaire and interview
SPM (5e) Software process quality© The
McGraw-Hill Companies, 2009
10
Capability maturity model 2
• Different versions have been developed for
different environments e.g. software engineering
• New version CMMI tries to set up a generic
model which can be used for different
environments
SEI Capability Maturity Model
• Can be used in two ways:
• Capability evaluation
• Software process assessment.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
11
Capability Evaluation
• Provides a way to assess the software
process capability of an organization:
• Helps in selecting a contractor
• Indicates the likely contractor
performance.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
12
Software Process Assessment
• Used by an organization to assess its
current process:
• Suggests ways to improve the process
capability.
• This type of assessment is for purely
internal use.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
13
What is CMM?
• Describes an evolutionary improvement path for
software organizations from an ad hoc immature
process :
• To a mature, disciplined one.
• Provides guidance on:
• How to control the process
• How to evolve the process
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
14
CMM Maturity Levels
• Five maturity levels:
• Stages are ordered so that
improvements at one stage
provide foundations for the
next.
• Based on the pioneering work of
Philip Crosby.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
15
Initial (1)
Repeatable (2)
Defined (3)
Managed (4)
Optimizing (5)
SPM (56) Software process quality© The
McGraw-Hill Companies, 2017
16
Process maturity levels
1. initial
2. repeatable
3. defined
4. managed
5. optimizing
basic management
control
process definition
process
management
process
control
A company is at level 1 by
default i.e. there is no level
zero
CMM Level 1 (Initial)
• Organization operates Without any formalized
process or project plans
• An organization at this level is characterized by
Ad hoc and chaotic activities.
• Software development processes are not
defined,
• Different developers follow their own process
• The success of projects depend on individual
efforts and heroics.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
17
Level 2 (Repeatable)
• Basic project management practices are followed
• Size and cost estimation techniques:
• Function point analysis, COCOMO, etc.
• Tracking cost, schedule, and functionality.
• Development process is ad hoc:
• Not formally defined
• Also not documented.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
18
Level 3 (Defined)
• All management and development activities:
• Defined and documented.
• Common organization-wide understanding of
activities, roles, and responsibilities.
• The process though defined:
• Process and product qualities are not
measured.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
19
Level 4 (Managed)
• Quantitative quality goals for products are set.
• Software process and product quality are measured:
• The measured values are used to control the product
quality.
• Results of measurement used to evaluate project
performance:
• Rather than improve process.
• Detailed measures of the software process and product
quality are collected.
• Both the software process and products are quantitatively
understood and controlled.
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
20
Level 5 (Optimizing)
• Statistics collected from process and product
measurements are analyzed:
• Continuous process improvement based on
the measurements.
• Known types of defects are prevented from
recurring by tuning the process
• Lessons learned from specific projects
incorporated into the process
SPM (6e) Product quality© The McGraw-Hill
Companies, 2017
21
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
22
Key process areas
• The KPAs of a level indicate the areas that an
organization at the lower maturity level needs to focus
to reach this level.
• KPAs provide a way for an organization to gradually
improve its quality of over several stages.
• KPAs for each stage has been carefully designed such
that one stage enhances the capability already built
up.
• Trying to focus on some higher level KPAs without
achieving the lower level KPAs would be
counterproductive.
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
23
A repeatable model
inputs
(requirements)
control (budget,
schedule,
standards)
resources
(staff, tools)
construct
the
system
outputs (code,
documentation)
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
24
Repeatable model KPAs
To move to this level concentrate on:
• Configuration management
• Quality assurance
• Sub-contract management
• Project planning
• Project tracking and oversight
• Measurement and analysis
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
25
A defined process
design &
define
code & unit
test
integrate/
system test
requirement
s
design
methods
tools, staff
etc
system design
tested
modules
inspection
criteria
tools, staff
etc.
test plans
tools, staff
etc. system
software
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
26
Repeatable to defined KPAs
Concentrate on
• Requirements development and technical solution
• Verification and validation
• Product integration
• Risk management
• Organizational training
• Organizational process focus (function)
• Decision analysis and resolution
• Process definition
• Integrated project management
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
27
a managed process
design &
define
code & unit
test
integrate/
system test
requirements
design
methods
tools, staff
etc
system design
tested
modules
inspection
criteria
tools, staff
etc.
test plans
tools, staff
etc. system
software
manage
directives
design defects
directives
coding errors
dire
ctive
s
system
errors
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
28
Defined to managed KPAs
Concentrate on:
• Organizational process performance
• Quantitative project management
SPM (5e) Software process quality© The
McGraw-Hill Companies, 2009
29
design &
define
code &
unit
test
integrate/
system
test
requireme
nts
design
methods
tools, staff
etc
system
design
tested
modules
inspectio
n
criteria
tools,
staff etc. test plans
tools, staff
etc. system
software
manage
directives
design defects
directives
coding errors
direc
tives
system
errors
Optimize
old control/development system
new control/development system
Optimizing
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
30
Managing to optimizing: KPAs
Concentrate on:
• Causal analysis and resolution
• Organizational innovation and deployment
SPM (5e) Software process quality© The
McGraw-Hill Companies, 2009
31
CMMI (Capability Maturity Model
Integration)
• CMMI is the successor of the Capability Maturity
Model (CMM).
• After CMMI was first released in 1990:
• It became popular in many other domains
• Human Resource Management (HRM).: people
management (PCMM)
• software acquisition (SA-CMM)
• systems engineering (SE-CMM)
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
32
Some questions about CMMI
• Suitable only for large organizations?
• e.g. need for special quality assurance and
process improvement groups
• Defining processes may not be easy with new
technology
• how can we plan when we’ve not used the
development method before?
• Higher CMM levels easier with maintenance
environments?
• Can you jump levels?
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
33
ISO/IEC 15504 IT process assessment
• To provide guidance on the assessment of
software development processes
• Process Reference Model: Needs a defined
set of processes that represent good practice to
be the benchmark
• ISO 12207 is the default reference model
• Could use others in specific environments
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
34
ISO 15504 performance attributes
CMMI level ISO 15504
0. incomplete
initial 1.1.process performance – achieves defined
outcome
repeatable 2.1 process management – it is planned and
monitored
2.2 work product management – control of work
products
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
35
ISO 15504 performance attributes -
contd
CMMI ISO 15504
Defined 3.1. Process definition
3.2. Process deployment
Managed 4.1. Process measurement
4.2. Process control
Optimizing 5.1. Process innovation
5.2. Process optimization
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
36
Process Reference Model
• A defined standard approach to development
• Reflects recognized good practice
• A benchmark against which the processes to
be assessed can be judged
• ISO 12207 is the default model
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
37
IS0 15504 Process Assessment
For each process in the relevant Process
Reference Model
For each set of attribute level criteria
Assess whether:
N: not achieved 0-15%
P: partially achieved >15%-50%
L: largely achieved >50%-85%
F: fully achieved >85%
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
38
ISO 15504 performance indicators
This is just an example of how indicators for each level
might be identified
1.Performance
Descriptions of maximum and minimum expected input
values exist
2.1 Performance management
A plan of how expected input variable ranges are to be
obtained exists which is up to date
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
39
ISO 15504 performance indicators 2
2.2 Work product management
There are minutes of a meeting where the input
requirements document was reviewed and corrections
were mandated
3.1 Process definition
A written procedure for input requirements gathering
exists
3.2 Process deployment
A control document exists that is signed as each part
of the procedure is completed
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
40
4.1. Process measurement
Collected measurement data can be collected
e.g. number of changes resulting from review
4.2. Process control
Memos relating to management actions taken in
the light of the above
ISO 15504 performance indicators 2
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
41
5.1 Process innovation
Existence of some kind of ‘lessons learnt’ report at
the end of project
5.2. Process optimization
Existence of documents assessing the feasibility of
suggested process improvements and which
show consultation with relevant stakeholders
ISO 15504 performance indicators 3
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
42
Techniques to improve quality -Inspections
• When a piece of work is completed, copies are
distributed to co-workers
• Time is spent individually going through the work
noting defects
• A meeting is held where the work is then discussed
• A list of defects requiring re-work is produced
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
43
Inspections - advantages of approach
• An effective way of removing superficial errors
from a piece of software
• Motivates the software developer to produce
better structured and self-descriptive code
• Spreads good programming practice
• enhances team-spirit
• The main problem maintaining the commitment
of participants
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
44
‘Clean-room’ software development
Ideas associated with Harlan Mills at IBM
• Three separate teams:
1. Specification team – documents user requirements
and usage profiles (how much use each function will
have)
2. Development team – develops code but does not test
it. Uses mathematical verification techniques
3. Certification team – tests code. Statistical model used
to decide when to stop
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
45
Formal methods
• Use of mathematical notations such as VDM and Z
to produce unambiguous specifications
• Can prove correctness of software mathematically
(cf. geometric proofs of Pythagoras’ theorem)
• Newer approach use Object Constraint Language
(OCL) to add detail to UML models
• Aspiration is to be able to generate applications
directly from UML+OCL without manual coding –
Model Driven Architectures (MDA)
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
46
Quality plans
• quality standards and procedures should be
documented in an organization’s quality
manual
• for each separate project, the quality needs
should be assessed
• select the level of quality assurance needed
for the project and document in a quality plan
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
47
Typical contents of a quality plan
• scope of plan
• references to other documents
• quality management, including organization,
tasks, and responsibilities
• documentation to be produced
• standards, practices and conventions
• reviews and audits
SPM (6e) Software process quality© The
McGraw-Hill Companies, 2017
48
more contents of a quality plan
• testing
• problem reporting and corrective action
• tools, techniques, and methodologies
• code, media and supplier control
• records collection, maintenance and retention
• training
• risk management

More Related Content

Similar to ISO 9001 Quality Management

Capability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxCapability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxPerumalPitchandi
 
A Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For BeginerA Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For BeginerManas Das
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 
Module 4_Session 5.pptx_Operations Management
Module 4_Session 5.pptx_Operations ManagementModule 4_Session 5.pptx_Operations Management
Module 4_Session 5.pptx_Operations ManagementAnushreeSingh49
 
QAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAIites
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process modelPreeti Mishra
 
Breakthrough Improvement
Breakthrough ImprovementBreakthrough Improvement
Breakthrough Improvementunevendock6891
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9Warui Maina
 
Continuous improvement 6 sigma
Continuous improvement 6 sigmaContinuous improvement 6 sigma
Continuous improvement 6 sigmaJitesh Gaurav
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Abdul Basit
 
QM-009-Design for Six Sigma 2
QM-009-Design for Six Sigma 2QM-009-Design for Six Sigma 2
QM-009-Design for Six Sigma 2handbook
 
6 sigma basic best ppt
6 sigma basic best ppt6 sigma basic best ppt
6 sigma basic best pptJayesh Sarode
 

Similar to ISO 9001 Quality Management (20)

Capability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxCapability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptx
 
Cmmi Final
Cmmi FinalCmmi Final
Cmmi Final
 
A Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For BeginerA Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For Beginer
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Six Sigma
Six SigmaSix Sigma
Six Sigma
 
Module 4_Session 5.pptx_Operations Management
Module 4_Session 5.pptx_Operations ManagementModule 4_Session 5.pptx_Operations Management
Module 4_Session 5.pptx_Operations Management
 
Ch 7(spi)intro tocm-mi2013
Ch 7(spi)intro tocm-mi2013Ch 7(spi)intro tocm-mi2013
Ch 7(spi)intro tocm-mi2013
 
QAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction ppt
 
Cmm
CmmCmm
Cmm
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process model
 
Breakthrough Improvement
Breakthrough ImprovementBreakthrough Improvement
Breakthrough Improvement
 
Edge presentation cmm_final CMMI CSTE CSQA
Edge presentation cmm_final CMMI CSTE CSQAEdge presentation cmm_final CMMI CSTE CSQA
Edge presentation cmm_final CMMI CSTE CSQA
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9
 
Six Sigma .pdf
Six Sigma .pdfSix Sigma .pdf
Six Sigma .pdf
 
Learning Six Sigma
Learning Six SigmaLearning Six Sigma
Learning Six Sigma
 
Continuous improvement 6 sigma
Continuous improvement 6 sigmaContinuous improvement 6 sigma
Continuous improvement 6 sigma
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8
 
2 six sigma
2  six sigma2  six sigma
2 six sigma
 
QM-009-Design for Six Sigma 2
QM-009-Design for Six Sigma 2QM-009-Design for Six Sigma 2
QM-009-Design for Six Sigma 2
 
6 sigma basic best ppt
6 sigma basic best ppt6 sigma basic best ppt
6 sigma basic best ppt
 

More from RohanMistry15

software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023RohanMistry15
 
security-in-computing question paper 2023
security-in-computing question paper 2023security-in-computing question paper 2023
security-in-computing question paper 2023RohanMistry15
 
IT-service-management question paper 2023
IT-service-management question paper 2023IT-service-management question paper 2023
IT-service-management question paper 2023RohanMistry15
 
geographical-information-system question paper
geographical-information-system question papergeographical-information-system question paper
geographical-information-system question paperRohanMistry15
 
Business-Intelligence question paper 2023
Business-Intelligence question paper 2023Business-Intelligence question paper 2023
Business-Intelligence question paper 2023RohanMistry15
 
Aeronautical Engineering Career Information
Aeronautical Engineering Career InformationAeronautical Engineering Career Information
Aeronautical Engineering Career InformationRohanMistry15
 
Chinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantChinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantRohanMistry15
 
Artificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edArtificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edRohanMistry15
 
Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8RohanMistry15
 
Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5RohanMistry15
 
Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4RohanMistry15
 
Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14RohanMistry15
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12RohanMistry15
 
Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2RohanMistry15
 
Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3RohanMistry15
 
Advanced Web Programming Chapter 10
Advanced Web Programming  Chapter 10Advanced Web Programming  Chapter 10
Advanced Web Programming Chapter 10RohanMistry15
 
Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11RohanMistry15
 
Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9RohanMistry15
 
Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6RohanMistry15
 

More from RohanMistry15 (20)

software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023
 
security-in-computing question paper 2023
security-in-computing question paper 2023security-in-computing question paper 2023
security-in-computing question paper 2023
 
IT-service-management question paper 2023
IT-service-management question paper 2023IT-service-management question paper 2023
IT-service-management question paper 2023
 
geographical-information-system question paper
geographical-information-system question papergeographical-information-system question paper
geographical-information-system question paper
 
Business-Intelligence question paper 2023
Business-Intelligence question paper 2023Business-Intelligence question paper 2023
Business-Intelligence question paper 2023
 
Aeronautical Engineering Career Information
Aeronautical Engineering Career InformationAeronautical Engineering Career Information
Aeronautical Engineering Career Information
 
Chinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantChinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plant
 
Zeus learning
Zeus learningZeus learning
Zeus learning
 
Artificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edArtificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3ed
 
Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8
 
Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5
 
Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4
 
Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12
 
Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2
 
Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3
 
Advanced Web Programming Chapter 10
Advanced Web Programming  Chapter 10Advanced Web Programming  Chapter 10
Advanced Web Programming Chapter 10
 
Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11
 
Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9
 
Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6
 

Recently uploaded

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

ISO 9001 Quality Management

  • 1. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 1 Software Project Management Sixth Edition UNIT 5 Chapter 13.2 Software process quality
  • 2. Product and Process Quality • A good process is usually required to produce a good product. • For manufactured goods, process is the principal quality determinant. • For design-based activity, other factors are also involved: • For example, the capabilities of the designers. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 2
  • 3. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 3 BS EN ISO 9001:2000 and quality management systems • ISO 9001 is one of a family of standards that specify the characteristics of a good quality management system (QMS) • Can be applied to the creation of any type of product or service, not just IT and software • Does NOT set universal product/service standards • DOES specify the way in which standards are established and monitored
  • 4. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 4 ISO 9001:2000 principles 1. Understanding the requirements of the customer 2. Leadership to provide unity of purpose and direction to achieve quality 3. Involvement of staff at all levels 4. Focus on the individual which create intermediate and deliverable products and services
  • 5. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 5 ISO 9001:2000 principles 5. Focus on interrelation of processes that deliver products and services 6. Continuous process improvement 7. Decision-making based on factual evidence 8. Mutually beneficial relationships with suppliers
  • 6. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 6 ISO 9001:2000 cycle Establish requirements + acceptance criteria + quality levels Design product Design production process + quality process build quality control process improvemen t customer 1 2 3 6 7 8 9
  • 7. ISO 9001 Requirements • Management responsibility • Quality system • Contract review • Design Control • Document and data control • Purchasing • Control of customer supplied product • Product identification and traceability • Process control • Inspection and testing • Control of inspection, measuring and test equipment SPM (6e) Product quality© The McGraw-Hill Companies, 2017 7
  • 8. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 8 The need to improve • can everything be improved at one? no, must tackle the most important things first • ‘poor companies are poor at changing’ some later improvements build on earlier ones • but there are problems • improvement takes up time and money • ‘improvement’ may simply be more bureaucracy!
  • 9. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 9 Capability maturity model (CMM) • Created by Software Engineering Institute, Carnegie Mellon University • CMM developed by SEI for US government to help procurement • The rationale was: • Include likely contractor performance as a factor in contract awards. • Watts S. Humphrey ‘Managing the software process’ Addison Wesley • Assessment is by questionnaire and interview
  • 10. SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 10 Capability maturity model 2 • Different versions have been developed for different environments e.g. software engineering • New version CMMI tries to set up a generic model which can be used for different environments
  • 11. SEI Capability Maturity Model • Can be used in two ways: • Capability evaluation • Software process assessment. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 11
  • 12. Capability Evaluation • Provides a way to assess the software process capability of an organization: • Helps in selecting a contractor • Indicates the likely contractor performance. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 12
  • 13. Software Process Assessment • Used by an organization to assess its current process: • Suggests ways to improve the process capability. • This type of assessment is for purely internal use. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 13
  • 14. What is CMM? • Describes an evolutionary improvement path for software organizations from an ad hoc immature process : • To a mature, disciplined one. • Provides guidance on: • How to control the process • How to evolve the process SPM (6e) Product quality© The McGraw-Hill Companies, 2017 14
  • 15. CMM Maturity Levels • Five maturity levels: • Stages are ordered so that improvements at one stage provide foundations for the next. • Based on the pioneering work of Philip Crosby. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 15 Initial (1) Repeatable (2) Defined (3) Managed (4) Optimizing (5)
  • 16. SPM (56) Software process quality© The McGraw-Hill Companies, 2017 16 Process maturity levels 1. initial 2. repeatable 3. defined 4. managed 5. optimizing basic management control process definition process management process control A company is at level 1 by default i.e. there is no level zero
  • 17. CMM Level 1 (Initial) • Organization operates Without any formalized process or project plans • An organization at this level is characterized by Ad hoc and chaotic activities. • Software development processes are not defined, • Different developers follow their own process • The success of projects depend on individual efforts and heroics. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 17
  • 18. Level 2 (Repeatable) • Basic project management practices are followed • Size and cost estimation techniques: • Function point analysis, COCOMO, etc. • Tracking cost, schedule, and functionality. • Development process is ad hoc: • Not formally defined • Also not documented. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 18
  • 19. Level 3 (Defined) • All management and development activities: • Defined and documented. • Common organization-wide understanding of activities, roles, and responsibilities. • The process though defined: • Process and product qualities are not measured. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 19
  • 20. Level 4 (Managed) • Quantitative quality goals for products are set. • Software process and product quality are measured: • The measured values are used to control the product quality. • Results of measurement used to evaluate project performance: • Rather than improve process. • Detailed measures of the software process and product quality are collected. • Both the software process and products are quantitatively understood and controlled. SPM (6e) Product quality© The McGraw-Hill Companies, 2017 20
  • 21. Level 5 (Optimizing) • Statistics collected from process and product measurements are analyzed: • Continuous process improvement based on the measurements. • Known types of defects are prevented from recurring by tuning the process • Lessons learned from specific projects incorporated into the process SPM (6e) Product quality© The McGraw-Hill Companies, 2017 21
  • 22. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 22 Key process areas • The KPAs of a level indicate the areas that an organization at the lower maturity level needs to focus to reach this level. • KPAs provide a way for an organization to gradually improve its quality of over several stages. • KPAs for each stage has been carefully designed such that one stage enhances the capability already built up. • Trying to focus on some higher level KPAs without achieving the lower level KPAs would be counterproductive.
  • 23. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 23 A repeatable model inputs (requirements) control (budget, schedule, standards) resources (staff, tools) construct the system outputs (code, documentation)
  • 24. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 24 Repeatable model KPAs To move to this level concentrate on: • Configuration management • Quality assurance • Sub-contract management • Project planning • Project tracking and oversight • Measurement and analysis
  • 25. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 25 A defined process design & define code & unit test integrate/ system test requirement s design methods tools, staff etc system design tested modules inspection criteria tools, staff etc. test plans tools, staff etc. system software
  • 26. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 26 Repeatable to defined KPAs Concentrate on • Requirements development and technical solution • Verification and validation • Product integration • Risk management • Organizational training • Organizational process focus (function) • Decision analysis and resolution • Process definition • Integrated project management
  • 27. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 27 a managed process design & define code & unit test integrate/ system test requirements design methods tools, staff etc system design tested modules inspection criteria tools, staff etc. test plans tools, staff etc. system software manage directives design defects directives coding errors dire ctive s system errors
  • 28. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 28 Defined to managed KPAs Concentrate on: • Organizational process performance • Quantitative project management
  • 29. SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 29 design & define code & unit test integrate/ system test requireme nts design methods tools, staff etc system design tested modules inspectio n criteria tools, staff etc. test plans tools, staff etc. system software manage directives design defects directives coding errors direc tives system errors Optimize old control/development system new control/development system Optimizing
  • 30. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 30 Managing to optimizing: KPAs Concentrate on: • Causal analysis and resolution • Organizational innovation and deployment
  • 31. SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 31 CMMI (Capability Maturity Model Integration) • CMMI is the successor of the Capability Maturity Model (CMM). • After CMMI was first released in 1990: • It became popular in many other domains • Human Resource Management (HRM).: people management (PCMM) • software acquisition (SA-CMM) • systems engineering (SE-CMM)
  • 32. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 32 Some questions about CMMI • Suitable only for large organizations? • e.g. need for special quality assurance and process improvement groups • Defining processes may not be easy with new technology • how can we plan when we’ve not used the development method before? • Higher CMM levels easier with maintenance environments? • Can you jump levels?
  • 33. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 33 ISO/IEC 15504 IT process assessment • To provide guidance on the assessment of software development processes • Process Reference Model: Needs a defined set of processes that represent good practice to be the benchmark • ISO 12207 is the default reference model • Could use others in specific environments
  • 34. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 34 ISO 15504 performance attributes CMMI level ISO 15504 0. incomplete initial 1.1.process performance – achieves defined outcome repeatable 2.1 process management – it is planned and monitored 2.2 work product management – control of work products
  • 35. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 35 ISO 15504 performance attributes - contd CMMI ISO 15504 Defined 3.1. Process definition 3.2. Process deployment Managed 4.1. Process measurement 4.2. Process control Optimizing 5.1. Process innovation 5.2. Process optimization
  • 36. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 36 Process Reference Model • A defined standard approach to development • Reflects recognized good practice • A benchmark against which the processes to be assessed can be judged • ISO 12207 is the default model
  • 37. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 37 IS0 15504 Process Assessment For each process in the relevant Process Reference Model For each set of attribute level criteria Assess whether: N: not achieved 0-15% P: partially achieved >15%-50% L: largely achieved >50%-85% F: fully achieved >85%
  • 38. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 38 ISO 15504 performance indicators This is just an example of how indicators for each level might be identified 1.Performance Descriptions of maximum and minimum expected input values exist 2.1 Performance management A plan of how expected input variable ranges are to be obtained exists which is up to date
  • 39. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 39 ISO 15504 performance indicators 2 2.2 Work product management There are minutes of a meeting where the input requirements document was reviewed and corrections were mandated 3.1 Process definition A written procedure for input requirements gathering exists 3.2 Process deployment A control document exists that is signed as each part of the procedure is completed
  • 40. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 40 4.1. Process measurement Collected measurement data can be collected e.g. number of changes resulting from review 4.2. Process control Memos relating to management actions taken in the light of the above ISO 15504 performance indicators 2
  • 41. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 41 5.1 Process innovation Existence of some kind of ‘lessons learnt’ report at the end of project 5.2. Process optimization Existence of documents assessing the feasibility of suggested process improvements and which show consultation with relevant stakeholders ISO 15504 performance indicators 3
  • 42. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 42 Techniques to improve quality -Inspections • When a piece of work is completed, copies are distributed to co-workers • Time is spent individually going through the work noting defects • A meeting is held where the work is then discussed • A list of defects requiring re-work is produced
  • 43. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 43 Inspections - advantages of approach • An effective way of removing superficial errors from a piece of software • Motivates the software developer to produce better structured and self-descriptive code • Spreads good programming practice • enhances team-spirit • The main problem maintaining the commitment of participants
  • 44. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 44 ‘Clean-room’ software development Ideas associated with Harlan Mills at IBM • Three separate teams: 1. Specification team – documents user requirements and usage profiles (how much use each function will have) 2. Development team – develops code but does not test it. Uses mathematical verification techniques 3. Certification team – tests code. Statistical model used to decide when to stop
  • 45. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 45 Formal methods • Use of mathematical notations such as VDM and Z to produce unambiguous specifications • Can prove correctness of software mathematically (cf. geometric proofs of Pythagoras’ theorem) • Newer approach use Object Constraint Language (OCL) to add detail to UML models • Aspiration is to be able to generate applications directly from UML+OCL without manual coding – Model Driven Architectures (MDA)
  • 46. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 46 Quality plans • quality standards and procedures should be documented in an organization’s quality manual • for each separate project, the quality needs should be assessed • select the level of quality assurance needed for the project and document in a quality plan
  • 47. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 47 Typical contents of a quality plan • scope of plan • references to other documents • quality management, including organization, tasks, and responsibilities • documentation to be produced • standards, practices and conventions • reviews and audits
  • 48. SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 48 more contents of a quality plan • testing • problem reporting and corrective action • tools, techniques, and methodologies • code, media and supplier control • records collection, maintenance and retention • training • risk management