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

Copyright © 2008 Broadsword Solutions Corporation CMMI and Agile: Why Implement then together Jeff Dalton, President Broadsword, an SEI Partner Agile Evangelist

Embed Size (px)

Citation preview

Copyright © 2008 Broadsword Solutions Corporation

CMMI and Agile: Why Implement then together

Jeff Dalton, President

Broadsword, an SEI PartnerAgile EvangelistCertified SCAMPI Lead AppraiserCertified 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 BacklogChange 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.

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

Eff

ort

& C

ost

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 CodePP.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!

RequirementsPlanning 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 &

ControlProject

Monitoring & Control

Configuration ManagementConfiguration

Management

Requirements ManagementRequirements

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.1GP2.2GP2.3GP2.4GP2.5GP2.6GP2.7GP2.8GP2.9GP2.10GP3.1GP3.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 selectionDescription (swim-meet)Use PolicyProceduresWho leads it?TrainingVersioningWho is affectedHow is it working?Is one being usedWhat are the results?

EST-APlanning Poker

EST-BWide-Band

Delphi

EST-CCOCOMO

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 selectionDescription (swim-meet)Use PolicyProceduresWho leads it?TrainingVersioningWho is affectedHow is it working?Is one being usedWhat are the results?

VER-APair

Programming

VER-BPrototypes

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 selectionDescription (swim-meet)Use PolicyProceduresWho leads it?TrainingVersioningWhose affectedHow is it working?Is one being usedWhat are the results?

VAL-AUser Stories

VAL-BSimulations

VAL-CFagen

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-APlanning Poker

VAL-CUser Stories

VER-CTraditional Test+ +

Process Pattern “X-RAY”

Estimation Validation Verification

What are the Objectives of your project? (Bravo)

Estimation Validation Verification

EST-BWide-Band

Delphi

VAL-BFagen

Inspections

VER-BPrototypes+ +

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-BWide-Band

Delphi

VAL-BSimulations

VER-BFagen

Inspections+ +

Process Pattern “Zulu1”

Objective: To build a system that fixes the economy

Risk Level: High

Effort and Cost: Ridiculous

EST-CCOCOMO

EST-DHybrid

This is continuous improvement of the

Process!

Use Cases

Simulations

Prototypes

Measurement: How is each EPO performing?

Baseline “Feature VAL” performance

Fea

ture

Def

ects

Dis

cove

red

Understanding EPO Pattern® Performance

Encapsulated Process Objects is a registered trademark for Broadsword Solutions Corporation

Estimation Validation Verification

EST-BWide-Band

Delphi

VAL-BSimulations

VER-BFagen

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:

RE

LE

AS

E90 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

MetricsMA

RequirementsRM, RD,

Traceability

Project Management

PM, PMC

Agile Process Deployment in 3 Releases

Q2

Launch SIGs:

Q3 Q3Q1 Q2Q4 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 ArchitectureG

eneric Practices &

OP

D

OP

F &

IP

M

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