Hunter-p363

advertisement
Software Process
Improvement
Robin B. Hunter, Ph.D.
Vol 2., p. 363-382
Presented by: Andrew Wheeler
Overview
Introduction
 Background
 Models for Software Process Improvement
 Capability Determination
 Software Process Improvement
 Standards
 Conclusions

Introduction

The quality of the software system is governed
by the quality of the process used to develop
and maintain it.
– Good SE -> Good Development -> Good product

Software process is improved via improvement
models
– SW-CMM and ISO9001

Other standards help with process assessment,
capability determination, and process
improvement
– SPICE, ISO/IEC 15504 and ISO/IEC 12207
Background

Software Engineering
– Uses structured analysis and design
– Object oriented approach
– Software measurement as applied science

Process and Product approach
– Focus on modeling the software development
and maintenance
– Focus on testing for accuracy and
completeness
Background (cont)

Software Process Assessment
– Framework that serves as a roadmap and a
gauge

Capability determination
– Can a company produce a quality product and
meet the demands of their customer?

Need for process improvement
– Control, predictability, and effectiveness all
improve
Models for Software Process
Improvement – SW-CMM

5 Maturity Levels
– Initial – …Few processes are defined and
success depends on individual effort…
– Repeatable - … management process are
established to track cost, schedule and
functionality…repeat earlier success
– Defined – Management and engineering
activities well documented… All projects used
a tailored version of standard software
process for development and maintenance
Models for Software Process
Improvement – SW-CMM (cont)

5 Maturity Levels
– Managed – Measures are put in place…
process and products are controlled
– Optimizing – Continuous process improvement
from quantitative feeback
Models for Software Process
Improvement – SW-CMM (cont)

Maturation
– Occurs when key process areas satisfy the goals of
the current level
– Key Process Area
 Reqs management, Software project planning, Software
subcontract management, etc.
– Common Feature
 Commitment to perform, ability to perform, activities
performed, etc.
– CF(KPA) -> Key Practice
 Ability to perform( Software Project tracking and oversight ) > Metrics are collected against cost and effort predictions
and reviewed for improvement
Models for Software Process
Improvement – SW-CMM (cont)
Training and assessment teams are available.
 Software process change

–
–
–
–

Must start with senior leadership
Team effort is a must
Continuous
Requires investment
Benefits
– Increased response to change, reduction in project
investigation time, accelerated spread of best
practices
Models for Software Process
Improvement – SW-CMM (cont)

Spinoffs
– BOOTSTRAP
 Preparation -> Assessment -> Action Plan derivation
 In line with ISO/IEC 12207 and ISO/IEC 15504
– TRILLIUM
 Customer focused benchmark
– Assessment of supplier’s development process
– Internal process improvement
– PSP/TSP
 Personal Software Process - Personal tracking of performance
 Team Software Process – Team working practices to establish
goals, etc.
Models for Software Process
Improvement – ISO9000
A series of standards and generic practices that
can be applied to many fields
 1988 (U.K.) – Applying ISO9000 is cost effective
(TickIt)

– Certificates are awarded to accomplished companies
– Certificates have to be renewed
ISO90001 applies to software development
 Rule of thumb

– An ISO9001 compliant organization would relate to a
SW-CMM level 2 to 3
Models for Software Process
Improvement – SPICE

International standardization
– Being pilot tested in U.S.
 Promotion of SPICE approach
 Identify weaknesses in model and documentation
– Standardization via technical reports
 Items -> Drafts -> Standards
Capability Determination
Systematic assessment and analysis of
select software processes to reveal
strengths, weaknesses, and risks
associated with deploying process to
satisfy requirements
 Related to procurement
 Birth of SA-CMM

Software Process Improvement

8 steps
– Examine needs
– Initiate
– Conduct assessment
– Analyze results and form action plan
– Improve
– Confirm
– Sustain
– Monitor
Software Process
Improvement (cont)

Benefits
– Qualitative
 Increased staff morale
 Increased customer satisfaction via product quality
and productivity
– Quantitative
 Hard to measure
 Relationship to qualitative
– Higher morale -> less staff turnovers -> less training
costs
Standards

ISO/IEC 12207
– Focus on lifecycle objectives, recording data
and additions to lifecycle practices
– Main processes
 Primary
– Acquisition, supply, etc.
 Supporting
– Documentation, configuration management, etc.
 Organization
– Management, improvement, training
Standards (cont)

ISO/IEC 15504
– Processes are identical and split into 5 categories
 Primary process relates to customer supplier and engineer
categories
 Supporting process relates to support categories
 Organizational relates to management and organization
categories
– Continuous model
– Possible rearchitecting of ISO 12207 and 15504 to be
more compatible with each other may result from
hearings
Conclusions

SW-CMM and ISO9001
– Both are designed for capability determination
as well as process improvement

Many other standards exist to help guide
companies to improve process
– ISO 15504 and SPICE

Benefits from abiding by these standards
are still in qualitative form but are leading
to quantitative form
My thoughts
Very well structured
 All concepts presented are pretty modern
 One major issue

– How much feedback is truly given from the
implementers of the quality process

Streamlining the process would drastically
improve usability
Download