Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

On the Care and Feeding of Feedback Cycles


Published on

Presented at Flowcon SF on Nov 1, 2013

Nothing interrupts the continuous flow of value like bad surprises that require immediate attention: major defects; service outages; support escalations; or even scrapping just-completed capabilities that don't actually meet business needs.

You already know that the sooner you can discover a problem, the sooner and more smoothly you can remedy it. Agile practices involve testing early and often. However feedback comes in many forms, only some of which are traditionally considered testing. Continuous integration, acceptance testing with users, even cohort analysis to validate business hypotheses are all examples of feedback cycles.

This talk examines the many forms of feedback, the questions each can answer, and the risks each can mitigate. We'll take a fresh look at the churn and disruption created by having high feedback latency, when the time between taking an action and discovering its effect is too long. We'll also consider how addressing "bugs" that may not be detracting from the actual business value can distract us from addressing real risks. Along the way we'll consider fundamental principles that you can apply immediately to keep your feedback cycles healthy and happy.

Published in: Technology, Education

On the Care and Feeding of Feedback Cycles

  1. 1. On the Care and Feeding of Feedback Cycles Elisabeth Hendrickson Blog: Twitter: @testobsessed Available from: Slides Last updated November 1, 2013 copyright © 2013 Elisabeth Hendrickson
  2. 2. Author Recovering Consultant Director, Quality Engineering Elisabeth Hendrickson @testobsessed Who Am I?
  3. 3. Intentions Implementation Actual Need Elisabeth Hendrickson @testobsessed What Do We Need Feedback On?
  4. 4. Feedback Enables Steering Plan PDCA Do Check Lean Startup Learn Observe Act OODA Decide Orient Measure Elisabeth Hendrickson @testobsessed Act Build
  5. 5. The Problem with Long Feedback Latency Reference: Peter Senge, Fifth Discipline
  6. 6. A Traditional Long Feedback Cycle (and why no one does this anymore) 18 month dev cycle Design Implement First opportunity to see if intentions match implementation First opportunity to see if implementation matches need Test Release Elisabeth Hendrickson @testobsessed Analyze
  7. 7. Analyze Design Implement Stabilize Big Bang Release Elisabeth Hendrickson @testobsessed Speculation Speculation Buildup
  8. 8. speculation! Every. Single. Time. Elisabeth Hendrickson @testobsessed Empirical Evidence
  9. 9. Time Value of Information A piece of information today is worth more than that same information tomorrow
  10. 10. Elisabeth Hendrickson @testobsessed Speculation Agile eliminates speculation buildup…
  11. 11. Stabilize Iterations… Elisabeth Hendrickson @testobsessed Speculation When “Done” isn’t Really Done
  12. 12. Example of Feedback Loops Automated System Tests CI build w/ tests Exploring Manual scripted regression testing Statistical analysis of production metrics Customer Opinion Elisabeth Hendrickson @testobsessed Automated Unit Tests
  13. 13. + + •  Automatically check that the emerging system behaves as expected with every new change. •  Explore both to discover other risks and to verify that the checks are sufficient. •  Release early and often. Elisabeth Hendrickson @testobsessed A Recipe for Fast-and-Complete Feedback
  14. 14. Tightening a Feedback Cycle spec or story Source Control code Observe results Generate ideas test deploy
  15. 15. Work in Small Pieces story
  16. 16. Integrate and Test Locally Source Control code and test Red TDD Clean Green
  17. 17. Automate to Eliminate Wait States Long Running Automated Tests? •  Remove duplication test •  Drive tests to lowest level •  Run in parallel deploy
  18. 18. Tighten Feedback Loops (Example) System Test in Local Env Check in on Private Branch Unit Test Merge Unit Test Code Review System Test AFTER: mins - hours Pair Run local tests Check into Master CI Runs All Tests Elisabeth Hendrickson @testobsessed BEFORE: days - weeks
  19. 19. Make Feedback Visible
  20. 20. Further Reading