Agile Scrum Development Using CMMI v1.4a

download Agile Scrum Development Using CMMI v1.4a

of 29

Transcript of Agile Scrum Development Using CMMI v1.4a

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    1/29

    Empowering People through Process

    2010

    1

    Agile/Scrum Development

    Using the CMMIFramework

    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.

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    2/29

    2010Agile/Scrum Development Using the CMMI Framework 2

    Copyright NoticesThe presentation material in this seminar is copyrighted byAgileDigm, Incorporated, 2010. For further information, pleasecontact:

    AgileDigm, Inc.

    11 Twelve Oaks Trail

    Ormond Beach, Florida 32174 U.S.A.

    Phone: +1.386.673.1384Email: [email protected]

    Terms like these are often used in the following material:

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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    3/29

    2010Agile/Scrum Development Using the CMMI Framework 3

    3

    Kent A. Johnson

    Chief Technical Officer of AgileDigm, Incorporated AgileDigmis 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 CMMIinstructor.

    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 ofInterpret ing th e CMMI: A Process Improv ement

    Approach, Secon d Edi t ion, Auerbach (2008) and numerouspeer reviewed papers on Agile and CMMI.

    [email protected]

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    4/29

    2010Agile/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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    5/29

    2010Agile/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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    6/29

    2010Agile/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.

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    7/29

    2010Agile/Scrum Development Using the CMMI Framework 77

    CSM v10.21 Jeff Sutherland 1993-2009

    Agile Manifesto

    www.agilemanifesto.orgWe are uncovering better ways of developingsoftware by doing it and helping others do it.

    Through this work we have come to value:

    Individuals and interactions overprocesses and toolsWorking software overcomprehensive documentation

    Customer collaboration overcontract negotiation

    Responding to change overfollowing 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.

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    8/29

    2010Agile/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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    9/29

    2010Agile/Scrum Development Using the CMMI Framework 9

    What is Scrum? (1/2)

    Scrum is an iterative incremental process ofsoftware development commonly used withagile software development.

    Despite the fact that "Scrum" is not anacronym, some companies implementing theprocess have been known to adhere to an allcapital letter expression of the word, i.e.SCRUM. This may be due to one of Ken

    Schwaber's early papers capitalizing SCRUMin the title.

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    10/29

    2010Agile/Scrum Development Using the CMMI Framework 10

    Sprints in this release

    Sprint1

    Sprint

    2Sprint

    3

    Product

    (increment)

    Product

    Owner

    ScrumMaster

    Team

    Backlog

    items selected

    for release

    Review

    Retrospective

    Sprint

    backlog

    Sprint

    backlog

    S1 backlog

    S2 backlog

    S3 backlog

    Ready

    checklist

    Done

    checklist

    Agenda

    Product

    Backlog

    Product Backlog

    Daily

    Scrum

    Burndown

    What is Scrum? (2/2)

    http://demo.callis.dk/scrum

    AgendaAgenda

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    11/29

    2010Agile/Scrum Development Using the CMMI Framework 11

    Realized Benefits from Scrum

    In Jeff Sutherlands, Hyperproductive Distributed ScrumTeams presentation Google TechTalk, July 2008 hedocumented:

    Excellent Scrum annual revenue up 400%

    Patient Keeper

    Others in Scandinavia, I cannot nameGood 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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    12/29

    2010Agile/Scrum Development Using the CMMI Framework 12

    Scrum and XP

    The first Scrum used all the XP engineeringpractices, set-based concurrent engineering,

    and viewed software development as

    maintenance, not manufacturing.

    Most high performance teams use Scrumand 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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    13/29

    2010Agile/Scrum Development Using the CMMI Framework 13

    XP as an Example

    eXtreme Programming covers Programming (test-first programming, automatedunit tests, Simple Design (YAGNI), Refactoring)

    Planning (Planning game, frequent/small Releases,short iterations, flexible plans, 40 hour week)

    Customer(Dedicated, Onsite, AutomatedAcceptance Tests, Customer Steers)

    Pair(Pair Programming, Open Workspace, CollectiveOwnership, Integration Machine)

    Team (Continuous Integration, Coding Standard,Metaphor) XP

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    14/29

    2010Agile/Scrum Development Using the CMMI Framework 14

    Simple Comparison

    CMMI A structured collection of

    best practices

    What you should do

    Focus is on improving

    product quality throughprocess performance

    Agile/Scrum A set of rules that

    constrains behavior

    How you should do it

    Focus is on increasing

    customer satisfaction

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    15/29

    2010Agile/Scrum Development Using the CMMI Framework 15

    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 usersupport

    Jeff Sutherland and Kent Johnson 2010

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    16/29

    2010Agile/Scrum Development Using the CMMI Framework 16

    Key CMMI Attributes

    1. Overall Planning and Tracking2. Training

    3. Risk Management

    4. Organizational Learning5. Organizational Visibility

    6. Measurement

    7. Institutionalization

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    17/29

    2010Agile/Scrum Development Using the CMMI Framework 17

    Common Failures with CMMI

    1. Too heavy a process definition2. Lack of management support

    3. Different understandings of mission and

    goals4. Process adoption not well planned

    5. Process and procedure definition forced

    on staff

    6. Pilots of process too limited

    S Ch kli t E l

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    18/29

    2010Agile/Scrum Development Using the CMMI Framework 18

    Right Level of Process (1/2)

    Practical processes and work aids containenough information to be useful.

    Scrum Checklist Examples

    S St t R t E l

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    19/29

    2010Agile/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 anvil24/7

    As a User (all personas), I want to be ableto carry my anvil

    Lessons Learned during the sprint

    Breaking down stories into 20 points or lessis a big help

    Impediments (not closed during week)

    Testers assigned to multiple projects

    Risks

    User environment may not be ready on timefor final acceptance testing

    .

    Scrum Status Report Example

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    20/29

    2010Agile/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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    21/29

    2010

    Agile/Scrum Development Using the CMMI Framework 21

    Success Story

    Systematic A/S is a success story usingAgile Methods in a CMMI Implementation.

    Addresses their business objectives

    doubled productivity

    cut defects by 40%

    on top of years of other CMM and CMMIimprovements.

    Reappraised at CMMI Maturity Level 5 inMay 2009

    Scrum and CMMI Going from Good to Great, Carsten Ruseng Jakobsen and Jeff Sutherland, Agile

    2009 Conference Chicago, USA August 2009

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    22/29

    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

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    23/29

    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 helpinstitutionalize Scrum in an organization

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    24/29

    2010

    Agile/Scrum Development Using the CMMI Framework 24

    Questions?

    Time for some questions?

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    25/29

    2010

    Agile/Scrum Development Using the CMMI Framework 25

    Contact Information

    Kent A. Johnson

    Chief Technical Officer

    AgileDigm, Inc.11 Twelve Oaks Trail

    Ormond Beach, FL 32174 USA

    +1 386 673 1384

    [email protected]

    The presentation material in this seminar is copyrighted by

    AgileDigm, Incorporated. For further information, pleasecontact:

    mailto:[email protected]://www.agiledigm.com/http://www.agiledigm.com/mailto:[email protected]
  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    26/29

    2010

    Agile/Scrum Development Using the CMMI Framework 26

    More Detailed Information on the Subject

    Features includes

    Guides you through a provenapproach for designing the processimprovement effort, for monitoringand controlling the effort, andmeasuring its success

    Presents the pros and cons ofattempting process improvement and

    implementing CMMI Offers advice for implementing

    several process improvement projectssimultaneously to avoid added costsand missteps

    Discusses older methods ofassessing organizations and

    compares them to the new SCAMPImethod

    Available from Auerbach / CRC PressPublications and Amazon.com

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    27/29

    Backup Slide

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    28/29

    2010

    Agile/Scrum Development Using the CMMI Framework 28Page

    $Revision:

    $

    Page

    $Revision:

    $

    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 generatesScrumMasters impediment list.

    Source: Systematic A/S

    Backup Slide

    Backup Slide

  • 7/28/2019 Agile Scrum Development Using CMMI v1.4a

    29/29

    2010Agile/Scrum Development Using the CMMI Framework 29

    Page

    $Revision:

    $

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

    stability are achieved

    Objective: 60% Objective: 50h

    Source: Systematic A/S

    Backup Slide