agile/scrum development using the cmmi framework

29
Empowering People through Process © 2010 1 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.

Upload: lamthuan

Post on 04-Jan-2017

235 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Agile/Scrum Development Using the CMMI Framework

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.

Page 2: Agile/Scrum Development Using the CMMI Framework

© 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.

Page 3: Agile/Scrum Development Using the CMMI Framework

© 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.

[email protected]

Page 4: Agile/Scrum Development Using the CMMI Framework

© 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

Page 5: Agile/Scrum Development Using the CMMI Framework

© 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

Page 6: Agile/Scrum Development Using the CMMI Framework

© 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.

Page 7: Agile/Scrum Development Using the CMMI Framework

© 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.

Page 8: Agile/Scrum Development Using the CMMI Framework

© 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

Page 9: Agile/Scrum Development Using the CMMI Framework

© 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.

Page 10: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

10

Sprints in this release

Sprint 1

Sprint 2

Sprint 3

Product(increment)

ProductOwner

ScrumMaster

Team

Backlogitems selected

for release

Review

Retrospective

Sprintbacklog

Sprintbacklog

S1 backlog

S2 backlog

S3 backlog

Readychecklist

Donechecklist

Agenda

ProductBacklog

Product Backlog

DailyScrum

Burndown

What is Scrum? (2/2)

http://demo.callis.dk/scrum

AgendaAgenda

Page 11: Agile/Scrum Development Using the CMMI Framework

© 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”

Page 12: Agile/Scrum Development Using the CMMI Framework

© 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

Page 13: Agile/Scrum Development Using the CMMI Framework

© 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

Page 14: Agile/Scrum Development Using the CMMI Framework

© 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

Page 15: Agile/Scrum Development Using the CMMI Framework

© 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

Page 16: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

16

Key CMMI Attributes1. Overall Planning and Tracking2. Training3. Risk Management4. Organizational Learning5. Organizational Visibility 6. Measurement7. Institutionalization

Page 17: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

17

Common Failures with CMMI

1. Too heavy a process definition2. Lack of management support3. Different understandings of mission and

goals4. Process adoption not well planned5. Process and procedure definition forced

on staff6. Pilots of process too limited

Page 18: Agile/Scrum Development Using the CMMI Framework

© 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

Page 19: Agile/Scrum Development Using the CMMI Framework

© 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

Page 20: Agile/Scrum Development Using the CMMI Framework

© 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

Page 21: Agile/Scrum Development Using the CMMI Framework

© 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

Page 22: Agile/Scrum Development Using the CMMI Framework

© 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

Page 23: Agile/Scrum Development Using the CMMI Framework

© 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

Page 24: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

24

Questions?• Time for some questions?

Page 25: Agile/Scrum Development Using the CMMI Framework

© 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:

Page 26: Agile/Scrum Development Using the CMMI Framework

© 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

Page 27: Agile/Scrum Development Using the CMMI Framework

© 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

Page 28: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

28Page

$Rev

ision

:

$

Page

$Rev

ision

:

$

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

Page 29: Agile/Scrum Development Using the CMMI Framework

© 2010 Agile/Scrum Development Using the CMMI® Framework

29Page

$Rev

ision

:

$

Story Process EfficiencyWhen work allocated to sprint is READY, flow and stability are achieved

Objective: 60% Objective: 50hSource: Systematic A/S

Backup Slide