Agile/Scrum Development Using the CMMI Framework

© 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
2
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 world’s 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.
© 2010
kent.johnson@agiledigm.com
Agile/Scrum Development Using the CMMI® Framework
33
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
4
One Comparison
•
Scrum Primer
–
•
CMMI 2nd Edition
–
•
22 pages double side 8 ½ by 11
676 page hardback book
Interpreting the CMMI
–
404 page hardback book
© 2010
Agile/Scrum Development Using the CMMI® Framework
5
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
6
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
8
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
9
What is Scrum? (2/2)
Product Backlog
Sprint
backlog
Backlog
items selected
for release
S3 backlog
S2 backlog
Product
Backlog
S1 backlog
Sprints in this release
Sprint
1
Product
Owner
Daily
Scrum
Team
Scrum
Master
Sprint
2
Sprint
3
Retrospective
Review
Agenda
Burndown
Agenda
Agenda
Sprint
backlog
http://demo.callis.dk/scrum
Product
(increment)
Ready
checklist 10
© 2010
Agile/Scrum Development Using the CMMI® Framework
Done
checklist
Realized Benefits from Scrum
In Jeff Sutherland’s, “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
Agile/Scrum
• A structured collection of
best practices
• “What” you should do
• Focus is on improving
product quality through
process performance
© 2010
Agile/Scrum Development Using the CMMI® Framework
• A set of rules that
constrains behavior
• “How” you should do it
• Focus is on increasing
customer satisfaction
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
© 2010
Agile/Scrum Development Using the CMMI® Framework
• CMMI ML 3
– defined process
– managed requirements
– project management
– technical solution
– product integration
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





© 2010
Agile/Scrum Development Using the CMMI® Framework
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
26
Backup Slide
Agile CMMI Performance Analysis
Project effort
100%
Rework
100 %
CMMI
90%
80%
70%
Work
Process focus
50 %
69 %
9%
60%
Adding
50%
SCRUM
40%
35 %
4%
30%
20%
50 %
10%
CMMI 1
50 %
10 %
6%
CMMI 5
CMMI 5
SCRUM
Source: Systematic A/S
© 2010
Agile/Scrum Development Using the CMMI® Framework
25 %
27
Backup Slide
Impediments
• Data driven removal of impediments using
control charts
Examples on causes:
Special competences
Disk full
Setup misunderstood
COTS failed
$ $
•
•
•
•
$Revision
$Revision
: :
Source: Systematic A/S
Root cause analysis of time to fix automatically generates
ScrumMaster’s impediment list.
© 2010
Agile/Scrum Development Using the CMMI® Framework
28
PagePage
Backup Slide
Story Process Efficiency
$Revision:
$
When work allocated to sprint is READY, flow and
stability are achieved
Objective: 50h
Objective: 60%
Source: Systematic A/S
© 2010
Agile/Scrum Development Using the CMMI® Framework
29
Page