Just Ship: Managing to Stay Out of the Way

2,920
-1

Published on

A presentation on innovative development culture given at TimesOpen - a New York event hosted by The New York Times.

Just Ship: Managing to Stay Out of the Way

  1. 1. Just Ship Managing to Stay Out of the Way Ken Little @timesopen 9/7/11Tuesday, September 13, 2011
  2. 2. What is Etsy?Tuesday, September 13, 2011
  3. 3. Tuesday, September 13, 2011
  4. 4. 1+ Billion Pageviews Per MonthTuesday, September 13, 2011
  5. 5. ~80 EngineersTuesday, September 13, 2011
  6. 6. Still Evolving: Heavy Bias Toward ChangeTuesday, September 13, 2011
  7. 7. HEAVY.Tuesday, September 13, 2011
  8. 8. The Management Challenge: Create an Environment that ENCOURAGES Experimentation and Rapid DevelopmentTuesday, September 13, 2011
  9. 9. Rule of Thumb: If You’re not Coding, Be a CatalystTuesday, September 13, 2011
  10. 10. Rule of Thumb: If You’re not Coding, Be a Catalyst Find Ways to Make Coders Better, Stronger, FasterTuesday, September 13, 2011
  11. 11. Constant ChangeTuesday, September 13, 2011
  12. 12. Constant Change • Make Small(ish), Measurable ChangesTuesday, September 13, 2011
  13. 13. Constant Change • Make Small(ish), Measurable Changes • All Roads Lead to ProdTuesday, September 13, 2011
  14. 14. Constant Change • Make Small(ish), Measurable Changes • All Roads Lead to Prod • No Barriers. If You Can do the Work, Then You Can... do the Work...Tuesday, September 13, 2011
  15. 15. Small(ish) ChangesTuesday, September 13, 2011
  16. 16. “All existing revision control systems were built by people who build installed software” - Paul Hammond, Always Ship Trunk, Velocity 2010Tuesday, September 13, 2011
  17. 17. The Web is NOT Installed SoftwareTuesday, September 13, 2011
  18. 18. Commit DailyTuesday, September 13, 2011
  19. 19. Commit Daily TO TRUNKTuesday, September 13, 2011
  20. 20. No BranchesTuesday, September 13, 2011
  21. 21. No Sleepy Repose in QA / StageTuesday, September 13, 2011
  22. 22. DO IT LIVE!Tuesday, September 13, 2011
  23. 23. DO IT LIVE? (OK Not Quite)Tuesday, September 13, 2011
  24. 24. Branch in CodeTuesday, September 13, 2011
  25. 25. Config Flags if ($cfg::isEnabled(‘awesome_new_search’)) { # new hotness $rsp = do_solr(); } else { # boring old stuff $rsp = do_grep(); }Tuesday, September 13, 2011
  26. 26. Keep it SimpleTuesday, September 13, 2011
  27. 27. Ding Ding! $conf[‘awesome_new_search’] = array( ! enabled => ‘ADMINONLY’ );Tuesday, September 13, 2011
  28. 28. Ding Ding! • Allows Multiple Contributors Without Drifting from Trunk • Provides Tremendous Visibility into Project Progress • Once Done, Code’s already DeployedTuesday, September 13, 2011
  29. 29. Turning it on in Production is Actually BoringTuesday, September 13, 2011
  30. 30. Tuesday, September 13, 2011
  31. 31. Do (Most) Change Management Along the WayTuesday, September 13, 2011
  32. 32. Do (Most) Change Management Along the Way • Code Reviews With each CommitTuesday, September 13, 2011
  33. 33. Don’t Think, Just do itTuesday, September 13, 2011
  34. 34. Do (Most) Change Management Along the Way • Code Reviews With each Commit • Unit Tests - We’ve Got BoatloadsTuesday, September 13, 2011
  35. 35. Do (Most) Change Management Along the Way • Code Reviews With each Commit • Unit Tests - We’ve Got Boatloads • Constantly Monitor for Trouble. Correct Quickly.Tuesday, September 13, 2011
  36. 36. Graph EverythingTuesday, September 13, 2011
  37. 37. Graph EverythingTuesday, September 13, 2011
  38. 38. No, Really. Everything.Tuesday, September 13, 2011
  39. 39. mean time to detect: < 5 minutes mean time to resolve: 4.5 minutesTuesday, September 13, 2011
  40. 40. All Roads Lead to ProdTuesday, September 13, 2011
  41. 41. Rampups $conf[‘awesome_new_search’] = array( ! enabled => ‘ADMINONLY’ );Tuesday, September 13, 2011
  42. 42. Rampups $conf[‘awesome_new_search’] = array( ! enabled => ‘WHITELIST’, ! whitelist => array(‘kenlittle’, ‘yournamehere’) );Tuesday, September 13, 2011
  43. 43. Rampups $conf[‘awesome_new_search’] = array( ! enabled => ‘RAMPUP’, ! percent => 1 //percent of users );Tuesday, September 13, 2011
  44. 44. 1%Tuesday, September 13, 2011
  45. 45. ExperimentsTuesday, September 13, 2011
  46. 46. Tuesday, September 13, 2011
  47. 47. Hack WeekTuesday, September 13, 2011
  48. 48. Tuesday, September 13, 2011
  49. 49. Make it Harder to Talk About an Idea Than to Just do itTuesday, September 13, 2011
  50. 50. No Barriers. If You Can do the Work, Then You Can... do the Work...Tuesday, September 13, 2011
  51. 51. Mike BecakTuesday, September 13, 2011
  52. 52. Mike Becak Product DudeTuesday, September 13, 2011
  53. 53. Mike’s Commit StreamTuesday, September 13, 2011
  54. 54. Mike’s Code ReviewsTuesday, September 13, 2011
  55. 55. Mike’s PushTuesday, September 13, 2011
  56. 56. Sam HaskinsTuesday, September 13, 2011
  57. 57. Sam Haskins Rocking Engineering InternTuesday, September 13, 2011
  58. 58. Sam Announcing a New FeatureTuesday, September 13, 2011
  59. 59. Wrap it UpTuesday, September 13, 2011
  60. 60. Small, Constant ChangeTuesday, September 13, 2011
  61. 61. Prod is a Great Context to Dev inTuesday, September 13, 2011
  62. 62. Help the Folks that Do, Do MoreTuesday, September 13, 2011
  63. 63. http://kellanem.etsy.comTuesday, September 13, 2011
  64. 64. Thanks! • http://codeascraft.etsy.com • http://www.etsy.com/careers/ • ken.little@etsy.comTuesday, September 13, 2011

×