Agile and CMMI

82
Killing the myths: Agile and CMMI Agile Eastern Europe Conference Kiev, 23-24 September 2011 Christophe Debou [email protected] Tomasz de Jastrzebiec Wykowski [email protected]

description

 

Transcript of Agile and CMMI

Page 1: Agile and CMMI

Killing the myths: Agile and CMMI

Agile Eastern Europe Conference

Kiev, 23-24 September 2011

Christophe Debou

[email protected]

Tomasz de Jastrzebiec Wykowski [email protected]

Page 2: Agile and CMMI

ABOUT US

Page 3: Agile and CMMI

WHAT IS AGILE?

Page 4: Agile and CMMI
Page 5: Agile and CMMI
Page 6: Agile and CMMI
Page 7: Agile and CMMI

WHAT IS CMMI®?

Page 8: Agile and CMMI
Page 9: Agile and CMMI
Page 10: Agile and CMMI
Page 11: Agile and CMMI
Page 12: Agile and CMMI
Page 13: Agile and CMMI

Once upon a time ….

Page 14: Agile and CMMI

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

Page 15: Agile and CMMI

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.

Page 16: Agile and CMMI

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

Page 17: Agile and CMMI

Why Maturity Models

• Benchmarking

• Improving

• Institutionalizing

• Good Practice catalogue

Page 18: Agile and CMMI

STRUCTURES AND CONTENTS

Page 19: Agile and CMMI

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

Page 20: Agile and CMMI

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

Page 21: Agile and CMMI

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

Page 22: Agile and CMMI

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

Page 23: Agile and CMMI

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“

Page 24: Agile and CMMI

CMMI is a journey to excellence

Page 25: Agile and CMMI

CMMI Level 2 Process Areas

Project Monitoring and Control

Measurement and Analysis

Project Planning

Requirements Management

Process and Product Quality Assurance

Configuration Management

Page 26: Agile and CMMI

REQUIREMENTS MANAGEMENT

Page 27: Agile and CMMI

Requirements Development (RD)

Purpose

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

Page 28: Agile and CMMI

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

Page 29: Agile and CMMI

Requirements Development Context -2

Develop the Customer

Requirements

Customer Requirements

Develop Customer Requirements

Elicit Needs Stakeholders’

Needs

Source: Introduction to CMMI, SEI, Accredited Course

Page 30: Agile and CMMI

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

Page 31: Agile and CMMI

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

Page 32: Agile and CMMI

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

Page 33: Agile and CMMI

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.

Page 34: Agile and CMMI

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

Page 35: Agile and CMMI

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

Page 36: Agile and CMMI

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

Page 37: Agile and CMMI

PROJECT PLANNING

Page 38: Agile and CMMI

Project Planning (PP)

Purpose

• Establish and maintain plans that define project activities.

Page 39: Agile and CMMI

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

Page 40: Agile and CMMI

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

Page 41: Agile and CMMI

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

Page 42: Agile and CMMI

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

Page 43: Agile and CMMI

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

--- Dwight David Eisenhower ---

Page 44: Agile and CMMI

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).

Page 45: Agile and CMMI

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

Page 46: Agile and CMMI

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

Page 47: Agile and CMMI

PROJECT MONITORING AND CONTROL

Page 48: Agile and CMMI

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.

Page 49: Agile and CMMI

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

Page 50: Agile and CMMI

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

Page 51: Agile and CMMI

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.

Page 52: Agile and CMMI

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

Page 53: Agile and CMMI

MEASUREMENT AND ANALYSIS

Page 54: Agile and CMMI

Measurement and Analysis (MA)

Purpose

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

Page 55: Agile and CMMI

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

Page 56: Agile and CMMI

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

--- Taiichi Ohno ---

Page 57: Agile and CMMI

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)

Page 58: Agile and CMMI

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)

Page 59: Agile and CMMI

CONFIGURATION MANAGEMENT

Page 60: Agile and CMMI

Configuration Management (CM)

Purpose

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

configuration audits.

Page 61: Agile and CMMI

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

Page 62: Agile and CMMI

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

Page 63: Agile and CMMI

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

Page 64: Agile and CMMI

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

Page 65: Agile and CMMI

PROCESS AND PRODUCT QUALITY ASSURANCE

Page 66: Agile and CMMI

Process and Product Quality Assurance (PPQA)

Purpose

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

Page 67: Agile and CMMI

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

Page 68: Agile and CMMI

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

Page 69: Agile and CMMI

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.

Page 70: Agile and CMMI

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.

Page 71: Agile and CMMI

APPRAISALS: SCAMPI STANDARD CMMI APPRAISAL METHOD FOR PROCESS IMPROVEMENT

Page 72: Agile and CMMI

The Appraisal Method

Organization/

Projects Process

Deployment

Lessons Learned/

Improvements

Appraisal Team

Findings,

Recommendations Actual

Practice

Appraisal

Requirements

The

Process

Organizational

Process Suite

Page 73: Agile and CMMI

Collecting Evidence in Agile Environment

Page 74: Agile and CMMI

SUMMARY

Page 75: Agile and CMMI
Page 76: Agile and CMMI

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

Page 77: Agile and CMMI

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

Page 78: Agile and CMMI

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

Page 79: Agile and CMMI

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

Page 80: Agile and CMMI

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

Page 81: Agile and CMMI
Page 82: Agile and CMMI

Killing the myths: Agile and CMMI

Agile Eastern Europe Conference

23-24 September 2011

Christophe Debou

[email protected]

Tomasz de Jastrzebiec Wykowski [email protected]