Download presentation
1
SOFTWARE PROCESS IMPROVEMENT
“Never Stop Learning”
2
Objectives 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
3
Information Systems Development
Resources Activities Products Planning Analysis Design Construction Testing Training Implementation Follow-up Enhancements etc... Hardware Software Documentation equipment
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
7
The process improvement cycle
8
Process improvement stages
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.
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
11
SEI Capability Maturity Model
< 1% Optimizing Process Control 2-3% Managed Process Measurement 20% Defined Process Definition 30% Repeatable Basic Management Control 45% Initial
12
CMM - Initial (Level 1) The software process is characterized as ad hoc, occasionally even chaotic Few processes are defined Success depends on individual effort and heroics “BASICALLY NO CONTROL”
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
Case Study: - SEI Capability Maturity Model Integration (CMMI)
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
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 Goals Practices
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.
24
The staged CMMI model
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
Key points 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.
28
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.
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
30
Thank You!!!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.