You are on page 1of 29

2010

Empowering People through Process

Agile/Scrum Development Using the CMMI Framework


NASA IT Summit 18 Aug 2010 Kent Aaron Johnson CTO of AgileDigm, Inc.
CMMI is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University. 1

Copyright Notices
The presentation material in this seminar is copyrighted by AgileDigm, Incorporated, 2010. For further information, please contact: AgileDigm, Inc. 11 Twelve Oaks Trail Ormond Beach, Florida 32174 U.S.A. Phone: +1.386.673.1384 Email: info@agiledigm.com Terms like these are often used in the following material: CMMI SCAMPIsm and SCAMPI Lead Appraisersm
CMMI is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University. SM SCAMPI and SCAMPI Lead Appraiser are service marks of Carnegie Mellon University.

2010
Agile/Scrum Development Using the CMMI Framework

Kent A. Johnson
Chief Technical Officer of AgileDigm, Incorporated
AgileDigm is an international consulting company that was formed in 2001 to support an agile paradigm for process improvement. Certified ScrumMaster, SEI-certified SCAMPI High Maturity Lead Appraiser, and an SEI-authorized CMMI instructor. Has helped clients in over 25 countries to improve their ability to develop products - including one of the worlds only Agile Organizations to achieve CMMI Maturity Level 5. Co-author of Interpreting the CMMI: A Process Improvement Approach, Second Edition, Auerbach (2008) and numerous peer reviewed papers on Agile and CMMI.

kent.johnson@agiledigm.com
Agile/Scrum Development Using the CMMI Framework

2010

3 3

Agile/Scrum + CMMI
What is in it for me?
Getting to Hyperproductive Scrum
Hyperproductive Scrum is really fun!!

More time to surf

What is in it for my enterprise?


Getting to Hyperproductive Scrum
Money for nothing Change for free

Leads to developing products quickly Leads to developing the right products Obtaining a CMMI level rating for organizational recognition Jeff Sutherland and Kent Johnson 2010
2010
Agile/Scrum Development Using the CMMI Framework

One Comparison
Scrum Primer
22 pages double side 8 by 11

CMMI 2nd Edition


676 page hardback book

Interpreting the CMMI


404 page hardback book

2010
Agile/Scrum Development Using the CMMI Framework

CMMI Does Not Require Waterfall


What the CMMI is not: CMMI is not Waterfall. CMMI does not require any particular lifecycle.

2010
Agile/Scrum Development Using the CMMI Framework

Agile Manifesto
www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.

Don't misread as there is no value to the things on the right.


2010
Agile/Scrum Development Using the CMMI Framework

77

CSM v10.21 Jeff Sutherland 1993-2009

Agile Methods
Agile Methods includes:
Scrum eXtreme Programming Lean Software Development Feature-Driven Development Test-Driven Development and many others

Lots of available books


2010
Agile/Scrum Development Using the CMMI Framework

What is Scrum? (1/2)


Scrum is an iterative incremental process of software development commonly used with agile software development.
Despite the fact that "Scrum" is not an acronym, some companies implementing the process have been known to adhere to an all capital letter expression of the word, i.e. SCRUM. This may be due to one of Ken Schwaber's early papers capitalizing SCRUM in the title.
2010
Agile/Scrum Development Using the CMMI Framework

What is Scrum? (2/2)


Product Backlog Backlog items selected for release Sprint backlog S3 backlog S2 backlog

Product Backlog

S1 backlog Sprints in this release

Sprint 1
Product Owner Daily Scrum

Sprint 2

Sprint 3

Team

Retrospective Review

Scrum Master

Agenda

Burndown

Agenda Agenda

Sprint backlog

Product (increment) Ready checklist 10 Done checklist

http://demo.callis.dk/scrum
Agile/Scrum Development Using the CMMI Framework

2010

Realized Benefits from Scrum


In Jeff Sutherlands, Hyperproductive Distributed Scrum Teams presentation Google TechTalk, July 2008 he documented: Excellent Scrum annual revenue up 400% Patient Keeper Others in Scandinavia, I cannot name Good Scrum revenues up 300% Companies in Scandinavia, I cannot name Pretty Good Scrum revenues up 150-200% Google 160% Systematic Software Engineering 200% (pre 2008) ScrumBut revenues up 0-35% Yahoo, most companies
2010
Agile/Scrum Development Using the CMMI Framework

11

Scrum and XP
The first Scrum used all the XP engineering practices, set-based concurrent engineering, and viewed software development as maintenance, not manufacturing. Most high performance teams use Scrum and XP together. It is hard to get a Scrum with extreme velocity without XP engineering practices. You cannot scale XP without Scrum.
Jeff Sutherland and Kent Johnson 2010
2010
Agile/Scrum Development Using the CMMI Framework

12

XP as an Example
eXtreme Programming covers
Programming (test-first programming, automated unit tests, Simple Design (YAGNI), Refactoring) Planning (Planning game, frequent/small Releases, short iterations, flexible plans, 40 hour week) Customer (Dedicated, Onsite, Automated Acceptance Tests, Customer Steers) Pair (Pair Programming, Open Workspace, Collective Ownership, Integration Machine) Team (Continuous Integration, Coding Standard, Metaphor)

XP

2010
Agile/Scrum Development Using the CMMI Framework

13

Simple Comparison
CMMI
A structured collection of best practices What you should do Focus is on improving product quality through process performance

Agile/Scrum
A set of rules that constrains behavior How you should do it Focus is on increasing customer satisfaction

2010
Agile/Scrum Development Using the CMMI Framework

14

Common Failures with Scrum


1. Misunderstanding what Scrum is
(and is not)

2. Software not tested at end of sprint


(definition of Done)

3. Backlog not ready at beginning of sprint


(definition of Ready)

4. Lack of facilitation or bad facilitation 5. Lack of management support 6. Lack of client, customer, or end user support Jeff Sutherland and Kent Johnson 2010
2010
Agile/Scrum Development Using the CMMI Framework

15

Key CMMI Attributes


1. 2. 3. 4. 5. 6. 7. Overall Planning and Tracking Training Risk Management Organizational Learning Organizational Visibility Measurement Institutionalization

2010
Agile/Scrum Development Using the CMMI Framework

16

Common Failures with CMMI


1. Too heavy a process definition 2. Lack of management support 3. Different understandings of mission and goals 4. Process adoption not well planned 5. Process and procedure definition forced on staff 6. Pilots of process too limited
2010
Agile/Scrum Development Using the CMMI Framework

17

Scrum Checklist Examples

Right Level of Process (1/2)


Practical processes and work aids contain enough information to be useful.

2010
Agile/Scrum Development Using the CMMI Framework

18

Scrum Status Report Example

Right Level of Process (2/2)


Anvil Project Weekly Status Report
User Stories Completed
As a User, I want to be able to use my anvil 24/7 As a User (all personas), I want to be able to carry my anvil

Lessons Learned during the sprint


Breaking down stories into 20 points or less is a big help

Impediments (not closed during week)


Testers assigned to multiple projects

Risks
User environment may not be ready on time for final acceptance testing .
2010
Agile/Scrum Development Using the CMMI Framework

19

Scrum support for ML 3


Scrum (and XP)
simple set of rules product backlog defined roles self organizing team XP engineering practices continuous integration

CMMI ML 3
defined process managed requirements project management
technical solution product integration

2010
Agile/Scrum Development Using the CMMI Framework

20

Success Story
Systematic A/S is a success story using Agile Methods in a CMMI Implementation. Addresses their business objectives
doubled productivity cut defects by 40% on top of years of other CMM and CMMI improvements.

Reappraised at CMMI Maturity Level 5 in May 2009


Scrum and CMMI Going from Good to Great, Carsten Ruseng Jakobsen and Jeff Sutherland, Agile 2009 Conference Chicago, USA August 2009
2010
Agile/Scrum Development Using the CMMI Framework

21

Systematic A/S Papers


Systematic A/S is a Danish company There improvement story is covered in detail in three published papers:
Scrum and CMMI Level 5: the magic potion for Code Warriors
Jeff Sutherland, Kent Johnson, & Carsten Jakobsen

Mature Agile with a Twist of CMMI


Carsten Jakobsen and Kent Johnson

Scrum and CMMI: Going from Good to Great


Carsten Jakobsen and Jeff Sutherland

2010
Agile/Scrum Development Using the CMMI Framework

22

Conclusion
Agile/Scrum + CMMI
provide synergy support going from Good Scrum to Great Scrum (Hyperproductive) ensure no Scrumbutts lead to organizational improvement

An agile implementation of CMMI can help institutionalize Scrum in an organization


2010
Agile/Scrum Development Using the CMMI Framework

23

Questions?
Time for some questions?

2010
Agile/Scrum Development Using the CMMI Framework

24

Contact Information
The presentation material in this seminar is copyrighted by AgileDigm, Incorporated. For further information, please contact:

Kent A. Johnson Chief Technical Officer AgileDigm, Inc. 11 Twelve Oaks Trail Ormond Beach, FL 32174 USA +1 386 673 1384 kent.johnson@agiledigm.com www.agiledigm.com

2010
Agile/Scrum Development Using the CMMI Framework

25

More Detailed Information on the Subject


Features includes Guides you through a proven approach for designing the process improvement effort, for monitoring and controlling the effort, and measuring its success Presents the pros and cons of attempting process improvement and implementing CMMI Offers advice for implementing several process improvement projects simultaneously to avoid added costs and missteps Discusses older methods of assessing organizations and compares them to the new SCAMPI method Available from Auerbach / CRC Press Publications and Amazon.com

2010
Agile/Scrum Development Using the CMMI Framework

26

Backup Slide

Agile CMMI Performance Analysis


Project effort
100% 90% 80%

100 % CMMI

Rework Work Process focus

70%
60% 50% 40% 30% 20% 10%

50 %

69 % 9% Adding SCRUM 35 %
4%

50 %

50 % 10 %

25 % 6%
CMMI 5 SCRUM

CMMI 1

CMMI 5

Source: Systematic A/S

2010
Agile/Scrum Development Using the CMMI Framework

27

Backup Slide

Impediments
Data driven removal of impediments using control charts
Examples on causes:
Special competences Disk full Setup misunderstood COTS failed

Source: Systematic A/S


$Revision $Revision : :

$ $

Root cause analysis of time to fix automatically generates ScrumMasters impediment list.
2010
Agile/Scrum Development Using the CMMI Framework
Page Page

28

Backup Slide

Story Process Efficiency


When work allocated to sprint is READY, flow and stability are achieved

$Revision:

Objective: 60%
Source: Systematic A/S
2010
Page

Objective: 50h
29

Agile/Scrum Development Using the CMMI Framework