Elisabeth Hendrickson, Director for Quality Engineering at Cloud Foundry, Pivotal Labs
Video: https://www.youtube.com/watch?v=fMucUohYWI4
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.
Thursday 5.00 - elisabeth hendrickson - gb - final
1. On the Care and Feeding of
Feedback Cycles
Elisabeth Hendrickson
Pivotal
@testobsessed
DevOps Enterprise 2014 (#DOES14)
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 1
2. Who Am I?
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 2
3. What's Feedback?
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 3
4. Feedback Loops
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 4
5. What Do We Need Feedback On?
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 5
6. Feedback Latency
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 6
7. A Traditional Long Feedback Cycle
(and why no one does this anymore)
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 7
8. Latency, Speculation, and Risk
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 8
9. Latency, Speculation, and Risk
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 9
10. Latency, Speculation, and Risk
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 10
11. Latency, Speculation, and Risk
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 11
12. Empirical Evidence Trumps
Speculation
Every. Single. Time.
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 12
13. Time Value of Information
A little information today is
worth more than that same
information tomorrow.
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 13
15. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 15
16. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 16
17. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 17
18. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 18
19. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 19
20. Beware Fragile
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 20
21. Different Kinds of Feedback
Local integration and unit testing
Automated tests in CI
Story acceptance
Exploratory testing
Environment monitoring/metrics
(canaries)
Dog fooding
Support tickets
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 21
22. Visibility
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 22
23. Fast-and-Complete Feedback Recipe
Check + Explore + Release
— 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.
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 23
24. Tighten Feedback Loops
— Work in small pieces
— Find and squash wait states
— Parallelize
— Remove duplicate tests
— Drive tests to the lowest level possible
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 24
25. Secret Sauce
Fast Feedback Creates Learning Organizations
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 25
26. Where I Need Help
CI is deploying a big distributed system.
It can take 1-2 hours to run.
How do you tighten feedback cycles
for devs fixing a build?
Care and Feeding of Feedback Cycles, Elisabeth Hendrickson (@testobsessed) 26