SOFTWARE PROCESS
IMPROVEMENT
“Never Stop Learning”
 To explain the principles of software process
improvement
 To explain how software process factors influence
software quality and productivity
 To explain how to develop simple models of
software processes
 To explain the notion of process capability and
the CMMI process improvement model
Objectives
Information Systems Development
Resources Activities Products
equipment
•Hardware
•Software
•Documentation
•Planning
•Analysis
•Design
•Construction
•Testing
•Training
•Implementation
•Follow-up
•Enhancements
•etc...
A systems development process is the
set of activities, methods, practices, and
transformations that developers use to
develop and maintain information
systems.
Software Process Improvement
is the name given to the
identification of the current state-
of-the-practice of information
systems development within an
organization and then improving it.
Process Improvement Approach
Business Need
Motivation to improve
Assessment
Improvement Methods Selection
Improvement Methods Implementation
Metrics Measure Impact
The process improvement cycle
 Process measurement
 Attributes of the current process are measured.
These are a baseline for assessing improvements.
 Process analysis
 The current process is assessed and bottlenecks
and weaknesses are identified.
 Process change
 Changes to the process that have been identified
during the analysis are introduced.
Process improvement stages
Examples: -
Some example results of an improved software
development process could include:
 Fewer product defects found by customers.
 Earlier identification and correction of defects.
 Fewer defects Introduced during the development
process.
 Faster time to market.
 Better predictability of project schedules and
resources.
Software Process Improvement Efforts
 Carnegie Mellon University’s Software
Engineering Institute’s Capability Maturity
Model - (SEI’s CMM)
 International Standards Organization’s 9001
Specification (ISO 9001)
 Proprietary SPI’s from consulting firms
SEI Capability
Maturity Model
Initial
Optimizing
Managed
Defined
Repeatable
Basic Management Control
Process Definition
Process Measurement
Process Control
45%
30%
< 1%
20%
2-3%
CMM - Initial (Level 1)
“BASICALLY NO CONTROL”
• The software process is characterized as ad hoc,
occasionally even chaotic
• Few processes are defined
• Success depends on individual effort and heroics
CMM - Repeatable (Level 2)
• Basic project management processes are
established to track cost, schedule, and
functionality
• The necessary process discipline is in place to
repeat earlier successes on projects with similar
applications
• Success achieved through basic project
management; not advanced technologies
“BASIC MANAGEMENT CONTROL”
CMM - Defined (Level 3)
• The software process for both management and
engineering activities is documented,
standardized, and integrated into a standard
software process for the organization
• All projects use an approved, tailored version of
the organization’s standard software process for
developing and maintaining software
• Formality lends itself to improvement
“PROCESS DEFINITION”
CMM - Managed (Level 4)
• Detailed measures of the software process and
product quality are collected
• Both the software process and products are
quantitatively understood and controlled
• A software metrics program is in use
“PROCESS MEASUREMENT”
CMM - Optimizing (Level 5)
• Continuous process improvement is enabled by
quantitative (metrics) feedback from the process
• Continuous process improvement is enabled by
piloting innovative ideas and technologies
“PROCESS CONTROL”
Case Studies Description
 Software Engineering Institute CMMI
 Siemens Private Communication Systems (PN)
 Siemens Automation (AUT)
 Siemens Nixdorf Information system(SNI)
 Siemens Stromberg-Carlson (SSC)
 Siemens Industrial Automation (SIA)
 Electromedical Group (SME) of Siemens Medical
Systems
 Siemens Gammasonics (SGI)
 So on…
 Initial
 Essentially uncontrolled
 Repeatable
 Product management procedures defined and used
 Defined
 Process management procedures and strategies defined
and used
 Managed
 Quality management strategies defined and used
 Optimising
 Process improvement strategies defined and used
Case Study: - SEI Capability Maturity
Model Integration (CMMI)
Problems with the CMM
 Practices associated with model levels
 Companies could be using practices from different levels at the same
time but if all practices from a lower level were not used, it was not
possible to move beyond that level
 Discrete rather than continuous
 Did not recognise distinctions between the top and the bottom of levels
 Practice-oriented
 Concerned with how things were done (the practices) rather than the
goals to be achieved.
The CMMI model
 An integrated capability model that includes
software and systems engineering capability
assessment.
 The model has two instantiations
 Staged where the model is expressed in terms of
capability levels;
 Continuous where a capability rating is computed.
CMMI Model Components
 Process areas
 24 process areas that are relevant to process capability and improvement
are identified. These are organised into 4 groups.
 Goals
 Goals are descriptions of desirable organisational states. Each process
area has associated goals.
 Practices
 Practices are ways of achieving a goal - however, they are advisory and
other approaches to achieve the goal may be used.
CMMI Assessment
 Examines the processes used in an organization and assesses
their maturity in each process area.
 Based on a 6-point scale:
 Not performed;
 Performed;
 Managed;
 Defined;
 Quantitatively managed;
 Optimizing.
The staged CMMI model
 Comparable with the software CMM.
 Each maturity level has process areas and goals.
For example, the process area associated with the
managed level include:
 Requirements management;
 Project planning;
 Project monitoring and control;
 Supplier agreement management;
 Measurement and analysis;
 Process and product quality assurance.
The staged CMMI model
Software Process: Good-enough
Software
schedule (delivery date)
functionality
(features)
quality
(defects)
Software Process: Good-enough
Software
 Target is “feature-richness”
 Customer (marketing) decides the balance between
schedule, functionality, quality
 Processes are dynamic, evolutionary
 Depends on best practices, e.g., user manual, peer
reviews, daily build
 Process improvement involves process analysis,
standardisation, measurement and change.
 Processes can be classified as informal, managed,
methodical and improving. This classification can be used
to identify process tool support.
 The process improvement cycle involves process
measurement, process analysis and process change.
 Process measurement should be used to answer specific
process questions, based on organisational improvement
goals.
Key points
 Process models include descriptions of tasks, activities, roles,
exceptions, communications, deliverables and other
processes.
 The CMMI process maturity model integrates software and
systems engineering process improvement.
 Process improvement in the CMMI model is based on
reaching a set of goals related to good software engineering
practice.
Key points
SPI AFTERTHOUGHTS
 “...according to the SEI model, Apple Computer
should not exist.” Tom DeMarco
 Small organizations may not be able to afford the
overhead required by an SEI-type model
 You can’t skip levels
 It takes time (2 to 3 years/level) to move from one
level to the next
 Not many organizations are beyond Level 1
 New organizations are unlikely to start at Level 3
 Levels are important in some contracts
Thank You!!!

Software process improvement.ppt

  • 1.
  • 2.
     To explainthe principles of software process improvement  To explain how software process factors influence software quality and productivity  To explain how to develop simple models of software processes  To explain the notion of process capability and the CMMI process improvement model Objectives
  • 3.
    Information Systems Development ResourcesActivities Products equipment •Hardware •Software •Documentation •Planning •Analysis •Design •Construction •Testing •Training •Implementation •Follow-up •Enhancements •etc...
  • 4.
    A systems developmentprocess is the set of activities, methods, practices, and transformations that developers use to develop and maintain information systems.
  • 5.
    Software Process Improvement isthe name given to the identification of the current state- of-the-practice of information systems development within an organization and then improving it.
  • 6.
    Process Improvement Approach BusinessNeed Motivation to improve Assessment Improvement Methods Selection Improvement Methods Implementation Metrics Measure Impact
  • 7.
  • 8.
     Process measurement Attributes of the current process are measured. These are a baseline for assessing improvements.  Process analysis  The current process is assessed and bottlenecks and weaknesses are identified.  Process change  Changes to the process that have been identified during the analysis are introduced. Process improvement stages
  • 9.
    Examples: - Some exampleresults of an improved software development process could include:  Fewer product defects found by customers.  Earlier identification and correction of defects.  Fewer defects Introduced during the development process.  Faster time to market.  Better predictability of project schedules and resources.
  • 10.
    Software Process ImprovementEfforts  Carnegie Mellon University’s Software Engineering Institute’s Capability Maturity Model - (SEI’s CMM)  International Standards Organization’s 9001 Specification (ISO 9001)  Proprietary SPI’s from consulting firms
  • 11.
    SEI Capability Maturity Model Initial Optimizing Managed Defined Repeatable BasicManagement Control Process Definition Process Measurement Process Control 45% 30% < 1% 20% 2-3%
  • 12.
    CMM - Initial(Level 1) “BASICALLY NO CONTROL” • The software process is characterized as ad hoc, occasionally even chaotic • Few processes are defined • Success depends on individual effort and heroics
  • 13.
    CMM - Repeatable(Level 2) • Basic project management processes are established to track cost, schedule, and functionality • The necessary process discipline is in place to repeat earlier successes on projects with similar applications • Success achieved through basic project management; not advanced technologies “BASIC MANAGEMENT CONTROL”
  • 14.
    CMM - Defined(Level 3) • The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization • All projects use an approved, tailored version of the organization’s standard software process for developing and maintaining software • Formality lends itself to improvement “PROCESS DEFINITION”
  • 15.
    CMM - Managed(Level 4) • Detailed measures of the software process and product quality are collected • Both the software process and products are quantitatively understood and controlled • A software metrics program is in use “PROCESS MEASUREMENT”
  • 16.
    CMM - Optimizing(Level 5) • Continuous process improvement is enabled by quantitative (metrics) feedback from the process • Continuous process improvement is enabled by piloting innovative ideas and technologies “PROCESS CONTROL”
  • 17.
    Case Studies Description Software Engineering Institute CMMI  Siemens Private Communication Systems (PN)  Siemens Automation (AUT)  Siemens Nixdorf Information system(SNI)  Siemens Stromberg-Carlson (SSC)  Siemens Industrial Automation (SIA)  Electromedical Group (SME) of Siemens Medical Systems  Siemens Gammasonics (SGI)  So on…
  • 18.
     Initial  Essentiallyuncontrolled  Repeatable  Product management procedures defined and used  Defined  Process management procedures and strategies defined and used  Managed  Quality management strategies defined and used  Optimising  Process improvement strategies defined and used Case Study: - SEI Capability Maturity Model Integration (CMMI)
  • 19.
    Problems with theCMM  Practices associated with model levels  Companies could be using practices from different levels at the same time but if all practices from a lower level were not used, it was not possible to move beyond that level  Discrete rather than continuous  Did not recognise distinctions between the top and the bottom of levels  Practice-oriented  Concerned with how things were done (the practices) rather than the goals to be achieved.
  • 20.
    The CMMI model An integrated capability model that includes software and systems engineering capability assessment.  The model has two instantiations  Staged where the model is expressed in terms of capability levels;  Continuous where a capability rating is computed.
  • 21.
    CMMI Model Components Process areas  24 process areas that are relevant to process capability and improvement are identified. These are organised into 4 groups.  Goals  Goals are descriptions of desirable organisational states. Each process area has associated goals.  Practices  Practices are ways of achieving a goal - however, they are advisory and other approaches to achieve the goal may be used.
  • 22.
    CMMI Assessment  Examinesthe processes used in an organization and assesses their maturity in each process area.  Based on a 6-point scale:  Not performed;  Performed;  Managed;  Defined;  Quantitatively managed;  Optimizing.
  • 23.
    The staged CMMImodel  Comparable with the software CMM.  Each maturity level has process areas and goals. For example, the process area associated with the managed level include:  Requirements management;  Project planning;  Project monitoring and control;  Supplier agreement management;  Measurement and analysis;  Process and product quality assurance.
  • 24.
  • 25.
    Software Process: Good-enough Software schedule(delivery date) functionality (features) quality (defects)
  • 26.
    Software Process: Good-enough Software Target is “feature-richness”  Customer (marketing) decides the balance between schedule, functionality, quality  Processes are dynamic, evolutionary  Depends on best practices, e.g., user manual, peer reviews, daily build
  • 27.
     Process improvementinvolves process analysis, standardisation, measurement and change.  Processes can be classified as informal, managed, methodical and improving. This classification can be used to identify process tool support.  The process improvement cycle involves process measurement, process analysis and process change.  Process measurement should be used to answer specific process questions, based on organisational improvement goals. Key points
  • 28.
     Process modelsinclude descriptions of tasks, activities, roles, exceptions, communications, deliverables and other processes.  The CMMI process maturity model integrates software and systems engineering process improvement.  Process improvement in the CMMI model is based on reaching a set of goals related to good software engineering practice. Key points
  • 29.
    SPI AFTERTHOUGHTS  “...accordingto the SEI model, Apple Computer should not exist.” Tom DeMarco  Small organizations may not be able to afford the overhead required by an SEI-type model  You can’t skip levels  It takes time (2 to 3 years/level) to move from one level to the next  Not many organizations are beyond Level 1  New organizations are unlikely to start at Level 3  Levels are important in some contracts
  • 30.