SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
fast and good
Alternative Approaches to Quality at Etsy

                 Noah Sussman
             STPCon Fall 2011, Dallas TX
                     #STPCon
Our mission is to empower people to change the way
the global economy works. We see a world in which
very-very small businesses have much-much more
sway in shaping the economy, local living economies
are thriving everywhere, and people value authorship
and provenance as much as price and convenience. We
are bringing heart to commerce and making the world
more fair, more sustainable, and more fun.
September 2011: 489 Web deployments

   110 people committed to trunk
4,519 changesets in all
  9.2 changesets average per production deployment
September 2011: 489 Web deployments

 80 people deployed to production
20 or fewer committers in each deployment
5.7 committers average per deployment
10 million registered members
25 million unique visitors per month
800,000 active sellers
150 different countries
10 million listed items
$314 million in sales in 2010
In 2010, MTTR was 6.4 minutes
for severity one outages
Six change-related outages in 2010
Out of thousands of production deployments
“All existing revision control systems were built by
people who build installed software.”
                                    ~Paul Hammond
All canonical software life cycles were designed by
people who build installed software
“In the online world… there is one consumer of the
software: you. The users are consumers of the
service built atop the software.”
                                ~ Theo Schlossnagle
Optimize for recovery
rather than focusing on
preventing failure.

Failure is inevitable.
Default to open access
No blame
Use your own
judgement
“an airport without an air traffic controller”
                                       Chad Dickerson
faster deploys = smaller changesets = fewer change-related outages
Self-serve deployment
princess




bleeding edge code,
production data and services
Shared development environment



                   Single dev database
             Everyone commits to trunk
low-ceremony process
A test is a design document first
Many small deployments, many small tests
Beyond developer testing
1. Test planning
2. GUI-driven regression testing
3. Performance testing
4. Security / Penetration testing
5. Nagios
Make it easy to write and run tests
Make it painless to use fixtures and mocks
Most bugs, most of the time, are easily nailed given even
an incomplete but suggestive characterization of their
error conditions at source-code level.

        ~ESR, “How Many Eyeballs Tame Complexity,” 1997
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
Test to address technical debt
Keep the feedback loop short
Graphmonitorit didn’t happen
At Etsy we
           or over 40,000 real-time metrics
Business Metrics
Application Metrics
System Metrics
We hire our users
Tests are one of the tools we use to
detect and prevent failure
There will always be bugs in production
Unexpected failures tend to be catastrophic
Anomaly detection is hard
Just ship
How do you deploy large features?
Releasing a feature is decoupled from deploying code
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,
);
Dark launches
Admin-only rollouts
A/B campaigns
etsy.com/prototypes
We are always testing
A culture of responsibility
A community of artisans
You are a participant observer
etsy.com/careers
Noah Sussman
noah@etsy.com
@noahsussman
photo credits
penguins: paulmcdee http://www.flickr.com/photos/paulmcdee/2806715569
aerial photograph of snowy road: K. Leidorf http://leidorf.blogspot.com/search/label/20D03855
death in the mirror: Richard Avedon for the New Yorker
Women at work on C-47 Douglas cargo transport http://www.flickr.com/photos/library_of_congress/2179137415/in/photostream/
Woman aircraft worker http://www.flickr.com/photos/library_of_congress/2179930812/
cool bike with wooden handlebars: Bertelli http://www.bertellibici.com/product.php?works_id=112
clover keys: Brian Cerveny http://www.flickr.com/photos/briancerveny/48889960/in/photostream/
Etsy office monitor wall and Etsy bike rack: Mashable's Cubicle Spy http://mashable.com/2010/10/13/etsy-office-pics
horse fly: Lukjonis http://www.flickr.com/photos/38628972@N05/5884111163/in/photostream/
Gandalf vs balrog: the brothers Hildebrandt
Just Ship t-shirt: Kellan http://www.etsy.com/shop/kellanem/sold
barn raising: dogpose http://www.flickr.com/photos/8371074@N05/2865798475/
model train coupling: David E. Smith http://www.flickr.com/photos/david_e_smith/3566697122/sizes/l/in/photostream/

If I used your image and didn't credit you, it's because I couldn't figure out who you were -- email me and I will gladly credit you.
If you object to my using an image to which you own the rights, please contact me and I will remove that image from the deck.

Contenu connexe

Tendances

CS5032 Lecture 6: Human Error 2
CS5032 Lecture 6: Human Error 2CS5032 Lecture 6: Human Error 2
CS5032 Lecture 6: Human Error 2
John Rooksby
 

Tendances (14)

Bits of Evidence
Bits of EvidenceBits of Evidence
Bits of Evidence
 
The Revolution in an Industry That Will Change The World (Test & Measurement)
The Revolution in an Industry That Will Change The World (Test & Measurement)The Revolution in an Industry That Will Change The World (Test & Measurement)
The Revolution in an Industry That Will Change The World (Test & Measurement)
 
Data-Driven Postmortems - SRV208 - Toronto AWS Summit
Data-Driven Postmortems - SRV208 - Toronto AWS SummitData-Driven Postmortems - SRV208 - Toronto AWS Summit
Data-Driven Postmortems - SRV208 - Toronto AWS Summit
 
Making sense of messy problems - Systems thinking for interaction designers
Making sense of messy problems - Systems thinking for interaction designersMaking sense of messy problems - Systems thinking for interaction designers
Making sense of messy problems - Systems thinking for interaction designers
 
Itil for failers
Itil for failersItil for failers
Itil for failers
 
Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?
Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?
Testing Hyper-Complex Systems: What Can We Know? What Can We Claim?
 
CS5032 Lecture 6: Human Error 2
CS5032 Lecture 6: Human Error 2CS5032 Lecture 6: Human Error 2
CS5032 Lecture 6: Human Error 2
 
8 PEOPLE, 4 SERVICES, 40 COUNTRIES - Wojciech Gaca
8 PEOPLE, 4 SERVICES, 40 COUNTRIES - Wojciech Gaca8 PEOPLE, 4 SERVICES, 40 COUNTRIES - Wojciech Gaca
8 PEOPLE, 4 SERVICES, 40 COUNTRIES - Wojciech Gaca
 
Patterns for the People
Patterns for the PeoplePatterns for the People
Patterns for the People
 
Fearless Mobile Research
Fearless Mobile ResearchFearless Mobile Research
Fearless Mobile Research
 
AI Fables, Facts and Futures: Threat, Promise or Saviour
AI Fables, Facts and Futures: Threat, Promise or SaviourAI Fables, Facts and Futures: Threat, Promise or Saviour
AI Fables, Facts and Futures: Threat, Promise or Saviour
 
React Next Conference slides: ReactJS Worst practices
React Next Conference slides: ReactJS Worst practicesReact Next Conference slides: ReactJS Worst practices
React Next Conference slides: ReactJS Worst practices
 
Teaching Elephants to Dance, Burr Sutter
Teaching Elephants to Dance, Burr SutterTeaching Elephants to Dance, Burr Sutter
Teaching Elephants to Dance, Burr Sutter
 
Jeff Atwood, Michael Krakovskiy "The role of catastrophic failure in software...
Jeff Atwood, Michael Krakovskiy "The role of catastrophic failure in software...Jeff Atwood, Michael Krakovskiy "The role of catastrophic failure in software...
Jeff Atwood, Michael Krakovskiy "The role of catastrophic failure in software...
 

En vedette

En vedette (20)

The Invisible Art Of Software Testing
The Invisible Art Of Software TestingThe Invisible Art Of Software Testing
The Invisible Art Of Software Testing
 
Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)
 
Interview with the Vampire
Interview with the VampireInterview with the Vampire
Interview with the Vampire
 
Software Businesses On 5 Hours A Week
Software Businesses On 5 Hours A WeekSoftware Businesses On 5 Hours A Week
Software Businesses On 5 Hours A Week
 
Transitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QATransitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QA
 
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!
 
Design Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIODesign Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIO
 
Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce Labs
 
Fringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsFringe Accessibility: London Web Standards
Fringe Accessibility: London Web Standards
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best Practices
 
Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test Automation
 
Sosiaalisen median katsaus 08/2011
Sosiaalisen median katsaus 08/2011Sosiaalisen median katsaus 08/2011
Sosiaalisen median katsaus 08/2011
 
Sosiaalisen median katsaus 05/2010
Sosiaalisen median katsaus 05/2010Sosiaalisen median katsaus 05/2010
Sosiaalisen median katsaus 05/2010
 
Sosiaalisen median katsaus 09/2013
Sosiaalisen median katsaus 09/2013Sosiaalisen median katsaus 09/2013
Sosiaalisen median katsaus 09/2013
 
Sosiaalinen media 08/2009
Sosiaalinen media 08/2009Sosiaalinen media 08/2009
Sosiaalinen media 08/2009
 
Sosiaalinen media 05/2009
Sosiaalinen media 05/2009Sosiaalinen media 05/2009
Sosiaalinen media 05/2009
 
Outages, PostMortems, and Human Error
Outages, PostMortems, and Human ErrorOutages, PostMortems, and Human Error
Outages, PostMortems, and Human Error
 
Sosiaalisen median tilannekatsaus: tasapainoilua itsen ja muiden välillä
Sosiaalisen median tilannekatsaus:  tasapainoilua itsen ja muiden välilläSosiaalisen median tilannekatsaus:  tasapainoilua itsen ja muiden välillä
Sosiaalisen median tilannekatsaus: tasapainoilua itsen ja muiden välillä
 
Sosiaalisen median katsaus 02/2015
Sosiaalisen median katsaus 02/2015Sosiaalisen median katsaus 02/2015
Sosiaalisen median katsaus 02/2015
 
Scaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightScaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went Right
 

Similaire à Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011

Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 

Similaire à Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011 (20)

Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
 
The real value of open source: ROI and beyond
The real value of open source: ROI and beyondThe real value of open source: ROI and beyond
The real value of open source: ROI and beyond
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
DeKnowledge - Try us
DeKnowledge - Try usDeKnowledge - Try us
DeKnowledge - Try us
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Aufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOps
 
Cloud Native Future
Cloud Native FutureCloud Native Future
Cloud Native Future
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development Experience
 
Fiat eco:Drive
Fiat eco:DriveFiat eco:Drive
Fiat eco:Drive
 
Build Automate and Test Strategies - BATMAN
Build Automate and Test Strategies - BATMAN Build Automate and Test Strategies - BATMAN
Build Automate and Test Strategies - BATMAN
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient Systems
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
 
"We are doing it wrong."
"We are doing it wrong.""We are doing it wrong."
"We are doing it wrong."
 
devops, platforms and devops platforms
devops, platforms and devops platformsdevops, platforms and devops platforms
devops, platforms and devops platforms
 
devops, platforms and devops platforms
devops, platforms and devops platformsdevops, platforms and devops platforms
devops, platforms and devops platforms
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 
Going Cloud First at the FT
Going Cloud First at the FTGoing Cloud First at the FT
Going Cloud First at the FT
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
 
JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447
 
Worse Is Better, for Better or for Worse
Worse Is Better, for Better or for WorseWorse Is Better, for Better or for Worse
Worse Is Better, for Better or for Worse
 

Plus de Noah Sussman

Plus de Noah Sussman (6)

JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
 
Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)
 
Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012
 
The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012
 
Selenium in the enterprise what went right and what went wrong so far - sel...
Selenium in the enterprise   what went right and what went wrong so far - sel...Selenium in the enterprise   what went right and what went wrong so far - sel...
Selenium in the enterprise what went right and what went wrong so far - sel...
 
Scaling Selenium
Scaling SeleniumScaling Selenium
Scaling Selenium
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 

Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011