improving your agile process
Post on 06-Jul-2015
Embed Size (px)
DESCRIPTIONSlides from my lightning talk at DevDays DC on how to improve your agile process by gathering small amounts of data and using it to make decisions.
- 1. Improving your Agile Process
2. First...who are we? 3. We reduce home energy use 4. We reduce home energy use by showing people how much they use 5. We reduce home energy use by showing people how much they use and then they actually use less! 6. Agile means: 7. Agile means: short iterations 8. Agile means:short iterations a metric sh*t-ton of practices chosen from a salad bar 9. TDD, Pair Programming,Scrum, Kanban Cards, BDD,Continuous Integration, MDD, Sprints, Stand-ups, Continuous Deployment, The Planning Game, User Stories, Planning Poker, Sustainable Pace,Collective Code Ownership... 10. Adopting agile? 11. Adopting agile? Which practices? 12. Already agile-ish? 13. Already agile-ish? Which practices will help us andwhy? 14. Pick what feels good? 15. Pick what feels good? Study your process and targetproblem areas. 16. Scientic Method! 17. 1. Gather Data 2. Form Hypothesis 3. Perform Experiment 4. Analyze Results 18. 1. Gather Data 19. Quantify: good things (to increase) 20. Quantify: good things (to increase) bad things (to decrease) 21. The Big Bad: Bugs 22. The Big Bad: Bugs (you are using a bug tracker, right?) 23. We wrote less bugs than the previous iteration. We rule! (Right?) 24. V2.2 V2.3 # of Bugs 25 23 25. Wait...What? V2.2V2.3 # of Bugs 2523Flu took outhalf the team!Team Size8 5 26. Raw measurements must be put in context 27. What is the size of aniteration? 28. LOC? 29. LOC? Doesnt t with agileHard to measure 30. Hours/Days? 31. Hours/Days? Fixed iterations Hard to measure 32. We use Story Points 33. We use Story Points 1, 2, 4, 8 per user story 34. Story Points could be anything that: 35. Story Points could be anything that: changes w/ amount of work 36. Story Points could be anything that: changes w/ amount of work determined consistently 37. Story Points could be anything that: changes w/ amount of work determined consistently easy to capture 38. Bugs Size == Defect Density 39. V2.2 V2.3 Bugs25 23Story Points 14 10Density1.79 2.3 40. Simple 41. Simple Paints Broad Strokes: Increase == Bad 42. SimplePaints Broad Strokes:Increase == Bad Almost enough to draw conclusions 43. With a smallamount of additionalmeta-data... 44. With aamount of additionalsmall meta-data... ...you can gain incredibleinsights 45. Severity Priority Where Introduced: bad requirementsbad programmingconguration/deployment 46. Defect Density: unclear requirements Defect Density: Programming Errors 2.2 1.9 1.6 1.3 1.0V2.3V2.4V2.5 47. Defect Density - all types 2.500 2.125 1.750 1.375 1.000V2.3V2.4V2.5 48. Defect Density - all types Defect Density - Blockers2.500 2.125 1.750 1.375 1.000V2.3V2.4V2.5 49. 2. Form Hypothesis 50. Metrics give us insight to focus on problem areas 51. Form a hypothesis about problem areas and potentialsolutions 52. Agile practices are a goldmine 53. Agile practices are a goldmine ...if used sensibly in the context of your process 54. Example: Increasing test coverage willreduce our defect density 55. Example: Pair Programming will reduce bad programmer bugs 56. Example: BDD will help clarify requirements so we implementthe right thing 57. 3. Perform Experiment 58. On the next iteration, test yourhypothesis 59. Start slowly; implement one change, chosenfor maximum impact 60. 4. Analyze Results 61. The next iterations metrics should prove/disprove your hypothesis 62. Repeat until prot! 63. This improvement method isntperfect 64. This improvement method isnt perfectbut its a GREAT start 65. How has this helped OPOWER? 66. Iteration 1 Half of the user stories notbeing tracked :( 67. Iteration 2 Parts of the team using different scale for story points :( 68. Iteration 3 Data looked good, baselineestablished. 69. Iteration 4 Lots of deploy/cong errors Other numbers same/better 70. Iteration 5Automated deployment deploy errors down. But: Defect Density was up 71. Iteration 6Lowered velocity Set up test coverage tracking(nal results not in yet!) 72. Scientic Method 73. Measure Hypothesize ExperimentAnalyze 74. firstname.lastname@example.org://www.opower.com @davetron5000