SlideShare a Scribd company logo
1 of 125
Download to read offline
Continuous Improvement
How Continuous Delivery is changing Quality Assurance.
GroupOn
Palo Alto
January 15 2013


Noah Sussman
ns@noahsussman.com
@noahsussman
The canonical Agile release cycle




                              film still from The Lord of the Rings
Sprints of two or more weeks in length




                               Cocento Tecnologia on Flickr
Start deployment once the sprint is over




                                  TheMasonDixon on Etsy
QA is part of the release process




                                    SisterDimension on Flickr
QA sign-off is required before going live




                                film still from The Lord of the Rings
The Continuous release cycle




                               evoo73 on Flickr
Minimum viable feature set




                             Travis S. on Flickr
Releasing a feature
is decoupled from
deploying code.




                      David E. Smith on Flickr
An airport without
an air traffic controller.
                    —Chad Dickerson
Real-time data on how releases impact revenue




                                           Etsy
Default to open access
Constant tweaks to live features
Large features are deployed piecemeal over time




                                          dogpose on Flickr
Every feature is part of an A/B campaign




                                      NASA
Dark launches




                Joy and Jon
Opt-in experiments




                     NASA
Partial rollouts




                   NASA
Config Flags




               Wikipedia
Wire-Offs




            Joe Thomissen on Flickr
if ($cfg["new_search"]) {
  // new hotness
  $resp = search_solr();
} else {
  // old busted
  $resp = search_grep();
}
$cfg = array(
   'checkout'     =>   true,
   'homepage'     =>   true,
   'profiles'     =>   true,
   'new_search'   =>   false,
);
There is no “done done”




                          NASA
Observed Behavior Of Complex Systems




                                  NASA
Emergent behaviors require unplanned responses




                                            NASA
Improvements are discovered rather than designed




                                              NASA
Users of the system have complex expectations




                                           NASA
Complex systems are never “complete”




                                  NASA
QA Happens When?




                   NASA
First of all, what is “Quality Assurance?”




                                        NASA
QA: assuring that there are no defects?




                                     NASA
It is impossible to prove the absence of defects




                                             NASA
There will always be bugs in production




                                      Lukjonis
Testing is everyone’s job.




                        Library of Congress
Myths About Bug Detection




                            The Jargon File
Myth: there are a finite number of bugs
Myth: here are a finite number of detectable bugs




                                           niscratz on Flickr
Myth: all severity one bugs can be found before release




                                                    NASA
Myth: software is built to specifications




                                    Fred Brooks at Etsy
Myth: at some point, software is finished
Myth: most bugs have complex, unpredictable causes
The animistic metaphor of the bug
that maliciously sneaked in while the
programmer was not looking...
disguises that the error is the
programmer's own creation.
                             — Edsger Dijkstra
The whole time I’m programming, I’m
constantly checking my assumptions.
                          —Rasmus Lerdorf




                                       @loriabys
As you're about to add a comment, ask
yourself, “How can I improve the code
so that this comment isn't needed?”
Improve the code and then document
it to make it even clearer.
                           — Steve McConnell
Debugging is twice as hard
as writing the code in the
first place. Therefore, if
you write the code as
cleverly as possible, you
are, by definition, not
smart enough to debug it.
                 —Brian Kernighan
No blame
Many Small Anomalies Combined
An organization's defenses against failure
are a series of barriers, represented as
slices of swiss cheese. The holes in the
cheese represent weaknesses in
individual parts of the system. Failures
occur when a hazard passes through all
of the holes in all of the defenses.
                                    — Wikipedia
John Allspaw
Prioritize the elimination of small errors




                                      John Allspaw
Focus less on mitigation of large, catastrophic failures
Optimize for
                 recovery rather
                 than failure
                 prevention.

                 Failure is
                 inevitable.
Richard Avedon
Unit testing is great for preventing small errors




                                            John Allspaw
Resilience, Not “Quality”




                            John Allspaw
Readable code




                NASA
Reasonable test coverage




                           NASA
Sane architecture




                    NASA
Good debugging tools




                       NASA
An engineering culture that values refactoring




                                            NASA
Measurable goals




                   NASA
Manual Testing.
But probably not the kind you’re thinking of.




                                                NASA
Real-Time Monitoring is the new face of testing




                                             NASA
Etsy
Etsy
Etsy
Anomaly detection is hard.




                             Greg and Tim Hildebrandt
Watching the graphs




                      NASA
As of 2012, Etsy collected well over
a quarter million real-time metrics




                                       NASA
Deciding which metrics matter is a human problem




                                              NASA
Everyone watches some subset of the graphs




                                        NASA
Human vision is an excellent tool for anomaly detection




                                                    NASA
QA happens when???




                     NASA
Exploratory testing can be performed at any time




                                              NASA
Rigorous, scientific approach




                                NASA
Focus on customer satisfaction




                                 NASA
Less focus on product specifications




                                   NASA
Exploratory Testing is equally useful
before or after a release




                                        NASA
Just Quality




               NASA
“Assurance” is a terrible word.
Let’s discard it.




                                  NASA
Quality exists, but it’s tricky to assure or prove that




                                                    NASA
There’s no such thing as a formal proof of quality




                                                NASA
Most of us would agree that quality exists




                                        NASA
“Customer Experience” is a better term of art than “Quality”




                                                         NASA
Customer Experience.
Though there’s no formal proof for that, either.




                                                   NASA
Exploratory Testing addresses areas that Developer Testing doesn’t




                                                               NASA
Developer Testing validates assumptions




                                     NASA
The Independent Tester’s job is to invalidate assumptions




                                                       NASA
Technology Informs Customer Experience




                                    NASA
Exploratory Testing requires an understanding of the
whole system




                                                       NASA
Exploratory Testing requires understanding how the
system serves a community of users




                                                     NASA
Customer Experience is as much about technology as it
is about product requirements




                                                   NASA
Most bugs, most of the time, are easily
nailed given even an incomplete but
suggestive characterization of their
error conditions at source-code level.
                             — Eric S. Raymond
Source, diffs, logs.
If your QA Analysts don’t look at these — teach them.




                                                        NASA
Customer Support




                   NASA
Your customer support operators spend more time
talking to your users than anyone else




                                                  NASA
Customer Support interface with users as individuals
rather than as aggregate data




                                                       NASA
Keep the feedback loop short.
Manage Your Culture.
Effeciency To Thoroughness Trade-Off




                                  NASA
Rapid release cycles have different risks than
slower release cycles




                                                 NASA
Continuous Delivery does not alter the fundamental
nature of risk




                                                     NASA
Test in both dev and prod




                            NASA
Detectable errors should be caught in dev




                                       NASA
Undetectable errors must be worked out in production




                                                 NASA
Software exists in context




                             NASA
Networks, services and people are always in flux




                                              NASA
Small changesets are easier to debug
An SCM revert is a changeset




                               NASA
Large changesets are riskier and harder to debug




                                              NASA
Fail Forward!




                NASA
Always deploy the HEAD revision of trunk




                                   scrapnow on Etsy
Never roll back to an earlier state.
Always roll forward. When it's
desireable to revert a previous
change, do that as part of a new
commit.
Instead of rolling back, fix the problem and move on




                                                 NASA
Let go of the idea of “last stable release”




                                         NASA
Focus less on satisfying the requirements




                                     Scott Holloway
Watch the graphs




                   NASA
Listen to your customers




                           NASA
Build a culture of shared responsibility




                             Kirsten Dunst on the set of Marie Antoinette
Low-Ceremony Process




                       Kirsten Dunst on the set of Marie Antoinette
Iteratively improve your product




                                   WSHS Science blog
Further Reading
“How Google Tests Software,” James Whittaker

“Look At Your Data,” John Rausser

“Optimizing For Developer Happiness,” Chad Dickerson

“Outages, Postmortems and Human Error,” John Allspaw

http://en.wikipedia.org/wiki/Swiss_cheese_model

“What Is Exploratory Testing?,” James Bach
Questions?

 @noahsussman
 ns@noahsussman.com
 infiniteundo.com

More Related Content

Viewers also liked

Key principles in continuous improvement culture
Key principles in continuous improvement cultureKey principles in continuous improvement culture
Key principles in continuous improvement culture
Gopala P.
 
Continuous process improvement
Continuous process improvementContinuous process improvement
Continuous process improvement
Naeem Hassan
 
Action plan in reading 2014
Action plan in reading 2014Action plan in reading 2014
Action plan in reading 2014
Janet Dimitui
 
Living contagiously
Living contagiouslyLiving contagiously
Living contagiously
Paul Sparks
 
Metaphors - Direct, Implied, and Extended
Metaphors - Direct, Implied, and ExtendedMetaphors - Direct, Implied, and Extended
Metaphors - Direct, Implied, and Extended
MissMayfield
 
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Noah Sussman
 

Viewers also liked (18)

Continuous Improvement Strategy
Continuous Improvement StrategyContinuous Improvement Strategy
Continuous Improvement Strategy
 
Creating a Continuous Improvement Culture
Creating a Continuous Improvement CultureCreating a Continuous Improvement Culture
Creating a Continuous Improvement Culture
 
Key principles in continuous improvement culture
Key principles in continuous improvement cultureKey principles in continuous improvement culture
Key principles in continuous improvement culture
 
Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?
 
SIP Annex 12B SRC Template (Advanced)
SIP Annex 12B SRC Template (Advanced)SIP Annex 12B SRC Template (Advanced)
SIP Annex 12B SRC Template (Advanced)
 
Continuous improvement presentation 2014
Continuous improvement presentation 2014Continuous improvement presentation 2014
Continuous improvement presentation 2014
 
Continuous process improvement
Continuous process improvementContinuous process improvement
Continuous process improvement
 
Continuous process improvement
Continuous process improvementContinuous process improvement
Continuous process improvement
 
Sample School Improvement Plan
Sample School Improvement PlanSample School Improvement Plan
Sample School Improvement Plan
 
Continuous process improvement (4)
Continuous process improvement (4)Continuous process improvement (4)
Continuous process improvement (4)
 
Action plan in reading 2014
Action plan in reading 2014Action plan in reading 2014
Action plan in reading 2014
 
Living contagiously
Living contagiouslyLiving contagiously
Living contagiously
 
Nansiakan National High School: School Report Card
Nansiakan National High School: School Report Card Nansiakan National High School: School Report Card
Nansiakan National High School: School Report Card
 
Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!
 
Metaphors - Direct, Implied, and Extended
Metaphors - Direct, Implied, and ExtendedMetaphors - Direct, Implied, and Extended
Metaphors - Direct, Implied, and Extended
 
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
 
Src
SrcSrc
Src
 
Strategic Communication Planning
Strategic Communication PlanningStrategic Communication Planning
Strategic Communication Planning
 

Similar to Continuous Improvement (GroupOn, Palo Alto 2013)

Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
Noah Sussman
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Alex Pinto
 
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha TouchFrank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
Codecamp Romania
 
How npm is making JavaScript safe for everyone
How npm is making JavaScript safe for everyoneHow npm is making JavaScript safe for everyone
How npm is making JavaScript safe for everyone
Daniel Sauble
 
Sas 07 Anomalies
Sas 07 AnomaliesSas 07 Anomalies
Sas 07 Anomalies
CS, NcState
 

Similar to Continuous Improvement (GroupOn, Palo Alto 2013) (20)

Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A Study
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
 
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha TouchFrank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
Frank Mainzer & Silviu Durduc - Developing mobile app using Sencha Touch
 
Stuff About CQRS
Stuff About CQRSStuff About CQRS
Stuff About CQRS
 
Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in Production
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops
 
DevOps - Automating Legacy
DevOps - Automating LegacyDevOps - Automating Legacy
DevOps - Automating Legacy
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos Engineering
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of Uncertainty
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
 
How npm is making JavaScript safe for everyone
How npm is making JavaScript safe for everyoneHow npm is making JavaScript safe for everyone
How npm is making JavaScript safe for everyone
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
 
Sas 07 Anomalies
Sas 07 AnomaliesSas 07 Anomalies
Sas 07 Anomalies
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking Systems
 
How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of Uncertainty
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Continuous Improvement (GroupOn, Palo Alto 2013)