Agile and CMMI

Post on 15-Jan-2015

3.277 views 6 download

description

 

Transcript of Agile and CMMI

Killing the myths: Agile and CMMI

Agile Eastern Europe Conference

Kiev, 23-24 September 2011

Christophe Debou

Christophe.Debou@kuglermaag.com

Tomasz de Jastrzebiec Wykowski Tomasz.Wykowski@procognita.com

ABOUT US

WHAT IS AGILE?

WHAT IS CMMI®?

Once upon a time ….

CMMI: History 1987 1991 1995 1997 2000 2002

First CMM

Published

Model Refined

and Published as

SW-CMM v1.0

SW-CMM v1.1

Published

1993

Software Acquisition (SA-CMM),

Systems Engineering (SE-CMM),

Integrated Product Development (IPD-CMM),

Organizational Workforce Capability Development (People CMM)

Developed

CMMI Initiative

Launched

CMMI-SE/SW

Version 1.0

Published

CMMI-SE/SW/IPPD/A

Version 1.1

Published

2006

CMMI-DEV

Version 1.2

Published

CMMI 4 SVC

Release

Aug 2005

Service CMMI

Project Started

2009 2010

CMMI V 1.3

Process Improvement is an important part of the solution People

Process Technology

in-quality in-budget

on-time

Objective of improvements is

Increasing the Performance on time,

in budget, in quality

Directly influenced may be

people, processes, and

technology – therefore,

these are the dimensions to

act.

CMMI is a FRAMEWORK • Not a Standard for developing products or

development processes

• Not a life cycle, nor a process, does not require waterfall

• Not a prescription

• Is a description

• Does not require purchase of software or tools

• Mean for process Improvement not process compliance

Why Maturity Models

• Benchmarking

• Improving

• Institutionalizing

• Good Practice catalogue

STRUCTURES AND CONTENTS

Continuous Representation: Process Areas by Category

Project Management

Process Areas

Category

Product Integration Requirements Development Technical Solution Validation Verification

Engineering

Causal Analysis and Resolution Configuration Management Decision Analysis and Resolution Measurement and Analysis Process and Product Quality Assurance

Support

Integrated Project Management Project Monitoring and Control Project Planning Quantitative Project Management Requirements Management Risk Management Supplier Agreement Management

Organizational Process Definition Organizational Process Focus Organizational Performance Management Organizational Process Performance Organizational Training

Process Management

Staged Representation: Process Areas by Maturity Level

Causal Analysis and Resolution Organizational Performance Management

5 Optimizing

4 Quantitatively Managed

3 Defined

2 Managed

Quantitative Management

Process Standardization

Basic Project Management

Organizational Process Performance Quantitative Project Management

Decision Analysis and Resolution Integrated Project Management Organizational Process Definition Organizational Process Focus Organizational Training Product Integration Requirements Development Risk Management Technical Solution Validation Verification

Configuration Management Measurement and Analysis Project Monitoring and Control Project Planning Process and Product Quality Assurance Requirements Management Supplier Agreement Management

1 Initial

Process Areas Level Focus

Continuous Process Improvement

Risk Rework

Quality Productivity

CMMI (Staged Representation) is organized in levels

describing the capabilities of the organization

1

2

3

4

5

No or only few processes, success

dependent on people’s performance

Basic processes established

(especially project management)

Further processes being added, process standardization

and systematic process improvement

Quantitative process control with statistical methods:

Process performance predictable

Continuous process improvement

Architecture of a Process Area

Related

Process Areas Introductory

Notes

Typical Work

Products

Subpractices

Expected Informative

Specific Goals (SG)

Generic Goals (GG)

Required

Purpose

Statement

Specific Practices

(SP) Generic

Practices (GP)

Generic Practice

Elaborations

Legend

Process Area (PA)

Subpractices

Problems and Solutions

Problems Solutions

„CMMI forces us to do things we do not need.“

„Employee have no freedom. Every single step is described.“

„We cannot maintain processes because of their fast pace of changes“

CMMI is a journey to excellence

CMMI Level 2 Process Areas

Project Monitoring and Control

Measurement and Analysis

Project Planning

Requirements Management

Process and Product Quality Assurance

Configuration Management

REQUIREMENTS MANAGEMENT

Requirements Development (RD)

Purpose

• Produce and analyze customer, product, and product component requirements.

Requirements Development Context -1

Analyze and Validate

Requirements

Develop Customer

Requirements

Validated Customer Requirements

Validated Product, Product Component, and Interface Requirements

Develop Product

Requirements Stakeholders’

Needs

Source: Introduction to CMMI, SEI, Accredited Course

Requirements Development Context -2

Develop the Customer

Requirements

Customer Requirements

Develop Customer Requirements

Elicit Needs Stakeholders’

Needs

Source: Introduction to CMMI, SEI, Accredited Course

Requirements Development Context -3

Product, Product Component, and Interface Requirements

Develop Product Requirements

Customer Requirements

TS

Selected

Solutions

Source: Introduction to CMMI, SEI, Accredited Course

Establish Product & Product

Component Requirements

Allocate Product

Component Requirements

Identify Interface

Requirements

Requirements Development Context -4

Analyze and Validate

Requirements

Develop Customer

Requirements

Validated Customer Requirements

Validated Product, Product Component, and Interface Requirements

Develop Product

Requirements Stakeholders’

Needs

Requirements Development Context -5

Analyze Requirements

to Achieve Balance

Analyze Requirements

Customer, Product, Product Component, and Interface Requirements

Validated Requirements

Analyze and Validate Requirements

Validate Requirements

Establish Operational Concepts

& Scenarios

Establish a Definition of

Required Functionality

Requirements Management (REQM)

Purpose

• The purpose of Requirements Management (REQM) is to manage the requirements of the project’s products and product components and to identify inconsistencies between those requirements and the project’s plans and work products.

Requirements Management Context

Requirements

Traceability Matrix

Maintain Bidirectional Traceability of Requirements

Identify Inconsistencies Between Project

Work and Requirements

Manage Requirements

Obtain an Understanding

of Requirements

Obtain Commitment

to Requirements

Manage

Requirements

Changes

Customer collaboration over contract negotiation --- Agile Manifesto ---

Requirements Management

CMMI Goal

SG 1 Requirements are managed and inconsistencies with the project plans and work products are identified

Agile Practices Gathered in Product Backlog Ordered and prioritized In form of User Stories for better

understanding. Clarified by discussion and acceptance

criteria definition. PO is the ultimate decision maker Team committing to Sprint scope Scope updated basing on facts. Implemented functionality demoed and

accepted at Sprint Review. Automated acceptance tests to ensure

traceability and identify inconsistences

PROJECT PLANNING

Project Planning (PP)

Purpose

• Establish and maintain plans that define project activities.

Project Planning Context -1

Planning Data

Establish Estimates

Develop a Project Plan

Obtain Commitment to the Plan

Project Plan

PMC

Relevant

Stakeholders

Source: Introduction to CMMI, SEI, Accredited Course

Project Planning Context -2

Determine Estimates

of Effort and Cost

Planning Data

Establish Estimates

Estimate the Scope

of the Project

Establish Estimates of

Work Product and Task

Attributes

Define Project Lifecycle

Source: Introduction to CMMI, SEI, Accredited Course

Project Planning Context -3

Planning Data

Develop a Project Plan

Plan for Project

Resources

Project Plan

Establish the Project

Plan

Identify Project Risks

Plan for Needed

Knowledge and Skills

PMC

Establish the Budget

and Schedule

Plan for Data

Management

Plan Stakeholder

Involvement

Source: Introduction to CMMI, SEI, Accredited Course

Project Planning Context – 4 Obtain Commitment

to the Plan

Reconcile Work and Resource

Levels

Project Plans

Review Plans that

Affect the Project

Obtain Plan

Commitment

Relevant

Stakeholders

Source: Introduction to CMMI, SEI, Accredited Course

“In preparing for battle I have always found that plans are useless, but planning is indispensable.”

--- Dwight David Eisenhower ---

Project Planning

CMMI Goal

SG 1 Estimates of project planning parameters are established and maintained

Agile Practices

Separate estimates for stories (Story Points) and Tasks (Ideal Hours) allows for different levels of accuracy.

Work break down structure (WBS) with different levels of details (Product, features, epics, stories and tasks)

Costs and effort can be derived from estimates (#h/SP).

Project Planning

CMMI Goal

SG 2 A project plan is established and maintained as the basis for managing the project.

Agile Practices

Planning on different levels (Product, Release, Sprint, Day).

Updating plans basing on facts (inspect & adapt)

Budget and schedule derived from estimates. Owned by PO

Risks captured in User Stories. High risk stories implemented first.

Transparency of status.

Committed Team, PO and SM

Cross-functional Team

Project Planning

CMMI Goal

SG 3 Commitments to the project plan are established and maintained

Agile Practices

Committed Team, PO and SM

Project plans reviewed and committed to during Release/Sprint planning meetings

Project status is reviewed (Inspect) on Daily Scrums, Reviews and Retrospectives and plans are updated

PROJECT MONITORING AND CONTROL

Project Monitoring and Control (PMC)

Purpose

• Provide understanding of the project’s progress so that appropriate corrective actions can be taken when the project’s performance deviates significantly from the plan.

Project Monitoring and Control Context

Project Plan

Monitor Project Against Plan

PP

Manage Corrective Action

to Closure

Monitor Project Planning

Parameters

Monitor Commitments

Monitor Project Risks

Monitor Data

Management

Conduct Milestone Reviews

Conduct Progress Reviews

Monitor Stakeholder Involvement Manage

Corrective Action

Take Corrective

Action

Analyze Issues

Source: Introduction to CMMI, SEI, Accredited Course

Responding to change over following a plan --- Agile Manifesto ---

Project Monitoring and Control

CMMI Goal

SG 1 Actual performance and progress of the project are monitored against the project plan

Agile Practices

Project status inspection on Daily Scrum, Reviews and Retrospectives

Measurements based on facts (delivered stories)

Main metric – Velocity

Concentration on TODO value, rather than on time already spent.

Project Monitoring and Control

CMMI Goal

SG 2 Corrective actions are managed to closure when the project's performance or results deviate significantly from the plan.

Agile Practices

Plans updated basing on facts.

More flexibility – in case of delays scope can be limited to meet deadlines.

Impediments collected and resolved by ScrumMaster

MEASUREMENT AND ANALYSIS

Measurement and Analysis (MA)

Purpose

• Develop and sustain a measurement capability that is used to support management information needs.

Measurement & Analysis Context

Information need

Measurement Repository

Measurement Results

Measurement Objectives

Store Data & Results

Specify Data

Collection and Storage Procedures

Procedures and Tools

Align Measurement and Analysis Activities

Provide Measurement Results

Establish Measurement

Objectives

Specify Measures

Specify Analysis

Procedures

Communicate Results

Analyze Measurement

Data

Collect Measurement

Data

Source: Introduction to CMMI, SEI, Accredited Course

“Data is of course important in manufacturing, but I place the greatest emphasis on facts.”

--- Taiichi Ohno ---

Measurements and Analysis

CMMI Goal

SG 1 Measurement objectives and activities are aligned with identified information needs and objectives.

Agile Practices

Agile Process and Quality metrics (e.g. Velocity, Code Coverage)

Use it or Lose it – too much data can hinder understanding of project status.

Measurements based on facts (delivered stories)

Measurements and Analysis

CMMI Goal

SG 2 Measurement results that address identified information needs and objectives are provided.

Agile Practices

Information radiators – visible data make project status available for everybody

Measurements analyzed on different levels (on daily, Sprint, Release basis)

CONFIGURATION MANAGEMENT

Configuration Management (CM)

Purpose

• Establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and

configuration audits.

SG1: Establish baselines of identified work products

• A set of specifications or work products that has been formally reviewed and agreed on, which thereafter serves as the basis for further development, and which can be changed only through change control procedures. ”

Require ments

Sub-Areas of Development

Time (successive versions coming about)

Examples of Baselines: Design Code Test Cases

Iteration I Baseline

Iteration II Baseline

Iteration III Baseline

Baseline

Release I Baseline

Configuration Management Context

Change

Request

Database

Configuration

Management

System

Establish a Configuration Management

System

Change Requests

Action Items

Audit Results

Reports

Establish Baselines

Establish Integrity

Track and Control Changes

Create or Release

Baselines

Identify Configuration

Items

Establish Configuration Management

Records

Perform

Configuration Audits

Track Change

Requests

Control Configuration

Items

Source: Introduction to CMMI, SEI, Accredited Course

Working software over comprehensive documentation --- Principles behind the Agile Manifesto ---

Configuration Management

CMMI Goal

SG 1 Baselines of identified work products are established.

SG 2 Changes to the work products under configuration management are tracked and controlled.

SG 3 Integrity of baselines is established and maintained

Agile Practices

Configuration Management has to be supported by automated tools

Code and important documents held under version control and updated often

Common code – anyone can make changes

Anyone can add new requirements, but it’s PO who order them

Limit number of development branches in order to avoid integration issues

PROCESS AND PRODUCT QUALITY ASSURANCE

Process and Product Quality Assurance (PPQA)

Purpose

• Provide staff and management with objective insight into processes and associated work products.

Process and Product Quality Assurance Context

Reports and Records

Objectively Evaluate Processes and Work Products

Provide Objective Insight

Objectively

Evaluate Processes

Establish Records

Communicate and Ensure

Resolution of Noncompliance

Issues

Objectively Evaluate

Work Products

& Services

Relevant Stakeholders

Source: Introduction to CMMI, SEI, Accredited Course

Individuals and interactions over processes and tools --- Agile Manifesto ---

Process and Product Quality Assurance

CMMI Goal

SG 1 Adherence of the performed process and associated work products and services to applicable process descriptions, standards, and procedures is objectively evaluated.

Agile Practices

SM responsible for implementing Scrum processes by coaching and explaining the goals, not by enforcing the rules

Tools to ensure product and process quality adherence (e.g. automated tests), not to enforce it.

Retrospectives and Reviews allow for process and product quality improvements.

Team own development process.

Process and Product Quality Assurance

CMMI Goal

SG 2 Noncompliance issues are objectively tracked and communicated, and resolution is ensured.

Agile Practices

Noncompliance usually caused by problems with communication or processes. Therefore beside solving the quality problem, the root cause should be identified and removed by improving communication/process.

APPRAISALS: SCAMPI STANDARD CMMI APPRAISAL METHOD FOR PROCESS IMPROVEMENT

The Appraisal Method

Organization/

Projects Process

Deployment

Lessons Learned/

Improvements

Appraisal Team

Findings,

Recommendations Actual

Practice

Appraisal

Requirements

The

Process

Organizational

Process Suite

Collecting Evidence in Agile Environment

SUMMARY

Agile Processes

• Realistic – defined with support of those who will be using it, not ‘theoretical experts’

• Live – Revised basing on lesson learned from individual project

• Flexible – can be tailored to team and project needs, should allow creativity, not introduce artificial limits

• Learnable – Written using language understandable by those who will be using it

• Supportive – must be perceived as helpful by those who will be using it.

• Lean – limit the ‘waste’ in the processes. Remove all activities that does not add value to final product.

• Owned - by those who per form work

CMMI Processes

• Realistic – defined with support of those who will be using it, not ‘theoretical experts’

• Live – Revised basing on lesson learned from individual project

• Flexible – can be tailored to team and project needs, should allow creativity, not introduce artificial limits

• Learnable – Written using language understandable by those who will be using it

• Supportive – must be perceived as helpful by those who will be using it.

• Lean – limit the ‘waste’ in the processes. Remove all activities that does not add value to final product.

• Owned - by those who per form work

Agile

• Culture of high trust

• Collaboration with customer

• Flexibility and ability to react

• Transparency

• Concentrates on learning – inspect & adapt

• Self organizing – delegating power to the team

• Working software

• Tools & techniques

• Implements ‘how’ of CMMI’s ‘what’.

• Supports CMMI, but do not cover all requirements

CMMI

• Organizational development and learning

• A model, not a cookbook

• Can be applied in any context and organizational size (just a matter of interpretation)

• Is not in contradiction with Agile Philosophy and techniques

• Wider coverage

• Focus on institutionalization of good practices

• Implement CMMI rather than applying it

Further reading

Articles: • Paul S. Adler “Building better Bureaucracies” The Academy of

Management Executive, Vol. 12, No. 4, p. 36, 1999 • Hillel Glazer, Jeff Dalton, David Anderson, Michael D. Konrad, Sandra

Shrum “CMMI or Agile: Why Not Embrace Both!” SEI Technical Note CMU/SEI-2008-TN-003 November 2008

Reports: • CMMI for Development, Version 1.3, Technical Report, CMU/SEI-

2010-TR-033, November 2010 Books: • Jeffrey K. Liker, David Meier “The Toyota Way Fieldbook” , McGraw-

Hill, 2005

Killing the myths: Agile and CMMI

Agile Eastern Europe Conference

23-24 September 2011

Christophe Debou

Christophe.Debou@kuglermaag.com

Tomasz de Jastrzebiec Wykowski Tomasz.Wykowski@procognita.com