2. 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
3. Information Systems Development
Resources Activities Products
equipment
•Hardware
•Software
•Documentation
•Planning
•Analysis
•Design
•Construction
•Testing
•Training
•Implementation
•Follow-up
•Enhancements
•etc...
4. A systems development process is the
set of activities, methods, practices, and
transformations that developers use to
develop and maintain information
systems.
5. 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.
6. Process Improvement Approach
Business Need
Motivation to improve
Assessment
Improvement Methods Selection
Improvement Methods Implementation
Metrics Measure Impact
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 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.
10. 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
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
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)
19. 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.
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
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.
23. 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.
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 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
28. 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
29. 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