1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.

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.
More CMM Part Two : Details.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Capability Maturity Model (CMM) in SW design
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
R&D SDM 1 Software Process Improvement Capability Maturity Models
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
Chapter 3 The Structure of the CMM
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Standardization. Introduction A standard is a document. It is a set of rules that control how people should develop and manage materials, products, services,
Capability Maturity Model
Chapter : Software Process
What ISO 9000 Mandates The requirements for a quality system have been standardized - but many organizations like to think of themselves as unique. So.
Integrated Capability Maturity Model (CMMI)
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
CMMi What is CMMi? Basic terms Levels Common Features Assessment process List of KPAs for each level.
©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.
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.
Capability Maturity Model. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First version published in.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Software Project Management Lecture 7A SEI - Capability Maturity Model.
1 ISO 9001:2000 ISO 9001 is the creation of the International Organisation for Standardisation (ISO), a Swiss-based federation of national standards bodies.ISO.
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,
©Ian Sommerville 2004 Software Engineering. Chapter 28Slide 1 Chapter 28 Process Improvement.
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.
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.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
Making knowledge work harder Process Improvement.
SOFTWARE PROCESS IMPROVEMENT
CMMI The quality of a software product is only as good as the process used to develop and maintain it. Whether a software organization is competing in.
Software Engineering (CSI 321) Software Process: A Generic View 1.
The Capability Maturity Model for Software: An Overview
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
CMMI for Services, Version 1.3
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
CS4311 Spring 2011 Process Improvement Dr
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.
A possible solution: Personal Software Process (PSP)
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten

2 Content Process, product, people quality What are maturity models? CMMI models Operational use of the CMMI People-CMM Book chapter 2: Process: A Generic View

3 Process and product quality A good process is usually required to produce a good product. Process improvement benefits arise because the quality of the product depends on its development process. For manufactured goods, process is the principal quality determinant. For design-based activity, other factors are also involved especially the capabilities of the designers

4 Principal product quality factors Product quality Development technology Cost, time and schedule Process quality People quality

5 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

6 What is a maturity model? ‘ A ‘ A maturity model is a model with which organizations can judge their (software engineering, hrm, service, etc.) process (including comparing it to other organizations) and based on this judgment can improve their process.’ – started in 1986 by the Software Engineering Institute (SEI) (Carnegie Mellon University) and the Mitre Corporation –SEI started with a Process Maturity Framework and a maturity questionnaire –the software Framework developed into the Capability Maturity Model (CMM) for Software (1991) –Revised maturity framework (CMMI) introduced in 2001

7 Process Maturity Framework Goal is the improvement of the software engineering process –Success should not be based on incidental individual achievements –Success should be based on repeatable and proven successful work methods ImmatureSoftwareOrganization MatureSoftwareOrganization - No objective basis for judgment of product quality - No objective basis for improvement of product or process quality - Reviews and tests are often skipped when projects run behind schedule - Ad hoc management - Organization wide knowledge to manage software development, employment and improvement - Processes are ‘fit-for-use’ - Processes are being adapted to the situation -Tasks and responsibilities are clear for the project and anyone in the organization

8 Software Process Software Process: ‘the whole of activities, methods, practices, communication and changes that people use in order to develop and maintain software and associated products (e.g. plans, design documents, code, test cases and user manuals)’ CMM gives an organization a way to get and improve control over the software process and provides it with a route to achieve excellence in software engineering

9 Fundamental concepts for Process Maturity Software Process Capability –How good it can predict the expected outcome of a next software project Software Process Performance –Actual results of a software project Software Process Maturity –The level in which a software process is explicitly defined, managed, measured and controlled in order to achieve results Software Process Institutionalization –The level in which the software process is institutionalized with respect to methods, standards and organizational structure

10 Levels of software maturity Maturity level: –A well defined level on the way to achieve an adult, a mature software process –A foundation for realizing continuous improvements –Every level contains a group of process goals that, when stable, form an important part of the software process –Every level leads to the improvement of the process capability of the organization

11 The staged CMMI model

12 Initial (1) The software process can be described as ad-hoc, or even chaotic There are practically no processes defined Success depends on individual input and achievements The software process is not predictable regarding results Schedules, budget, functionality and product quality is not predictable Works disastrous in crises situations Can be successful in highly innovative environment (e.g. start of the web-design world)

13 Managed (2) The basic project management procedures are used Costs, schedules en functionality are ‘tracked’ Planning and managing of new projects are based on experience with comparable projects Needed process discipline is enforced such that earlier success can be repeated with building an comparable application Software requirements and work products are ‘baselined’ Disciplined environment in which planning and tracking are stable and thus previous successes can be repeated

14 Defined (3) Processes for management and software engineering are documented, standardized and integrated in a standard software development process All projects use an approved, adapted version of the standard software process for the development and maintenance of software Processes are used to let software managers and engineers be more effective There is a group responsible for the software process There is training in the software process The software process is stable and well defined and is able to operate more effectively

15 Quantitatively managed (4) Detailed metrics of the software processes and quality of products are gathered Quantitative goals are set for the software process and the product quality Use is made of a software process database in which the metrics are gathered and analyzed Projects have a control over the software process and product quality such that the can work in defined limits Risks of development in new technical environments are recognized and managed Software process is predictable and trends can be predicted

16 Optimizing (5) Continuously software process improvements are realized by quantitatively feedback of the process and by trying out of innovative ideas and technologies The whole organization is focused on continuous improvement Data regarding performance of the processes are used for cost- benefit analyses Innovations that make use of the best software engineering practices are identified and spread over the whole organization Software project teams analyze errors in order to find out how to improve ‘Lessons learned’ are shared with other projects (team rooms, Communities of Practice)

17 Maturity level and changing predictability Chance Time/Money/… Goal N Level 1: Initial Chance Goal N+a Level 2: Managed Chance Goal N-x Level 3: Defined Chance Goal N-y Level 4: Quantitatively Managed Chance Goal N-z Level 5: Optimizing

18 Operational use of CMM How do you determine in practice the maturity of an organization? Maturity Level Process Capability Indicate Goals Achieve Implementation or Institutionalization Address Infrastructure or Activities Describe Key Process Areas Contain Key Practices Contain Common Features Organized by

19 Key Process Areas -Process change management -Technology change management -Defect prevention -Software quality management -Quantitative process management -Peer reviews -Intergroup coordination -Software product engineering -Integrated software management -Training program -Organization process definition -Organization process focus -Software Configuration Management -Software Quality Assurance -Software Subcontract Management -Software project tracking & oversight -Software project planning -Requirements Management Initial (1) Managed (2) Defined (3) Quantitatively Managed (4) Optimizing (5)

20 Example Managed Disciplined Processes Indicates Maturity Level 2 Software estimates are documented for use in planning and tracking Achieves Software Project Planning Contains Key Process Area Implementation Address Activities Performed Organized by Common Feature Activity Describe Activity 9. Estimates for the size of the software work products (or changes to it) are derived according to a documented procedure ContainKey Practice

21 Continuous CMM model A process capability profile

22 Remarks Maturity Models are helpful to indicate the maturity of a software organization The CMM(I) model is the most used Organizations ‘benchmark’ themselves to position them relative to others based on the CMM-level CMM-level should give an indication of the quality level of a software organization Specially “new” countries (India, China) qualify themselves strongly in this area It is not a “sacred cow” and it should be used prudently

23 Problems with CMM CMM is actually a management framework, with many details left out (a goal, not a method) –Example: “You must have peer reviews.” But how should the reviews be run? Being used just as stamp of approval –Just tell us what to do to get Level 2, so we can get back to work –Let’s work together to improve our software processes Doesn’t say anything about software! –CMM is a model for managing software projects Doesn’t help in a crisis Only for repetitive tasks

24 People- Capability Maturity Model (P-CMM) Improvement of the capabilities of the software organization by improvement of the skills of the individuals Assure that the ability in software development is an attribute of the organization and not of a number of individuals Keeping people with critical knowledge and skills in the organization Assure that the goals and direction of the individuals is the same as that of the organization

25 Provides A framework that focuses on improving management and development of human assets of an organization. Provides an improvement path Integrate workforce development with process improvement Characterize the maturity of their workforce practices

26 Trends Affecting the Workforce Pfeffer (1994) Doers differ from thinkers -> Doers must be thinkers Assets are things -> Assets are people Labor is an expense -> People are an investment Lifetime employment -> Lifetime employability Top down control -> Decentralized decisions Localized work -> Networked problems solved Measure for results -> Measure for improvements

27 P-CMM Architecture

28 Process Area & Maturity Levels

29 Process Goals & Process Practice Process area goal is an organizational state to be achieved by implementing the practices of a process area. Process practice is a sub process within a process area that contributes to achieving a process area goal.

30 Implementation & Institutionalization Practices