empowering people through process © 2010 1 agile/scrum development using the cmmi ® framework nasa...
TRANSCRIPT
Empowering People through Process
© 2010
1
Agile/Scrum Development Using the CMMI® Framework
NASA IT Summit18 Aug 2010
Kent Aaron JohnsonCTO of AgileDigm, Inc.
® CMMI is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.
© 2010 Agile/Scrum Development Using the CMMI® Framework
2
Copyright NoticesThe presentation material in this seminar is copyrighted by AgileDigm, Incorporated, 2010. For further information, please contact:
AgileDigm, Inc.11 Twelve Oaks TrailOrmond Beach, Florida 32174 U.S.A.Phone: +1.386.673.1384Email: [email protected]
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
33
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 Agile/Scrum Development Using the CMMI® Framework
4
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
5
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
6
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
77 CSM v10.21 © Jeff Sutherland 1993-2009
Agile Manifestowww.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 documentationCustomer 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
8
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
9
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
10
Sprints in this release
Sprint 1
Sprint 1
Sprint 2
Sprint 2
Sprint 3
Sprint 3
Product(increment)
ProductOwner
ScrumMaster
Team
Backlogitems selected
for release
Review
Retrospective
Sprintbacklog
Sprintbacklog
S1 backlog
S2 backlog
S3 backlog
Readychecklist
Donechecklist
Agenda
ProductBacklogProductBacklog
Product Backlog
DailyScrum
Burndown
What is Scrum? (2/2)
http://demo.callis.dk/scrum
AgendaAgenda
© 2010 Agile/Scrum Development Using the CMMI® Framework
11
Realized Benefits from ScrumIn 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
12
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
13
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
14
Simple ComparisonCMMI
• 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
15
Common Failures with Scrum1. 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 facilitation5. 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
16
Key CMMI Attributes1. Overall Planning and Tracking
2. Training
3. Risk Management
4. Organizational Learning
5. Organizational Visibility
6. Measurement
7. Institutionalization
© 2010 Agile/Scrum Development Using the CMMI® Framework
17
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
18
Right Level of Process (1/2)
• Practical processes and work aids contain enough information to be useful.
Scrum Checklist Examples
© 2010 Agile/Scrum Development Using the CMMI® Framework
19
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– ….
Scrum Status Report Example
© 2010 Agile/Scrum Development Using the CMMI® Framework
20
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
21
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
22
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
23
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
24
Questions?• Time for some questions?
© 2010 Agile/Scrum Development Using the CMMI® Framework
25
Contact Information
Kent A. JohnsonChief Technical OfficerAgileDigm, Inc.11 Twelve Oaks TrailOrmond Beach, FL 32174 USA+1 386 673 [email protected]
The presentation material in this seminar is copyrighted by AgileDigm, Incorporated. For further information, please contact:
© 2010 Agile/Scrum Development Using the CMMI® Framework
26
More Detailed Information on the SubjectFeatures 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
27
Agile CMMI Performance Analysis
10%
20%
30%
50%
40%
60%
CMMI 1 CMMI 5
70%
80%
90%
100%
CMMI 5SCRUM
Project effortRework
Work
Process focus
CMMI
Adding
SCRUM
50 %
50 %
50 %
10 %
9 %
6 %
25 %
4 %
100 %
69 %
35 %
Source: Systematic A/S
Backup Slide
© 2010 Agile/Scrum Development Using the CMMI® Framework
28Page
$R
evis
ion:
$
Page
$R
evis
ion:
$
Impediments• Data driven removal of impediments using control
charts
Examples on causes:• Special competences• Disk full• Setup misunderstood• COTS failed
Root cause analysis of time to fix automatically generates ScrumMaster’s impediment list.
Source: Systematic A/S
Backup Slide
© 2010 Agile/Scrum Development Using the CMMI® Framework
29Page
$R
evis
ion:
$
Story Process EfficiencyWhen work allocated to sprint is READY, flow and stability are achieved
Objective: 60% Objective: 50h
Source: Systematic A/S
Backup Slide