SlideShare a Scribd company logo
1 of 64
Download to read offline
Just Ship
                              Managing to Stay Out of the Way




                                                                 Ken Little
                                                                @timesopen
                                                                  9/7/11
Tuesday, September 13, 2011
What is Etsy?



Tuesday, September 13, 2011
Tuesday, September 13, 2011
1+ Billion Pageviews
                                    Per Month



Tuesday, September 13, 2011
~80 Engineers



Tuesday, September 13, 2011
Still Evolving: Heavy Bias Toward
                                     Change



Tuesday, September 13, 2011
HEAVY.



Tuesday, September 13, 2011
The Management Challenge: Create
                   an Environment that ENCOURAGES
                      Experimentation and Rapid
                             Development


Tuesday, September 13, 2011
Rule of Thumb: If You’re not Coding,
                              Be a Catalyst



Tuesday, September 13, 2011
Rule of Thumb: If You’re not Coding,
                              Be a Catalyst
                              Find Ways to Make Coders Better, Stronger, Faster




Tuesday, September 13, 2011
Constant Change




Tuesday, September 13, 2011
Constant Change

      • Make Small(ish), Measurable Changes



Tuesday, September 13, 2011
Constant Change

      • Make Small(ish), Measurable Changes
      • All Roads Lead to Prod


Tuesday, September 13, 2011
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
Small(ish) Changes



Tuesday, September 13, 2011
“All existing revision control systems
               were built by people who build installed
               software”

                                                  - Paul Hammond,
                                    Always Ship Trunk, Velocity 2010




Tuesday, September 13, 2011
The Web is NOT Installed Software



Tuesday, September 13, 2011
Commit Daily



Tuesday, September 13, 2011
Commit Daily
                               TO TRUNK


Tuesday, September 13, 2011
No Branches



Tuesday, September 13, 2011
No Sleepy Repose in QA / Stage



Tuesday, September 13, 2011
DO IT LIVE!



Tuesday, September 13, 2011
DO IT LIVE?
                                (OK Not Quite)




Tuesday, September 13, 2011
Branch in Code



Tuesday, September 13, 2011
Config Flags
       if ($cfg::isEnabled(‘awesome_new_search’))
       {
              # new hotness
              $rsp = do_solr();
       } else {
              # boring old stuff
              $rsp = do_grep();
       }


Tuesday, September 13, 2011
Keep it Simple




Tuesday, September 13, 2011
Ding Ding!


           $conf[‘awesome_new_search’] = array(

           ! enabled => ‘ADMINONLY’

           );




Tuesday, September 13, 2011
Ding Ding!

      • Allows Multiple Contributors Without Drifting from Trunk
      • Provides Tremendous Visibility into Project Progress
      • Once Done, Code’s already Deployed

Tuesday, September 13, 2011
Turning it on in Production is
                                    Actually Boring



Tuesday, September 13, 2011
Tuesday, September 13, 2011
Do (Most) Change Management Along the Way




Tuesday, September 13, 2011
Do (Most) Change Management Along the Way

      • Code Reviews With each Commit



Tuesday, September 13, 2011
Don’t Think, Just do it




Tuesday, September 13, 2011
Do (Most) Change Management Along the Way

      • Code Reviews With each Commit
      • Unit Tests - We’ve Got Boatloads


Tuesday, September 13, 2011
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
Graph Everything




Tuesday, September 13, 2011
Graph Everything




Tuesday, September 13, 2011
No, Really. Everything.




Tuesday, September 13, 2011
mean time to detect:
                                 < 5 minutes


                                           mean time to resolve:
                                              4.5 minutes




Tuesday, September 13, 2011
All Roads Lead to Prod



Tuesday, September 13, 2011
Rampups


           $conf[‘awesome_new_search’] = array(

           ! enabled => ‘ADMINONLY’

           );




Tuesday, September 13, 2011
Rampups


           $conf[‘awesome_new_search’] = array(

           ! enabled          => ‘WHITELIST’,

           ! whitelist => array(‘kenlittle’, ‘yournamehere’)

           );




Tuesday, September 13, 2011
Rampups


           $conf[‘awesome_new_search’] = array(

           ! enabled => ‘RAMPUP’,

           ! percent => 1 //percent of users

           );




Tuesday, September 13, 2011
1%



Tuesday, September 13, 2011
Experiments



Tuesday, September 13, 2011
Tuesday, September 13, 2011
Hack Week



Tuesday, September 13, 2011
Tuesday, September 13, 2011
Make it Harder to Talk About an Idea
                           Than to Just do it



Tuesday, September 13, 2011
No Barriers. If You Can do the Work,
                     Then You Can... do the Work...



Tuesday, September 13, 2011
Mike Becak




Tuesday, September 13, 2011
Mike Becak
                              Product Dude




Tuesday, September 13, 2011
Mike’s Commit Stream




Tuesday, September 13, 2011
Mike’s Code Reviews




Tuesday, September 13, 2011
Mike’s Push




Tuesday, September 13, 2011
Sam Haskins




Tuesday, September 13, 2011
Sam Haskins
                              Rocking Engineering
                              Intern




Tuesday, September 13, 2011
Sam Announcing a New Feature




Tuesday, September 13, 2011
Wrap it Up



Tuesday, September 13, 2011
Small, Constant Change



Tuesday, September 13, 2011
Prod is a Great Context to Dev in



Tuesday, September 13, 2011
Help the Folks that Do, Do More



Tuesday, September 13, 2011
http://kellanem.etsy.com




Tuesday, September 13, 2011
Thanks!
                    • http://codeascraft.etsy.com
                    • http://www.etsy.com/careers/
                    • ken.little@etsy.com

Tuesday, September 13, 2011

More Related Content

Similar to Just Ship: Managing to Stay Out of the Way

Boston Globe: Responsive Web Design
Boston Globe: Responsive Web DesignBoston Globe: Responsive Web Design
Boston Globe: Responsive Web Design
The Media Consortium
 
Don't Repeat Your Mistakes: JavaScript Unit Testing
Don't Repeat Your Mistakes: JavaScript Unit TestingDon't Repeat Your Mistakes: JavaScript Unit Testing
Don't Repeat Your Mistakes: JavaScript Unit Testing
aaronjorbin
 
From Designer to Django'er in Six Weeks: A Story from Solo Founder
From Designer to Django'er in Six Weeks: A Story from Solo FounderFrom Designer to Django'er in Six Weeks: A Story from Solo Founder
From Designer to Django'er in Six Weeks: A Story from Solo Founder
Tracy Osborn
 
Challenges in Large-Scale Web Crawling
Challenges in Large-Scale Web CrawlingChallenges in Large-Scale Web Crawling
Challenges in Large-Scale Web Crawling
Nate Murray
 
Hack Your Life: Winter College 2012
Hack Your Life: Winter College 2012Hack Your Life: Winter College 2012
Hack Your Life: Winter College 2012
Miami University
 
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
Lean Kanban Central Europe
 

Similar to Just Ship: Managing to Stay Out of the Way (20)

Cours1 design d'interaction_csv
Cours1 design d'interaction_csvCours1 design d'interaction_csv
Cours1 design d'interaction_csv
 
Cours1: design d'interaction
Cours1: design d'interactionCours1: design d'interaction
Cours1: design d'interaction
 
Boston Globe: Responsive Web Design
Boston Globe: Responsive Web DesignBoston Globe: Responsive Web Design
Boston Globe: Responsive Web Design
 
Developing a Progressive Mobile Strategy (Key Comm Version)
Developing a Progressive Mobile Strategy (Key Comm Version)Developing a Progressive Mobile Strategy (Key Comm Version)
Developing a Progressive Mobile Strategy (Key Comm Version)
 
Pulse News: porting android app to tablet
Pulse News: porting android app to tabletPulse News: porting android app to tablet
Pulse News: porting android app to tablet
 
Don't Repeat Your Mistakes: JavaScript Unit Testing
Don't Repeat Your Mistakes: JavaScript Unit TestingDon't Repeat Your Mistakes: JavaScript Unit Testing
Don't Repeat Your Mistakes: JavaScript Unit Testing
 
HTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex DevelopersHTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex Developers
 
Usability tour-pceu-2011
Usability tour-pceu-2011Usability tour-pceu-2011
Usability tour-pceu-2011
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp Londrina
 
From Designer to Django'er in Six Weeks: A Story from Solo Founder
From Designer to Django'er in Six Weeks: A Story from Solo FounderFrom Designer to Django'er in Six Weeks: A Story from Solo Founder
From Designer to Django'er in Six Weeks: A Story from Solo Founder
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
 
Challenges in Large-Scale Web Crawling
Challenges in Large-Scale Web CrawlingChallenges in Large-Scale Web Crawling
Challenges in Large-Scale Web Crawling
 
The Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentThe Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile development
 
Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011
 
Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done Differently
 
Now discover your strengths
Now discover your strengthsNow discover your strengths
Now discover your strengths
 
Hack Your Life: Winter College 2012
Hack Your Life: Winter College 2012Hack Your Life: Winter College 2012
Hack Your Life: Winter College 2012
 
Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011
 
Slaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and JenkinsSlaying Bugs with Gradle and Jenkins
Slaying Bugs with Gradle and Jenkins
 
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
KANBAN – NOT „YET ANOTHER DEVELOPMENT PROCESS“ (FLORIAN EISENBERG) - LKCE13
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Just Ship: Managing to Stay Out of the Way