Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 1
Software Project ManagementSixth Edition
Chapter 13.2
Software process quality
Product and Process QualityA 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
processimprovement
customer
1
2
3
6
78
9
ISO 9001 Requirements
Management responsibilityQuality systemContract reviewDesign ControlDocument and data controlPurchasing
Control of customer supplied productProduct identification and traceabilityProcess controlInspection and testingControl 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 improvecan 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 UniversityCMM developed by SEI for US government to help procurementThe rationale was:
Include likely contractor performance as a factor in contract awards.
Watts S. Humphrey ‘Managing the software process’ Addison WesleyAssessment 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 engineeringNew 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 contractorIndicates 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 LevelsFive 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 managementcontrol
process definition
processmanagement
processcontrol
A company is at level 1 bydefault i.e. there is no levelzero
CMM Level 1 (Initial)Organization operates Without any formalized process or project plansAn 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 followedSize and cost estimation techniques: Function point analysis, COCOMO, etc. Tracking cost, schedule, and functionality.
Development process is ad hoc:Not formally definedAlso 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 processLessons 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 modelinputs
(requirements)
control (budget,schedule, standards)
resources(staff, tools)
construct thesystem
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 managementQuality assuranceSub-contract managementProject planningProject tracking and oversightMeasurement and analysis
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 25
A defined process
design & define
code & unittest
integrate/system test
requirements
design methods
tools, staff etc
system design
tested modulesinspectioncriteria
tools, staff etc.test plans
tools, staff etc.systemsoftware
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 26
Repeatable to defined KPAsConcentrate on
Requirements development and technical solutionVerification and validationProduct integrationRisk managementOrganizational trainingOrganizational process focus (function)Decision analysis and resolutionProcess definitionIntegrated project management
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 27
a managed process
design & define
code & unittest
integrate/system test
requirements
design methods
tools, staff etc
system design
tested modulesinspectioncriteria
tools, staff etc.test plans
tools, staff etc.systemsoftware
managedirectives
design defects
syst
em e
rror
s
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 28
Defined to managed KPAs
Concentrate on:Organizational process performanceQuantitative project management
SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 29
design & define
code & unittest
integrate/system test
requirements
design methods
tools, staff etc
system design
tested modulesinspectioncriteria
tools, staff etc.test plans
tools, staff etc.systemsoftware
manage
directives
design defects
syst
em e
rror
s
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 CMMISuitable 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 processesProcess Reference Model: Needs a defined set of processes that represent good practice to be the benchmarkISO 12207 is the default reference modelCould 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 developmentReflects recognized good practiceA benchmark against which the processes to be assessed can be judgedISO 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 ModelFor 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.PerformanceDescriptions of maximum and minimum expected input
values exist2.1 Performance managementA 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 managementThere are minutes of a meeting where the input requirements document was reviewed and corrections were mandated
3.1 Process definitionA written procedure for input requirements gathering exists
3.2 Process deploymentA 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 measurementCollected measurement data can be collected
e.g. number of changes resulting from review4.2. Process controlMemos 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 innovationExistence of some kind of ‘lessons learnt’ report at
the end of project5.2. Process optimizationExistence 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-workersTime is spent individually going through the work noting defectsA meeting is held where the work is then discussedA 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 softwareMotivates the software developer to produce better structured and self-descriptive codeSpreads good programming practiceenhances team-spiritThe 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 methodsUse 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 assessedselect 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 planreferences to other documentsquality management, including organization, tasks, and responsibilitiesdocumentation to be producedstandards, practices and conventionsreviews and audits
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 48
more contents of a quality plan
testingproblem reporting and corrective actiontools, techniques, and methodologiescode, media and supplier controlrecords collection, maintenance and retentiontrainingrisk management