Agile Resiliency: How CMMI can make Agile thrive and survive


Published on

As new, large-scale adopters "go agile" we need an Agile Resiliency Model to maintain our values, methods, and techniques.

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile Resiliency: How CMMI can make Agile thrive and survive

  1. 1. Agile ResiliencyHow CMMI can help Agile thrive and survive October 17, 2012
  2. 2. Has your customer (or manager) ever said:•  Let’s be more Agile. But how about we only have a “weekly” standup?•  Let’s transition all of our projects “over to Agile.” By November. 2012.•  Sure, go ahead and be agile . . . Just don’t bother the customer.•  Be Agile. Be CMMI Level 3. Be ISO Certified. By Tuesday. … or some other anti-pattern directive? WHAT THE *#$*%&!! Does That Mean? 1
  3. 3. Welcome back my friends … to the show that never ends!  Jeff  Dalton     Thinne r withou t the bePresident  of  Broadsword   ard . . .  Blogger,  twi5erer,  and  social  media  fana8c  Cer8fied  Lead  Appraiser  Cer8fied  CMMI  Instructor  Consultant  and  Speaker  Scrum  Master  Author  of  AgileCMMI    Airplane  Builder   “You  cut  through  the  noise  and  get  us  to  the  solu8on”     -­‐  Client  who  named  our  company  “Broadsword.”  h#p://  h#p://www.broadswordsolu;     One of my favorite pastimes is to sit alone in a room and yell into a computer . . . 2
  4. 4. Appraisals – Training – Consulting – AcceleratorsThe full presentation will be available on our website at: 3
  5. 5. This event will be more interesting if you . . . Par$cipate!    Ask  ques$ons!  Make  comments!   Actually,  your  phone  is  muted,  because  500   people  talking  at  once  is  really  annoying.     But  you  can  send  messages.     You  can  also  ask  ques8ons  on  my  blog   h5p://  and  I’ll   answer  within  24  hours.   4
  6. 6. Download our Technical Report CMMI or Agile: Why not embrace both! SEI Technical Report Hillel Glazer, Jeff Dalton, David Anderson, Mike Konrad, Sandy Shrum SEI Technical Publication CMU/SEI-2008-TN-003 5
  7. 7. The CMMI is not a death-march that saps yourpowers and transforms you in zombies . . . . 6
  8. 8. Successful Agile is not free-for-all where self organizingteams do whatever they want! 7
  9. 9. Both CMMI and Agile are about solving problemsRequirements change too oftenProjects are late and over budgetFrequent staff turnoverCan’t understand riskIn the dark about project statusToo many meetingsCustomers unhappyCustomers discovering defectsProjects are unpredictable 8
  10. 10. Think of both as “levers” that change behaviorWant to change anoutcome?Change the right upstreamprocess and you’ll seesomething different comeout the other end.But tread carefully –unintended results arelikely to occur 9
  11. 11. Agile success has attracted a few small, new adopters . . . The DOD is actively pursing The VA is already having agile adoption, and working organic success with Agile with the SEI on research General Motors alone has announced it is going to insource IT by hiring thousands of IT professionals, and “Agile” will be front-and-center The Federal Government and General Motors will be the world’s largest purchasers of Agile IT Services 10
  12. 12. The large-scale adopters historically drive the standard “Danger! Danger! Agile will change!” ** HINT #1: “Waterfall” was not created to be heavy, burdensome, and document focused with mind- numbing, soul-killing processes. It evolved to meet the information needs of the large scale adopters who were ALREADY running their business this way! Hint #2: They are still like this! ** or as we say in Detroit: “Suppliers don’t change GM. GM changes suppliers.” 11
  13. 13. “What we need is a useless, rigid and audit- driven death-march that turns us into zombies and forces us into slave-like adherence to THE PROCESS” Said No One. Ever. 12
  14. 14. The challenge with Agile is that whilewe’re all off iteratin’ the biz is all offwaterfallin’@CMMIAppraiser 13
  15. 15. Large, new adopters will make under-educated demands You’ll be Agile by Tuesday – and you’ll like it! I want my MS Project Work Breakdown Structure! 14
  16. 16. Why do we need Agile Resilience?re·sil·ience   [ri-zil-yuhns, -zil-ee-uhns]noun1.the power or ability to return to the original form, position, etc., after beingbent, compressed, or stretched; elasticity.2.ability to recover readily from illness, depression, adversity, or the like;buoyancy. 15
  17. 17. Start building an Resilient Agile Architecture NOW!•  Agile is something you ARE•  CMMI is something you use to strengthen what you ARE by building a resilient framework•  Forget “CMMI Levels.” It’s about the architecture•  Think of the CMMI as a set of QUESTIONS to ask yourself about your Agile Architecture 16
  18. 18. Resilient Agile 3-Tiered Architecture Techniques “Doing the Work” Techniques include planning poker, continuous build, storytime, retrospectives. Merely adopting techniques does not make you Agile. Methods /Framew or ks “Managing the work” Methods and frameworks include Scrum, Spiral, Kanban, Scrum-ban . . . Value s “Guiding the work” Values include “Fail fast, iterative and incremental, collaboration . . . 17
  19. 19. Agile teams don’t use process, right? Planning Poker Sprint Demos PP SP1.1, SP1.2 VAL SP2.1, RD SP3.1 Refactoring Pair Programming REQM SP1.5 VER SP2.2 Value Velocity Test-Driven PMC SP1.1 Development RD SP3.4, SP3.5 Many Agile teams embrace TECHNIQUES, but do not have a Resilient Agile Architecture 18
  20. 20. Level Focus Process Area Continuous Process • Organizational Performance Quality5 Optimizing • Casual Analysis & Resolution Improvement Management Productivity4 Quantitatively Quantitative • Organizational Process • Quantitative Project Managed Management Performance Management • Requirements Development • Organizational Process • Technical Solutions Definition Process • Product Integration • Organizational Training3 Defined Standardization • Verification • Integrated Project Management • Validation • Risk Management • Organizational Process Focus • Decision Analysis & Resolution • Requirements Management • Measurement & Analysis • Project Planning • Process & Product Quality Basic Project Assurance2 Managed • Project Monitoring & Control Management • Supplier Agreement • Configuration Management Management1 Initial 19
  21. 21. Strengthening Agile Values•  Values are a set of behaviors we all commit to in order to make the project successful•  Establishing values are fairly easy within a small team, but much more difficult in large settings•  You can use the CMMI to help establish Agile Values across the enterprise by answering the questions and using the guidance from these Process Areas: -  Organizational Training (“Are we training our people enough? How are we training?”) -  Organizational Process Definition (“Are the values clear to everyone? Do they understand?”) -  Organizational Process Focus (“What’s the plan for ensuring people understand them?”) -  The CMMI’s “Generic Practices” 20
  22. 22. Strengthening Agile Methods and Frameworks•  Methods and Frameworks help to manage the work that we do•  They define sequencing, priority, ceremonies, artifacts, and roles•  You can use the guidance in the CMMI to help establish a set of Agile methods and frameworks by answering the questions and using the guidance from the following Process Areas: -  Organizational Process Focus (“What’s the plan for rolling this out across the enterprise?”) -  Organization Process Definition (“Which methods are we supporting?”) -  Organizational Training (“What’s the plan for getting everyone up to speed?”) -  Integrated Project Management (“Which projects use which methods, and why?”) -  Project Planning (“How long are our sprints?” “How many sprints are in a release?”) -  The CMMI’s Generic Practices 21
  23. 23. Strengthening Agile Techniques•  Agile techniques define how we do our work•  They describe the specific actions we’ll take to deliver the products•  You can use the guidance in the CMMI to help establish a set of Agile techniques by asking the questions and asking the questions from the following Process Areas: -  Organizational Process Focus (“What’s the plan for all of these techniques out?”) -  Organization Process Definition (“Which techniques will we be able to support with tools and other resources?”) -  Organizational Training (“How are we going to teach everyone how to use them?”) -  Integrated Project Management (“Which projects use which techniques and why”) -  Technical Solutions (“What design and coding techniques are we going to use?”) -  The CMMI’s Generic Practices 22
  24. 24. Strengthening Agile Resilience across the Enterprise The CMMI’s “Generic Practices” The Generic Practices (GP’s) represent the most important part of the CMMI model – and poor implementation will ALWAYS lead to process failure (especially Agile deployments) The key to strengthening the Agile Architecture, and being a good “Agile Citizen,” is in these “Generic Practices” 23
  25. 25. Generic Practice 2.1 – Establish an Organizational Policy Agile version: Set clear expectations across the enterprise which Agile values, methods, and techniques will be deployed and adopted. Processes are the behaviors of real people and events – not documents! People need to know what is expected for them to be successful. You can help them by clearly setting those expectations. 24
  26. 26. Generic Practice 2.2 - Plan the Process Agile version: Carefully plan the roll- out and deployment of Agile values, methods, and techniques. Use Agile to deploy Agile! Processes are made up of roles, events, and work products. All of these things require planning to be successful. For instance, code reviews can improve code quality. They include people, events, and work products. Plan them out to get maximum value. 25
  27. 27. Generic Practice 2.3 - Provide Resources Agile version: Provide the right tools and facilities to successfully deploy Agile values, methods, and tools Processes represent real work that needs to get done, and it takes tools, equipment, money, and other resources. For instance, if you were performing as an administrative assistant, you might need some of the resources pictured above. If you are a member of a Scrum team, you need a team room, board, sticky notes, or software. 26
  28. 28. Generic Practice 2.4 - Assign Responsibility Agile version: Assign responsibility, appropriately, to the right players, and give them the authority they need to do their jobs! Who leads that JAD workshop? What “hats” are people wearing at what times? Who selects tools? Are they the right people with appropriate authority? It’s not always clear who is responsible for the different aspects of the process. Make it clear by attaching roles to each primary event and work product. 27
  29. 29. Generic Practice 2.5 - Train People Agile version: Train ALL stakeholders in Agile values, methods, and techniques using role-based training The productivity difference between a new trained team member, and one who is dropped into the fire? Really High. If that’s not enough to convince you, there’s nothing I can do! 28
  30. 30. Generic Practice 2.6 - Control Work Products Agile version: Ensure code and artifact management is effective, and that continuous build processes are working for all stakeholders. In case you haven’t been paying attention, keeping track of your work is just cool. Be a friend and “just say no” to chaos. 29
  31. 31. Generic Practice 2.7 - ID and Involve Relevant Stakeholders Agile version: Identify when you need to collaborate, and who needs to participate. Keep track of TeamScore – it represents project risk! Remember GP2.2 “Plan the Process?” Now here’s your chance? Who are the people, and did they participate (curious minds are dying to know!)? Stakeholders who do not participate as planned are injecting risk into the project, and, well, I just don’t like that. 30
  32. 32. Generic Practice 2.8 - Monitor and Control the Process Agile version: Always understand team performance, and be able to communicate it effectively to NON- AGILE practitioners (like accounting and marketing ….) Remember GP2.2 “Plan the Process” (again?). That pesky practice keeps coming back. How are we doing? Are Agile values, methods, and techniques WORKING? Because if they’re not working, we should change it! 31
  33. 33. Generic Practice 2.9 - Objectively evaluate adherence Agile version: When you conduct Retrospectives, don’t just evaluate the work, evaluate HOW you did the work also. And don’t be afraid to ask someone else to do the same. How are Agile values, methods, and techniques working? Are people using it? If not, why not? This is less an “audit” and more mentoring. Don’t turn into the process police. 32
  34. 34. Generic Practice 2.10 - Review Status with Higher Level Management Agile version: Engage your management (technical and NON- TECHNAL in reviewing the results of Agile adoption. This is about operations AND Politics! Are we getting the results we hoped for? Why? Why not? What are the issues? Management does a great job of reviewing PROJECT information, but when it comes to PROCESS information . . . Uh, not so much. 33
  35. 35. Generic Practice 3.1 - Establish a Defined Process Agile version: Clearly define HOW you are adopting agile values, methods, and techniques. Define what can effectively be supported across the enterprise – because you can’t do everything! ML3 does not mean “we have a single DEFINED organizational process!” It means each project defines THEIR process using processes derived from the organization SET (more than one….). 34
  36. 36. Generic Practice 3.2 - Collect Process Related Experiences Agile version: Ensure lessons collected from Retrospectives and Sprint Demos can be shared with internally and externally. Many companies collect lessons learned . . . into a black hole on a network drive. Don’t make that same mistake. Build a SYSTEM to ensure OTHER projects learn from your mistakes. 35
  37. 37. Anti-Pattern Insanity! (Bob Hartman, aka “Agile Bob”) Never meeting Iteration commitments - Look to Practices in Project Planning, Project Monitoring, Requirements Management, Requirements Development for ideas on a additional strengthening Testing Late - Look to Practices in Verification, Validation, Project Planning, Technical Solutions, and Product Integration for ideas on additional strengthening Poor Estimating - Look to Practices in Project Planning and Integrated Project Management for ideas on additional strengthening Not Trying to Improve - Look to Practices in Integrated Project Management, Organizational Process Development, and Generic Goal Three for ideas on strengthening Not Assigning Action Items - Look to Practices in Project Planning and Project Monitoring and Control for ideas on additional strengthening 36
  38. 38. The Agile Process Manifesto© . . . Outwe ighs Innovation Process Mandates Outwe igh Useful Processes Certifications & Audits Outwe ighs Collaboration Coercion & Punishment Outwe igh Flexibility & Agility Rigid Compliance 37
  39. 39. Both Agile and CMMI are intended to make you GREAT. Why not embrace both? Make Agile Resilient and Scalable by adopting CMMI – and make your organization great! 38
  40. 40. Cutter IT Journal - NovemberDon’t miss my article in Novembers’ Cutter IT Journal:Scrum vs. CMMI? No! Scrum + CMMI! 39
  41. 41. answers to your CMMI questions head over to: http://www.asktheCMMIAppraiser Twitter: CMMIAppraiser 40