Engineering Change

2,383 views
2,273 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,383
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Engineering Change

  1. 1. Engineering Change: Enable rapid experimentation Kellan Elliott-McCrea @kellan CTO, EtsyThursday, May 17, 12
  2. 2. * A marketplace for handmade and vintage goods. In April 2012 * 875,000 artisans and creative independents * $63.6 million USD in sales * 1.32 billion page viewsThursday, May 17, 12
  3. 3. Engineering Change: * Continuous Deployment * Metrics driven developmentThursday, May 17, 12
  4. 4. Engineering Change: * Make mistakes quickly * Learn from mistakesThursday, May 17, 12
  5. 5. Engineering Change: * Continuous Deployment * Metrics driven developmentThursday, May 17, 12
  6. 6. Continuous Deployment: a technique for rapid iterationThursday, May 17, 12
  7. 7. Continuous Deployment: make failure cheapThursday, May 17, 12
  8. 8. Continuous Deployment: small changes, pushed frequentlyThursday, May 17, 12
  9. 9. Continuous Deployment: small changes, pushed frequently. To production.Thursday, May 17, 12
  10. 10. Continuous Deployment: 10,068 releases to production in 2011 @ EtsyThursday, May 17, 12
  11. 11. Continuous Deployment: How?Thursday, May 17, 12
  12. 12. Continuous Deployment: No branching. “All existing revision control systems were built by people who build installed software” - Paul Hammond, Always Ship Trunk, Velocity 2010 Thursday, March 17, 2011Thursday, May 17, 12
  13. 13. Continuous Deployment: feature flags if ($cfg[‘awesome_new_search’]) { # new hotness $rsp = do_solr(); } else { # boring old stuff $rsp = do_grep(); }Thursday, May 17, 12
  14. 14. Continuous Deployment: Ramp - ups (on top of feature flags) 1. Launch to staff only 2. Launch to 1% of all users 3. Launch to members of a beta groupThursday, May 17, 12
  15. 15. Continuous Deployment: any engineer can launch a feature to 1% of usersThursday, May 17, 12
  16. 16. Continuous Deployment: ~200 experiments live right nowThursday, May 17, 12
  17. 17. Metrics driven development: optimize for learningThursday, May 17, 12
  18. 18. Metrics driven development: measure everythingThursday, May 17, 12
  19. 19. Metrics driven development: getting started: make it easyThursday, May 17, 12
  20. 20. Metrics driven development: measure everything: logs, monitoring, A/B, graphs, StatsDThursday, May 17, 12
  21. 21. Metrics driven development: StatsD @ Instagram, Pinterest, Github, Mozilla, LAN.com, Zynga, Kickstarter, LivingSocial and 70+ other companiesThursday, May 17, 12
  22. 22. Metrics driven development: StatsD “We love statsd at Instagram. Written by Etsy, it’s a network daemon that aggregates and rolls-up data into Graphite. At its core, it has two types of statistics: counter and timers. We use the counters to track everything from number of signups per second to number of likes, and we use timers to time generation of feeds, how long it takes to follow users, and any other major action.” - Mike Krieger, Founder and CTO, Instagram.Thursday, May 17, 12
  23. 23. Metrics driven development: StatsD Open source, a daemon for timing and counting things, graphs rates, averages and 95th percentile, 20-30 minute install, easy to useThursday, May 17, 12
  24. 24. Metrics driven development StatsD::timing("page.render", $msec);Thursday, May 17, 12
  25. 25. Metrics driven developmentThursday, May 17, 12
  26. 26. Metrics driven development getting started: your 5 core metricsThursday, May 17, 12
  27. 27. Metrics driven development 5 core metrics @ Etsy: sign ups, logins, checkout, new listings, posts in the bugs forumsThursday, May 17, 12
  28. 28. Metrics driven development 378,000 metrics, collected roughly once a secondThursday, May 17, 12
  29. 29. Metrics driven development the confidence to changeThursday, May 17, 12
  30. 30. Engineering change: Rapid experimentation Adapt, find market fit.Thursday, May 17, 12
  31. 31. Engineering change: Rapid experimentation Adapt, find market fit, addictive to engineers.Thursday, May 17, 12
  32. 32. Thank you! Lean more: http://codeascraft.etsy.comThursday, May 17, 12

×