1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.

Slides:



Advertisements
Similar presentations
SOFTWARE PROCESS IMPROVEMENT “Never Stop Learning”
Advertisements

Group 7 - Chapter 3 Steven Shroyer - Introduction, ad hoc, level 2 Xiao Jingshan - Levels 3 and 4 Dusting Marker - Level 5 and example companies Definintions.
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
More CMM Part Two : Details.
1 Brief Descriptions of CMM KPAs CEN 6070 Summer 2004.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Capability Maturity Model (CMM) in SW design
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
R&D SDM 1 Software Process Improvement Capability Maturity Models
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
Chapter 3 The Structure of the CMM
Capability Maturity Method (CMM)
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Organizational Project Management Maturity: Roadmap to Success
Capability Maturity Model
CMM Level 3 KPA’s CS4320 Fall Organizational Process Focus (Goals) Software process development and improvement activities are coordinated across.
Chapter : Software Process
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
Chapter 2 Software Process: A Generic View
N By: Md Rezaul Huda Reza n
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process Improvement u Understanding, Modelling and Improving the Software Process.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Lecture # 17
CSI - Introduction General Understanding. What is ITSM and what is its Value? ITSM is a set of specialized organizational capabilities for providing value.
Software process improvement Framework for SPI SPI support groups, maturity and immaturity models Assessment and gap analysis Education and training Selection.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Georgia Institute of Technology CS 4320 Fall 2003.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Software Engineering - I
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
Process: A Generic View
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
SOFTWARE PROCESS IMPROVEMENT
Software Engineering (CSI 321) Software Process: A Generic View 1.
Done By: Asila AL-harthi Fatma AL-shehhi Fakhriya AL-Omieri Safaa AL-Mahroqi.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
State of Michigan Achieving Software Process Improvement with
Software Engineering (CSI 321)
Information Technology Project Management – Fifth Edition
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Process Improvement
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Chapter 30 Software Process Improvement
Capability Maturity Model
Presentation transcript:

1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Chapter 30 Software Process Improvement Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman

SPI Those who successfully implement software engineering practices have got profound results s/w projects are completed on time Improved communication between all involved constituencies The level of confusion or chaos reduced The number of errors also reduced The credibility of s/w process improved 2 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.

3 What is SPI? SPI implies that elements of an effective software process can be defined in an effective manner an existing organizational approach to software development can be assessed against those elements, and a meaningful strategy for improvement can be defined. The SPI strategy transforms the existing approach to software development into something that is more focused, more repeatable, and more reliable (in terms of the quality of the product produced and the timeliness of delivery).

4 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SPI Return on Investment SPI is not free and must deliver a return on investment “How do I know that we’ll achieve a reasonable return for the money we’re spending?” ROI = [S (benefits) – S (costs)] / S (costs)] 3 100% where benefits include the cost savings associated with higher product quality (fewer defects), less rework, reduced effort associated with changes, and the income that accrues from shorter time-to-market. costs include both direct SPI costs (e.g., training, measurement) and indirect costs associated with greater emphasis on quality control and change management activities and more rigorous application of software engineering methods (e.g., the creation of a design model).

5 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SPI Framework a set of characteristics that must be present if an effective software process is to be achieved a method for assessing whether those characteristics are present a mechanism for summarizing the results of any assessment a strategy for assisting a software organization in improving those process characteristics that have been found to be weak or missing. An SPI framework assesses the “maturity” of an organization’s software process and provides a qualitative indication of a maturity level.

6 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Elements of a SPI Framework

7 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Maturity Models A maturity model is applied within the context of an SPI framework. The intent of the maturity model is to provide an overall indication of the “process maturity” exhibited by a software organization. an indication of the quality of the software process, the degree to which practitioner’s understand and apply the process, the general state of software engineering practice.

8 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Is SPI for Everyone? Can a small company initiate SPI activities and do it successfully? Answer: a qualified “yes” It should come as no surprise that small organizations are more informal, apply fewer standard practices, and tend to be self- organizing. SPI will be approved and implemented only after its proponents demonstrate financial leverage.

9 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SPI Quality (Process) Quality (Product) SPI is iterative and continuous Steps to SPI Assessment of current software process Education and training of practitioners and managers Selection and justification of software process elements, software engineering methods and tools Implementation of SPI plan Evaluation and tuning based on results

10 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SPI Frameworks SPICE— a international initiative to support the International Standard ISO/IEC for (Software) Process Assessment [ISO08] Bootstrap—a SPI framework for small and medium sized organizations that conforms to SPICE [Boo06], PSP and TSP—individual and team specific SPI frameworks ([Hum97], [Hum00]) that focus on process in-the-small, a more rigorous approach to software development coupled with measurement TickIT—an auditing method [Tic05] that assesses an organization compliance to ISO Standard 9001:2000

CMM Capability Maturity Model Developed by the Software Engineering Institute of the Carnegie Mellon University Framework that describes the key elements of an effective software process.

Describes an evolutionary improvement path for software organizations from an ad hoc, immature process to a mature, disciplined one. Provides guidance on how to gain control of processes for developing and maintaining software and how to evolve toward a culture of software engineering and management excellence. What is CMM?

What are the CMM Levels? (The five levels of software process maturity) Maturity level indicates level of process capability:  Initial  Repeatable  Defined  Managed  Optimizing

Level 1: Initial  Initial : The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort.  At this level, frequently have difficulty making commitments that the staff can meet with an orderly process  Products developed are often over budget and schedule  Wide variations in cost, schedule, functionality and quality targets  Capability is a characteristic of the individuals, not of the organization

Level 2: Repeatable  Basic process 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.  Realistic project commitments based on results observed on previous projects  Software project standards are defined and faithfully followed  Processes may differ between projects  Process is disciplined  earlier successes can be repeated

Level 3: Defined  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 an maintaining software.

Level 4: Managed  Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled.  Narrowing the variation in process performance to fall within acceptable quantitative bounds  When known limits are exceeded, corrective action can be taken  Quantifiable and predictable  predict trends in process and product quality

Level 5: Optimizing  Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies.  Goal is to prevent the occurrence of defects  Causal analysis  Data on process effectiveness used for cost benefit analysis of new technologies and proposed process changes

Internal Structure to Maturity Levels Except for level 1, each level is decomposed into key process areas (KPA) Each KPA identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important for enhancing software capability. commitment ability activity measurement verification

Level 2 KPAs Requirements Management Establish common understanding of customer requirements between the customer and the software project Requirements is basis for planning and managing the software project Not working backwards from a given release date! Software Project Planning Establish reasonable plans for performing the software engineering activities and for managing the software project

Level 2 KPAs Software Project Tracking and Oversight Establish adequate visibility into actual progress Take effective actions when project’s performance deviates significantly from planned Software Subcontract Management Manage projects outsourced to subcontractors Software Quality Assurance Provide management with appropriate visibility into process being used by the software projects work products

Level 2 KPAs Software Configuration Management Establish and maintain the integrity of work products Product baseline Baseline authority

Level 3 KPAs Organization Process Focus Establish organizational responsibility for software process activities that improve the organization’s overall software process capability Organization Process Definition Develop and maintain a usable set of software process assets stable foundation that can be institutionalized basis for defining meaningful data for quantitative process management

Level 3 KPAs Training Program Develop skills and knowledge so that individual can perform their roles effectively and efficiently Organizational responsibility Needs identified by project Integrated Software Management Integrated engineering and management activities Engineering and management processes are tailored from the organizational standard processes Tailoring based on business environment and project needs

Level 3 KPAs Software Product Engineering technical activities of the project are well defined (SDLC) correct, consistent work products Intergroup Coordination Software engineering groups participate actively with other groups Peer Reviews early defect detection and removal better understanding of the products implemented with inspections, walkthroughs, etc

Level 4 KPAs Quantitative Process Management control process performance quantitatively actual results from following a software process focus on identifying and correcting special causes of variation with respect to a baseline process Software Quality Management quantitative understanding of software quality products process

Level 5 KPAs Process Change Management continuous process improvement to improve quality, increase productivity, decrease cycle time Technology Change Management identify and transfer beneficial new technologies tools methods processes Defect Prevention causal analysis of defects to prevent recurrence

30 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. The People CMM “a roadmap for implementing workforce practices that continuously improve the capability of an organization’s workforce.” [Cur02] defines a set of five organizational maturity levels that provide an indication of the relative sophistication of workforce practices and processes

31 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. P-CMM Process Areas

32 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. The CMMI a comprehensive process meta-model that is predicated on a set of system and software engineering capabilities that should be present as organizations reach different levels of process capability and maturity a process meta-model in two different ways: (1) as a “continuous” model and (2) as a “staged” model defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. Specific practices refine a goal into a set of process-related activities.

33 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SPI Trends future SPI frameworks must become significantly more agile Rather than an organizational focus (that can take years to complete successfully), contemporary SPI efforts should focus on the project level To achieve meaningful results (even at the project level) in a short time frame, complex framework models may give way to simpler models. Rather than dozens of key practices and hundreds of supplementary practices, an agile SPI framework should emphasize only a few pivotal practices