30
Copyright © 2008 Broadsword Solutions Corporation CMMI and Agile: Why Implement then together Jeff Dalton, President Broadsword, an SEI Partner Agile Evangelist Certified SCAMPI Lead Appraiser Certified CMMI Instructor CMMI and SCAMPI are registered trademarks of Carnegie Mellon University

CMMI and Agile- why implement both - Broadswordbroadswordsolutions.com/wp-content/uploads/2011/02/... · PP PMC IPM RSKM MA PPQA CM DAR SAM TS RD PI REQM VAL VER OPD OPF OT GP2.1

Embed Size (px)

Citation preview

Copyright © 2008 Broadsword Solutions Corporation

CMMI and Agile: Why Implement then together

Jeff Dalton, President Broadsword, an SEI Partner Agile Evangelist Certified SCAMPI Lead Appraiser Certified CMMI Instructor

CMMI and SCAMPI are registered trademarks of Carnegie Mellon University

A useless, rigid and audit-driven death-

march that turns us into zombies and

forces us into slave-like adherence to

THE PROCESS

How do some engineers feel about CMMI?

Agile isn’t just a set of methods….it’s a philosophy

Perceived for CMMI* Possible Substitute

Meeting Minutes

Iteration/Sprint Log

Notice of Decision

Stakeholder Involvement Report

Status Reports

Stakeholder Communications

Change Request Log

Feature Backlog Change Request Approval Form

Detailed Requirement Specification

Bi-directional Traceability Matrix

COCOMO, SLOC, Top Down, Function Points Planning Poker, Ideal Days, Feature Value

* Notice “perceived.” Nothing in the model requires this.

Don’t create a work product for every practice, look to the INFORMATIVE MATERIAL

to understand the INTENT of the practice, and strive to satisfy it’s meaning.

The Agile Process Manifesto© . . . * We are learning that the traditional ways of developing process need improvement

and that, through iteration and collaboration with others, we have come to observe that:

Innovation

Useful Processes

Process Mandates

Certifications & Audits

Collaboration

Flexibility & Agility Rigid Compliance

Coercion & Punishment

Outweighs

Outweigh

Outweighs

Outweigh

© Broadsword Solutions Corporation 2009, 2010 *with appropriate attribution to Jeffries, Sutherland, et al

Benefit

Effo

rt &

Cos

t Scope = Cost. Agile methods are well suited to control process scope

JENTMsm = Courage to stop

$

If you only remember one thing . . .

David Lee Roth – Agile Process Genius?

A story about a Rock Star, an M&M, and “Just Enough Process.”

The composition of the process should help us meet

PROJECT OBJECTIVES (IPM, QPM)

not management’s need to see and understand

ONE SINGLE PROCESS (none)

The CMMI was designed to be Agile .. Really!

This is the essence of TAILORING.

We don’t “tailor-out” we SELECT what is right for us.

“Agile” Methods use some new techniques, but . . .

Planning Poker

Refactoring Pair Programming

Test-driven development

Value Velocity

Requirements in Code PP.SP1.1, SP1.4

REQM.SP1.5

GP2.8, MA.SP1.2

RD.SP1.2

VAL.SP2.1, SP2.2, VER.SP3.1, SP3.2

RD.SP3.1-3.4, VAL

It’s not the PROCESS….It’s the ENGINEERING!

Requirements Planning Design and Code Test Deliver

A new way to understand process velocity

First, strive to understand where work is occurring and where the CMMI Model addresses that work. Use the practices and informative materials to understand where your gaps are.

OPF

PP PMC IPM RSKM MA PPQA CM DAR SAM TS RD PI REQM VAL VER OPD OPF OT

GP2.1

GP2.2

GP2.3

GP2.4

GP2.5

GP2.6

GP2.7

GP2.8

GP2.9 GP2.10

GP3.1

GP3.2

Use an appraisal to understand institutional weaknesses

AgileCMMI

Encapsulated Process Objects® - an Agile approach

Organizational Process

Measurement & Analysis

Process & Product Quality

Assurance

Project Monitoring &

Control Risk

Management Configuration Management

Requirements Management

object object object

Project Monitoring &

Control Project

Monitoring & Control

Configuration Management Configuration

Management

Requirements Management Requirements

Management

Encapsulated Process Objects is a registered trademark for Broadsword Solutions Corporation

Common “Methods” make EPO’s successful

•  Establish a Policy (set expectations) •  Plan the Process (embed the process in the project) •  Provide Resources (tools, technologies, processes) •  Assign Responsibility (team agreements) •  Train People (mentoring, coaching) •  Manage Configurations (revision control the EPOs) •  ID and Involve Stakeholders (team agreements) •  Monitor and Control (how is it working) •  Objectively evaluate adherence (why are people using/not) •  Review with management (Do they care?) •  Define the process (process patterns) •  Collect improvement information (make it better and easier)

GP2.1 GP2.2 GP2.3 GP2.4 GP2.5 GP2.6 GP2.7 GP2.8 GP2.9 GP2.10 GP3.1 GP3.2

These common attributes are the difference between a “series of steps” and a successful, useful process

Three Examples, Three Case Studies

Estimation Verification Validation

Project “Charlie”

Project “Bravo”

Project “Alpha”

p_Class: Estimation Criteria for selection Description (swim-meet) Use Policy Procedures Who leads it? Training Versioning Who is affected How is it working? Is one being used What are the results?

EST-A Planning Poker

EST-B Wide-Band

Delphi

EST-C COCOMO

I n s t a n t i a t e

or

or

EPO®: Estimation

EPOs have encapsulated within them the “code” (process) and “data” (attributes) needed to be successful.

p_Class: Verification Criteria for selection Description (swim-meet) Use Policy Procedures Who leads it? Training Versioning Who is affected How is it working? Is one being used What are the results?

VER-A Pair

Programming

VER-B Prototypes

VER-C “Traditional

Test”

I n s t a n t i a t e

or

or

EPO®: Software Verification

Each EPO has been vetted and accepted by the user community and can be adopted with confidence

p_Class: Feature Validation Criteria for selection Description (swim-meet) Use Policy Procedures Who leads it? Training Versioning Whose affected How is it working? Is one being used What are the results?

VAL-A User Stories

VAL-B Simulations

VAL-C Fagen

Inspections

I n s t a n t i a t e

or

or

EPO®: Feature Validation

EPOs are selected based on the goals and objectives of the project, are subject to continuous improvement

What are the Objectives of your project? (Alpha)

Objective: To quickly and cost effectively build and deploy a web site that announces upcoming events Risk Level: Low Effort and Cost: Low

EST-A Planning Poker

VAL-C User Stories

VER-C Traditional Test + +

Process Pattern “X-RAY” Estimation Validation Verification

What are the Objectives of your project? (Bravo)

Estimation Validation Verification

EST-B Wide-Band

Delphi

VAL-B Fagen

Inspections

VER-B Prototypes + +

Process Pattern “Zulu”

Objective: To build troop detection systems to avoid “blue-on-blue” casualties in Iraq Risk Level: High Effort and Cost: High

What are the Objectives of your project? (Charlie)

Estimation Validation Verification

EST-B Wide-Band

Delphi

VAL-B Simulations

VER-B Fagen

Inspections + +

Process Pattern “Zulu1”

Objective: To build a system that fixes the economy Risk Level: High Effort and Cost: Ridiculous

EST-C COCOMO

EST-D Hybrid

This is continuous improvement of the

Process!

Use Cases

Simulations

Prototypes

Measurement: How is each EPO performing?

Baseline “Feature VAL” performance

Feat

ure

Def

ects

Dis

cove

red

Understanding EPO Pattern® Performance

Encapsulated Process Objects is a registered trademark for Broadsword Solutions Corporation

Estimation Validation Verification

EST-B Wide-Band

Delphi

VAL-B Simulations

VER-B Fagen

Inspections + +

Process Pattern “Zulu”

Rew

ork

from

all

defe

cts

Iteration 1

Spike

Iteration 2

Validate

Iteration 3

Lock

Iteration 4

Educate & Communicate

4 weeks 2 weeks 4 weeks 2 weeks

OUTPUTS: ▪ Swim lanes

▪ Process description ▪ Policies ▪ Metrics

▪ Tailoring guidelines ▪ SCRs to other PATs ▪ List of artifacts to

produce in next stage

OUTPUTS: ▪ Changes

Saves

OUTPUTS: ▪ Process revisions

▪ Artifacts ▪ Pilots

▪ Defect Fixes

OUTPUTS: ▪ Training Materials ▪ xEPG CMMI

Interpretation ▪ Templates for Process

Creation •  Project Monitoring Aids ▪ SIG Training ▪ Process Area (PA)

Training

INPUTS: INPUTS: INPUTS: INPUTS:

RELEA

SE 90 Day Release Cycle

How to deploy? Iteratively of course!

Organizational: Encapsulated Process Objectstm

Engineering Process Group (xEPG)

The xEPG is the OWNER of standard

processes

The SIGS inherit methods &

attributes from xEPG and contains a PROCESS

LEADER and the VOICE of the COMMUNITY

PERSISTANT CONTAINER hosting multiple, permanent sub-processes working groups

The xEPG is a SUSTAINABLE body that charters SIGs to design, rollout, & maintain sub-processes; membership in the xEPG or SIGs may rotate but the bodies are PERSISTANT

Process Test Team

(SCAMPI)

Process Management

OPD, OPF

Configuration Management

CM Metrics

MA

Requirements RM, RD,

Traceability

Project Management

PM, PMC

Agile Process Deployment in 3 Releases

Q2

Launch SIGs:

Q3 Q3 Q1 Q2 Q4 Q4

2008 2009

• Process Management

SCAMPI Class C

Train & mentor teams

SCAMPI Class B

SCAMPI Class A

• Configuration Management

• Process Quality

• Project Management

• Requirements

• Supplier Management

CELEBRATE!

R1

R2

R3

An Continously Improving Process Architecture G

eneric Practices &

OP

D

OP

F &

IPM

Exercise: You need to perform peer code reviews

What are your goals? How will Peer Code Reviews help you? What is a useful way to do this? - When does it happen?

-  How often? -  what types -  what conditions to select the type?

What is our feature backlog? What do your peers think? Refactor? How to deploy it? How does that compare with the CMMI? Refactor? Stakeholder approval

Some things to remember . . .

•  Use the CMMI Model as a GUIDE, not as a checklist

•  Agile is a philosophy of “just enough.”

•  Start with what you know you do well and build on it

•  Understand the Practices, but don’t let them drive malpractice

•  Focus on fixing problems, not achieving a “level” of CMMI

•  Apply process objects incrementally and iteratively and don’t forget to think Agility!

Thank you!

For the latest version of this presentation please email:

[email protected]

AGILE CMMI