© 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: [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 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 [email protected] 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 [email protected] 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
© Copyright 2024