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

54
Noah Sussman STPCon Fall 2011, Dallas TX #STPCon Alternative Approaches to Quality at Etsy fast and good

description

 

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

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

Noah Sussman STPCon Fall 2011, Dallas TX

#STPCon

Alternative Approaches to Quality at Etsyfast and good

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

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.

Page 4: Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Page 5: Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Page 6: Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Page 7: Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011

September 2011: 489 Web deployments

110 people committed to trunk 4,519 changesets in all 9.2 changesets average per production deployment

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

September 2011: 489 Web deployments

80 people deployed to production 20 or fewer committers in each deployment 5.7 committers average per deployment

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

10 million registered members25 million unique visitors per month800,000 active sellers150 different countries10 million listed items$314 million in sales in 2010

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

In 2010, MTTR was 6.4 minutes for severity one outages

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

Six change-related outages in 2010Out of thousands of production deployments

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

“All existing revision control systems were built by people who build installed software.”

~Paul Hammond

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

All canonical software life cycles were designed by people who build installed software

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

“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

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

Optimize for recovery rather than focusing on preventing failure.

Failure is inevitable.

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

Default to open access

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

No blame

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

Use your own judgement

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

“an airport without an air traffic controller”Chad Dickerson

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

faster deploys = smaller changesets = fewer change-related outages

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

Self-serve deployment

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

bleeding edge code,production data and services

princess

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

Shared development environment

Single dev databaseEveryone commits to trunk

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

low-ceremony process

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

A test is a design document first

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

Many small deployments, many small tests

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

Beyond developer testing1. Test planning2. GUI-driven regression testing3. Performance testing4. Security / Penetration testing5. Nagios

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

Make it easy to write and run tests

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

Make it painless to use fixtures and mocks

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

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

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

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

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

Test to address technical debt

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

Keep the feedback loop short

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

Graph or it didn’t happenAt Etsy we monitor over 40,000 real-time metrics

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

Business Metrics

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

Application Metrics

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

System Metrics

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

We hire our users

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

Tests are one of the tools we use to detect and prevent failure

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

There will always be bugs in production

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

Unexpected failures tend to be catastrophic

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

Anomaly detection is hard

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

Just ship

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

How do you deploy large features?

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

Releasing a feature is decoupled from deploying code

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

if ($cfg["new_search"]) {// new hotness$resp = search_solr();

} else {// old busted$resp = search_grep();

}

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

$cfg = array( 'checkout' => true, 'homepage' => true, 'profiles' => true, 'new_search' => false,);

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

Dark launchesAdmin-only rolloutsA/B campaignsetsy.com/prototypesWe are always testing

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

A culture of responsibility

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

A community of artisans

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

You are a participant observer

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

etsy.com/careers

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

photo creditspenguins: paulmcdee http://www.flickr.com/photos/paulmcdee/2806715569aerial photograph of snowy road: K. Leidorf http://leidorf.blogspot.com/search/label/20D03855death in the mirror: Richard Avedon for the New YorkerWomen 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=112clover 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-picshorse fly: Lukjonis http://www.flickr.com/photos/38628972@N05/5884111163/in/photostream/Gandalf vs balrog: the brothers HildebrandtJust Ship t-shirt: Kellan http://www.etsy.com/shop/kellanem/soldbarn 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.