PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL



Similar documents
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Process Improvement. From the Software Engineering Institute:

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

The Capability Maturity Model for Software, Version 1.1

Reaching CMM Levels 2 and 3 with the Rational Unified Process

P3M3 Portfolio Management Self-Assessment

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

Process Improvement. Objectives

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

CAPABILITY MATURITY MODEL INTEGRATION

The Capability Maturity Model for Software

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Using CMM with DO-178B/ED-12B for Airborne System Development

Technical Report CMU/SEI-93-TR-024 ESC-TR February Capability Maturity Model SM for Software, Version 1.1. Mark C. Paulk.

Process Improvement. Process improvement. Process improvement stages. Understanding, Modelling and Improving the Software Process

Software Development Life Cycle (SDLC)

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Maturity Model. March Version 1.0. P2MM Version 1.0 The OGC logo is a Registered Trade Mark of the Office of Government Commerce

Portfolio, Programme and Project Management Maturity Model - a Guide to Improving Performance

Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project

CMMI KEY PROCESS AREAS

The PMO as a Project Management Integrator, Innovator and Interventionist

Developing CMMI in IT Projects with Considering other Development Models

UML Modeling of Five Process Maturity Models

Software Engineering: Analysis and Design - CSE3308

A Capability Maturity Model (CMM)

Introduction to Software Engineering. 8. Software Quality

Research Data Management Framework: Capability Maturity Guide

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Measurement Strategies in the CMMI

1.1. Do the outputs of the Network and Centres contribute to enhancing mobility and awareness of the European dimension in guidance and counselling?

MKS Integrity & CMMI. July, 2007

Lecture 8 About Quality and Quality Management Systems

Ethical Trading Initiative Management Benchmarks

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Project Quality Management. Project Management for IT

A Capability Maturity Model for Scientific Data Management

Software Engineering 9.1. Quality Control

Why is Quality Important? Definition

Software Process Improvement Software Business. Casper Lassenius

Fundamentals of Measurements

Darshan Institute of Engineering & Technology Unit : 7

Chapter 8: Project Quality Management

Foredragfor Den Norske Dataforening, den

A Report on The Capability Maturity Model

Family Evaluation Framework overview & introduction

ISO 9000 QUALITY MANAGEMENT PRINCIPLES AND GUIDELINES ON THEIR APPLICATION

Before starting it is worth considering what we mean by the term project - basically it can be defined as:

Software Engineering CS5704: First Class

Leveraging CMMI framework for Engineering Services

Camber Quality Assurance (QA) Approach

DATA QUALITY MATURITY

Can Complement PMBOK and Your PMP

Software Process Maturity Model Study

Plan-Driven Methodologies

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1

CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS

Guide to the National Safety and Quality Health Service Standards for health service organisation boards

Capability Maturity Model Integration (CMMI ) Overview

Seven Principles of Change:

Anatomy of an Enterprise Software Delivery Project

How To Understand And Understand The Cmm

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

pm4dev, 2016 management for development series Project Scope Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

MTAT Software Engineering Management

Capability Maturity Model Integration (CMMI)

PROJECTS IN CONTROLLED ENVIRONMENTS

Software Process Improvement (SPI) Guidelines for Improving Software: Release 5.0

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

Baker College - Master of Business Administration Program Assessment Report CGS Assessment Report: MBA Program

Quality Management Principles and Guidelines on their Application

Understanding, Modelling and Improving the Software Process. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1

The IT Service Capability Maturity Model

Darshan Institute of Engineering & Technology Unit : 10

Strategic Communications Audits

Safety Regulation Group SAFETY MANAGEMENT SYSTEMS GUIDANCE TO ORGANISATIONS. April

Software Process Improvement CMM

ISO OR CMM: WHICH IS MORE EXTENSIVE FOR THE QUALITY SYSTEMS IN A SOFTWARE INDUSTRY?

CMMI - The AGILE Way By Hitesh Sanghavi

pm4dev, 2007 management for development series Introduction to Project Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Software Production and Lifecycle Models

Benefits of conducting a Project Management Maturity Assessment with PM Academy:

Introduction to the ITS Project Management Methodology

PEOPLE INVOLVEMENT AND THEIR COMPETENCE IN QUALITY MANAGEMENT SYSTEMS * Jarmila ŠALGOVIČOVÁ, Matej BÍLÝ

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

Building Software in an Agile Manner

Transcription:

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL Immature versus Mature Software Organisations In an immature software organisation, software processes are generally improvised by practitioners and their management during the course of the project. Even if a software process has been specified, it is not rigorously followed or enforced. Schedules and budgets are routinely exceeded because they are not based on realistic estimates. When hard deadlines are imposed, product functionality and quality are often compromised to meet the schedule A mature software organisation possess an organisation wide ability for managing software development and maintenance processes. The software process is accurately communicated to both existing staff and new employees, and work activities are carried out according to the planned process. These defined processes are updated when necessary, and improvements are developed through controlled pilot-tests and/or cost benefit analyses. Roles and responsibilities within the defined process are clear throughout the project and across the organisation. Schedules and budgets are based on historical performance and are realistic; the expected results for cost, schedule, functionality and quality of the product are usually achieved. Fundamental Concepts Underlying Maturing Software Process defined set of activities, method, practices, and transformations that people use to develop and maintain software and the associated products. As an organisation matures, the software process becomes better defined and more consistently implemented throughout the organisation. Software Process Capability describes the range of expected results that can be achieved by following a software process. Software Process Performance represents the actual results achieved by following a software process Software Process Maturity is the extent to which a specific process is explicitly defined, managed, measured, controlled and effective. The capability maturity model for software provides software organisations with guidance on how to gain control of their processes for developing and maintaining software and how to evolve toward a culture of software engineering and management excellence. Robert Whitaker 1

Levels of Software Process Maturity A maturity level is a well defined evolutionary plateau towards achieving a mature software process. Each maturity level provides a layer in the foundation for continuous process improvement. Each level comprises a set of process goals that, when satisfied, stabilize an important component of the software process. Achieving each level of the maturity framework establishes a different component in the software process, resulting in an increase in the process capability of the organization. Level 1 Initial Every company starts here. The software process is characterised as ad hoc, and occasionally chaotic. Few processes are defined, and success depends on individual effort. Organisations typically does not provide a stable environment for developing and maintaining software. When an organisation lacks sounds management practices, the benefits of good software engineering practices are undermined by ineffective planning and reaction driven commitment systems. During crisis, projects typically abandon planned procedures and revert to coding and testing. Success depends entirely on having an exceptional manager and a seasoned and effective software team. Process capability of Level 1 organisations is unpredictable because the software process is constantly changed or modified as the work progresses. Schedules, budgets, functionality and product quality are generally unpredictable. Level 2 Repeatable 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. Planning and managing new projects is based on experience with similar projects. An objective in achieving Level 2 is to institutionalise the effective management processes for software projects, which allow organisations to repeat successful practices developed on earlier projects, although the specific processes implemented by the projects may differ, Organisations have installed basic software management controls. Software managers for a project track software costs, schedules, and functionality; problems in meeting commitments are identified when they arise. Software project standards are defined and the organisation ensures they are faithfully followed. Robert Whitaker 2

Process can be summarized as disciplined because of planning and tracking of the software project is stable and 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 organisation. All projects use an approved, tailored version of the organisation s standard software process for developing and maintaining software. The standard process for developing and maintaining software across the organisation is documented, including both software engineering and management processes, and there processes are integrated into a coherent whole. A well defined process can be characterized as including readiness criteria, inputs, standards and procedures for performing the work, verification mechanisms, outputs and completion criteria. Software process can be summarised as standard and consistent because both software engineering and management activities are stable and repeatable. Within established product lines, cost, schedule, and functionality are under control, and software quality is tracked. 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. Organisation sets quantitative quality goals for both software products and processes. Productivity and quality are measured for important software process activities across all projects as part of an organisational measurement program. An organisation wide software process database is used to collect and analyse the data available from the projects defined software processes. Projects achieve control over their products and processes by narrowing the variation in their process performance to fall within acceptable quantitative boundaries. The risks involved in moving up the learning curve of a new application domain are known and carefully managed. Process capability can be summarised as predictable because the process is measured and operates within measurable limits. This level of process capability allows an organisation to predict trends in process and product quality within the quantitative bounds of these limits. When there limits are exceeded, action is taken to correct the situation. Software products are of predictably high quality. Robert Whitaker 3

Level 5 Optimizing Continuous process improvements is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies. The entire organisation is focused on continuous process improvement. The organisation has the means to identify weaknesses and strengthen the process proactively, with the goal of preventing the occurrence of defects. Level 5 organisations analyse defects to determine their cause. Software processes are evaluated to prevent known types of defects from recurring, and lesions learned are disseminated to other projects. They can be characterised as continuously improving because level 5 organisations are continuously striving to improve the range of their process capability, thereby improving the process performance of their projects. Improvement occurs both by incremental advancements in the existing process and by innovations using new technologies. Understanding the Levels Initial Level Although level 1 organisations are frequently characterised as having ad hoc processes they frequently develop product that work, even though they may be over the budget and schedule. Success in level 1 depends on the competence and heroics of the people in the organisation. Repeatable and Defined Levels Process enables people to work more effectively by incorporating the lessons learned by the best staff into documented processes, building the skills needed to perform those processes effectively and continually improving by learning from the people performing the job. To achieve level 2, management must focus on its own processes to achieve a disciplined software process. Management establishes a leadership position in achieving level 2 by documenting and following project management processes. The organisational requirement for achieving level 2 is that there are policies that guide the projects in establishing the appropriate management processes. Documented procedures provide the foundation for consistent processes that can be institutionalised across the organisation, with the aid of training and software quality assurance. Level 3 builds on this project management foundation by defining, integrating and documenting the entire software process. Integration in this case means that the outputs of one task flow smoothly into the inputs of the next tasks. Robert Whitaker 4

Managed and Optimizing Levels Based on the concepts of statistical process control. The first responsibility is process control. The software process is managed so that is operates stably within a zone of quality control. Because the process is both stable and measured, when some exceptional circumstance occur, the special case can be identified and addressed. The second responsibility and the focus of level 5 is continuous process improvement. The lessons learned in improving such a process are applied in planning future processes. Visibility into the Software Process At level 1 considered a black box and visibility into the project s processes is limited. Since the staging of activities is poorly defined, managers have an extremely difficult time establishing the status of the project s progress and activities. Requirements flow into the software process in an uncontrolled manner, and a product results. At level 2, the customer requirements and work products are controlled, and basic project management practices have been established. The process of building the software can be viewed as a succession of black boxes that allows management visibility at transition points as activity flows between boxes. At level 3, the internal structure of the boxes, the tasks in the project s defined software process, is visible. Management proactively prepares for risks that may arise. Individuals external to the project can obtain accurate and rapid status updates because defined processes afford great visibility into project activities. At level 4, the defined software processes are instrumented and controlled quantitatively. Mangers are able to measure progress and problems. Their ability to predict outcomes grows steadily more precise as the variability in the process grows smaller. At level 5, new and improved ways of building the software are continually tried, in a controlled manner, to improve productivity and quality. Managers are able to estimate and then track quantitatively the impact and effectiveness of change. Process Capability and the Prediction of Performance 1. As maturity increases, the difference between targeted results and actual results decreases across projects. 2. As maturity increases, the variability of the actual results around targeted results decreases. 3. Targeted results improve as the maturity of the organisation increases. That is, as software organisation matures, cost decrease, development time becomes shorter, and productivity and quality increase. Robert Whitaker 5

Uses of Capability Maturity Model Assessments teams will use the CMM to identify strengths and weaknesses in the organisation Evaluation teams will use the CMM to identify the risks of selecting among different contractors for awarding business and to monitor contracts Managers and technical staff will use the CMM to understand the activities necessary to plan and implement a software process improvement program for their organisation Process improvement groups, will use the CMM as a guide to help them define and improve the software process in their organisation. Key Process Areas Except for level 1, each maturity level is decomposed into several key process areas that indicate the areas an organisation should focus on to improve its software process. Each key process area identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important for enhancing process capability. To achieve a maturity level, the key process areas for that level must be satisfied. To satisfy key process area, each of the goals for the key process area must be satisfied. Level 2 related to establishing basic project management controls Requirements management Software Project Planning Software Project Tracking Software Subcontract Management Software Quality Assurance Software Configuration Management Level 3 address both project and organisational issues Organisation Process Focus Organisation Process Definition Training Program Integrated Software Management Software Product Engineering Inter group Coordination Peer Reviews Level 4 establish a quantitative understanding of both the software process and work products being built Quantitative Process Management Robert Whitaker 6

Software Quality Management Level 5 Issues that both the organisation and the projects must address to implement continuous and measurable software process improvement Defect Prevention Technology Change Management Process Change Management Common Features Commitment to Perform describes the actions the organisation must take to ensure that the process is established and will endure. Involves organisational polices and management sponsorship. Ability to Perform- describes the preconditions that must exist in the project to implement the software process competently Activities Performed describes the roles and procedures necessary to implement a key process area. Measurement and Analysis describes the need to measure the process and analyse the measurements Verifying Implementation describes the steps to ensure that the activities are performed in compliance with the process that has been established. Using the CMM Software Process Assessment used to determine the state of an organisation s current software process, to determine the high-priority software process-related issues facing an organisation, and to obtain the organisational support for software process improvement. Software Capability Evaluations used to identify contractors who are qualified to perform the software work or to monitor the state of the software process used on an existing software effort. The process assessment and capability evaluation methods both Use the maturity questionnaire as a springboard for the on-site visit Use the CMM as a map that guides the on-site investigation Develop findings that identify software process strengths and weaknesses in terms of the key process areas in the CMM Derive a profile based on an analysis of the satisfaction of the goals within the key process area Present their results to the appropriate audience in terms of findings and a key process area profile. Robert Whitaker 7