際際滷

際際滷Share a Scribd company logo
hello


Hello
What is Etsy?
Etsy is a commerce platform & a community where people buy
direct from designers & artists who make & sell their own
products.
Any creative person can open a shop, list items, receive and
ful鍖ll orders, promote themselves, connect with other people,
curate collections of items, watch site activity...
96% goes straight to the seller.
There are products made by hand or with very small scale
production.
There are vintage and antique products.
There are supplies for making.
Etsy is more than products. Its a community.
End
                              to
                          End

Im in the lucky position to be creative director at Etsy.
I get to be the arbiter of Etsy's experience end-to-end across
all channels...
...out in the world...
...on your phone...
...and at etsy.com. Im the design cheerleader, with a critical
eye. And I make sure great design work gets done.
10+ million
                        members



Theres a lot to get done. In a complex environment.
800,000+
  sellers
11 million+
   items
1 billion+
page views a month
$600 million
            this year



And...
About 140 people in Product Design & Engineering
(thats designers, product managers, engineers, and devops).
We have to make that all work!
Design
                            for
               Continuous
               Deployment

Which brings me to the topic at hand. Design for Continuous
Deployment.
HELL         Design
                      for


       YES!
             Continuous
             Deployment

Which is awesome.
What is he
         doing here?


You might be asking yourself, why is a designer talking to
room of developers about deployment?
get
                         Great
                         Work
                             done


Return to this idea of helping
great work get done.
How
                     Things
                           are
                      Made

Getting great work done means working together.
And it means valuing how things are made.
Making
                   Together


In fact, it means Making Together.
THAT is designing for continuous deployment.
If our engineers practice continuous deployment, so must we.
Were building one product.
Designers...
...and engineers...(no wait)...
...and engineers working together.
What is
        continuous
        deployment?

That brings us to our next question. You might be asking,
What is continuous deployment?
d艶沿鉛看霞馨艶稼岳

          Release Changes

Deployment is really just releasing changes to your product.
c看稼岳庄稼顎看顎壊

            All of the Time

Continuous means those changes are being released all of
the time.
Always Improve


Assuming that each change is intended to be an improvement
(and why wouldnt it be?), then that means the product is
always improving.
Frequent

                       Boring

                   Low-Risk
These changes happen often, theyre trivial, and because
theyre small, they should be low risk. This is really the
philosophy of continuous deployment.
Release
                      Early

                     Release
                      Often
This is saying frequency another way: a catchy way. This is
how you say it if you want to remind someone they havent
released small enought or frequently enough.
Easy to Identify

                Easy to Fix

Again, because the changes are small (and we measure what
happens) problems are easier to 鍖nd and easier to 鍖x.
Why design for
        continuous
        deployment?

So, you ask, why design for continuous deployment?
Were all in
               this together.


Well, were working together building one product, so we
should work similarly. Design doesnt get left behind in a
powerful engineering culture. In fact, design can scale and be
more 鍖uid when its close to engineering.
Share Early

                 Share Often

This is the collaboration counterpart to releasing early and
often. You encounter problems sooner. You learn sooner. You
鍖x sooner.
This isnt about speed, its about quality.
You sketch it out...
code




...make it real...
code




...and share it!
Youve made your design in the actual application
environment. For engineers, no big deal. For designers, this is
huge!
Empowerment,
            Responsibility
                            &
                       Trust

And when you get to the point of releasing, youre empowered
and trusted to do that. (yep, designers deploy to production
too)
People like these things. Being trusted feels good.
As Kellan our CTO says, optimize for developer happiness.
When youre happy, you do better work.
Decentralize
                   Work


When everyone can access code and everyone can deploy,
theres not single bottleneck or central deployment authority.
Engineers      Deployers




Here we can see the moment in 2010 when the number of
people deploying to production surpassed the number of
engineers on staff. This is good.
Engineers         Deployers
   70


   60


   50


   40


   30


   20


   10


    0
        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov




Here we can see the moment in 2010 when the number of
people deploying to production surpassed the number of
engineers on staff. This is good.
Engineers         Deployers
   70


   60
                                                                    58
                                                              55
   50
                                                        49
                                                  47
   40                                       42

                                      35
   30
                                30
                          26
   20               23
              20
        15
   10


    0
        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov




Here we can see the moment in 2010 when the number of
people deploying to production surpassed the number of
engineers on staff. This is good.
Engineers         Deployers
   70


                                                                    62
   60
                                                              57
                                                                    58
                                                        54
                                                              55
   50                                             50
                                                        49
                                                  47
   40                                       42

                                      35    32
   30
                                30
                                      26
                          26
                                22
   20               23
              20
                          15
        15
   10               10
         7     8


    0
        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov




Here we can see the moment in 2010 when the number of
people deploying to production surpassed the number of
engineers on staff. This is good.
Engineers         Deployers
   70


                                                                    62
   60
                                                              57
                                                                    58
                                                        54
                                                              55
   50                                             50
                                                        49
                                                  47
   40                                       42

                                      35    32
   30
                                30
                                      26
                          26
                                22
   20               23
              20
                          15
        15
   10               10
         7     8


    0
        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov




Here we can see the moment in 2010 when the number of
people deploying to production surpassed the number of
engineers on staff. This is good.
Share Language

        Share Knowledge

When designers and engineers work in the same environment,
they share a language. This makes is easier to share
knowledge. It also means you sympathize more with each
others motivations and challenges.
Version Control
            Design Assets


As an added bonus. When you have designers working this
way, you get version control of your design assets happening
naturally. Nice!
How do you do it?


Enough with the philosophy and motivational messages.
How does this work at Etsy?
Tools
                        &
                      Process

Ill describe the tools and basic process we use on the product
design team (and where we intersect with engineering).
Dev Environment


We all have a dedicated virtual machine that serves as our
development environment. They are con鍖gured as mirrors of
production in almost every way.
Local
              Environment


And we all work locally on our Macs. This is like some
engineers, but not most of them. Most of them like to work in
their development environment directly. Us designers dont like
things like Vim.
Quick Start Guides
                            &
                   Packages

Along with our engineers, weve made quick guides to help
designers get started in this environment.
Some engineers even made us a handy package to install. Ta-
da!
Chat & Share
The whole company uses IRC to communicate.
The product design team also uses Camp鍖re (and the Propane
client) to share visual designs in conversation as well. Well
post links to dev environments, as well as still and motion
screen captures.
send
            Local Changes
                             to
        Dev Environemnt

Remember those set up tools? Well theres a handy script that
auto-sends local changes to your development environment.
Pattern Library


Weve built a design Pattern Library. It allows us to quickly get
designs roughed. Dont duplicate efforts. Be more consistent
throughout the product.

It covers mark-up, style, and behavior.
This doesnt solve everything, every time, but a patterns solves
many things many times. Makes it easy to get started. Helps
share design decisions between designers and with engineers.

If we do something more than once, we patternize it.
Con鍖g Flags


We put every feature behind con鍖g 鍖ags. Theyre dead simple.
They live in a few simple PHP 鍖les.

These allow us to safely work in production code and only
deliver designs to the right people at the right time.
These 鍖ags turn things on and off.
They determine what environment theyre on/off in.
They can determine what speci鍖c users.
And they integrate with our a/b experiment framework.
On/Off




These 鍖ags turn things on and off.
They determine what environment theyre on/off in.
They can determine what speci鍖c users.
And they integrate with our a/b experiment framework.
On/Off
                  Dev/Prod



These 鍖ags turn things on and off.
They determine what environment theyre on/off in.
They can determine what speci鍖c users.
And they integrate with our a/b experiment framework.
On/Off
          Dev/Prod
        Whitelist/Co./All


These 鍖ags turn things on and off.
They determine what environment theyre on/off in.
They can determine what speci鍖c users.
And they integrate with our a/b experiment framework.
On/Off
          Dev/Prod
        Whitelist/Co./All
           %A/%B

These 鍖ags turn things on and off.
They determine what environment theyre on/off in.
They can determine what speci鍖c users.
And they integrate with our a/b experiment framework.
URL Params


Weve implemented very simple template tags that allow us to
specify URL parameters and next design states or variations
inside them.
{% if $smarty.get.url_param ==
url_param_value %}


a design for review
{% /if %}
{% if $smarty.get.url_param ==
version-A %}


a design for review
{% /if %}
{% if $smarty.get.url_param ==
version-B %}


another design for review
{% /if %}
Commit & Review


Before we send our changes back to master, we get code
reviews from our peers.
We use Crucible or Github or really anything youd like to use
to do a code review. The important thing is that we check our
work. Designers can learn a ton from engineers in this step.
Test


Before we send changes to master, we run functional and unit
tests.
Push


Then we push it.
Push it to
             Master in Git


Wow, tech-y slide.
What about merging? We merge when we pull.
No branches. We only branch in code using the con鍖g 鍖ags.
That saves us from any annoying merging issues and keeps
everyone accountable. Its also just simple and easy to
understand.
Deploy Queue


Whos turn is it? We 鍖nd out by joining the Deploy Queue.
So how do you manage 100 people pushing and deploying
code to production? You make them talk to each other.
Thats right, IRC. Theres a special IRC room just for Pushes.
Theres a little bot that helps you be polite, but the only policy
enforcement is self enforcement. We respect the system and
respect our peers.
Deployinator


When the queueu says its okay to deploy, we turn to our tool,
Deployinator. Its a dashboard and simple UI for 1-button
deploys.
Design For Continuous Deployment
It patternizes behavior.
Its so easy, even our investors deploy! ;-)
etsy.github.com


Deployinator (and several of our other home-brew tools) are
open-sourced and avaliable on github.
Measure


After we deploy, we measure, measure, measure.
We monitor performance immediately and over the long term.
We look at business metrics immediately and over the long
term.
And we watch behavioral metrics and funnels using our
analyzer tool.
Performance



We monitor performance immediately and over the long term.
We look at business metrics immediately and over the long
term.
And we watch behavioral metrics and funnels using our
analyzer tool.
Performance
          Business Metrics


We monitor performance immediately and over the long term.
We look at business metrics immediately and over the long
term.
And we watch behavioral metrics and funnels using our
analyzer tool.
Performance
          Business Metrics
           A/B Analyzer

We monitor performance immediately and over the long term.
We look at business metrics immediately and over the long
term.
And we watch behavioral metrics and funnels using our
analyzer tool.
Repeat


And we do this over and over and over again, deploying up to
50 times day.
Why hell yes?


Whys it all so exciting to designers...and engineers?
Simplify
                            the
                   Complex

Working continuously, and releasing small pieces breaks
complex things down into simpler things.
Work Closely


You end up working closely together, because we use the
same tools and languages. This is good.
Make Change Easy


This makes it easier to make changes happen, and get them
out in the world.
Make Great Work


Develop a way of working that facilitates great work.
Make People Happy


And when you make great work, the people you make it and
the people who use it are better for it.
Make People Happy


Afterall, its people that matter most.
That Is
    a
Beautiful
 Thing
That Is
                             an
                   Awesome
                    Thing

If you 鍖nd that as awesome as I do...
WERE
  That Is
    an


HIRING
 Awesome
  Thing
randy@etsy.com
               @randyjhunt


Please come talk to me.
Thank you so much.

More Related Content

Similar to Design For Continuous Deployment (20)

Scaling startups
Scaling startupsScaling startups
Scaling startups
Chad Dickerson
Randy Hunt, Etsy - Warm Gun Conference
Randy Hunt, Etsy - Warm Gun ConferenceRandy Hunt, Etsy - Warm Gun Conference
Randy Hunt, Etsy - Warm Gun Conference
500 Startups
Connecting Festivals To Offer More
Connecting Festivals To Offer MoreConnecting Festivals To Offer More
Connecting Festivals To Offer More
festivalslab
Don't stop me now day2 a
Don't stop me now day2 aDon't stop me now day2 a
Don't stop me now day2 a
elliottofhook
10 Tips for Agile Adoption
10 Tips for Agile Adoption10 Tips for Agile Adoption
10 Tips for Agile Adoption
allan kelly
Agile Measurement and metrics for Accountability
Agile Measurement and metrics  for  AccountabilityAgile Measurement and metrics  for  Accountability
Agile Measurement and metrics for Accountability
Valtech UK
Bedrijvensessie OCW
Bedrijvensessie OCWBedrijvensessie OCW
Bedrijvensessie OCW
Keimpe de Heer
The Cisco connected world report
The Cisco connected world reportThe Cisco connected world report
The Cisco connected world report
Nicole Turb辿-Suetens
[KUG Award 2009] Dream Like Love Seyeob Kim
[KUG Award 2009] Dream Like Love Seyeob Kim[KUG Award 2009] Dream Like Love Seyeob Kim
[KUG Award 2009] Dream Like Love Seyeob Kim
Keynote User Group
Social media professionals payscale - India
Social media professionals payscale - IndiaSocial media professionals payscale - India
Social media professionals payscale - India
DigiWhirl
State Of Interaction Design 2008
State Of Interaction Design 2008State Of Interaction Design 2008
State Of Interaction Design 2008
Dave Malouf
Gov 2.0: Scaling, Automation, & Management in the Cloud
Gov 2.0: Scaling, Automation, & Management in the CloudGov 2.0: Scaling, Automation, & Management in the Cloud
Gov 2.0: Scaling, Automation, & Management in the Cloud
Jesse Robbins
LeanMantra - Lean Startup Workshop
LeanMantra - Lean Startup WorkshopLeanMantra - Lean Startup Workshop
LeanMantra - Lean Startup Workshop
LeanMantra
Pollenizer Year Book 2009
Pollenizer Year Book 2009Pollenizer Year Book 2009
Pollenizer Year Book 2009
Pierre Sauvignon
Secrets of success to innovation and sustainability
Secrets of success to innovation and sustainabilitySecrets of success to innovation and sustainability
Secrets of success to innovation and sustainability
London Business School
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)
Bill Scott
Open Source Skills and Business Requirements Match and Mismatch
Open Source Skills and Business Requirements  Match and MismatchOpen Source Skills and Business Requirements  Match and Mismatch
Open Source Skills and Business Requirements Match and Mismatch
Andreas Meiszner
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
DevOps Indonesia
Value driven - the future of software development
Value driven - the future of software developmentValue driven - the future of software development
Value driven - the future of software development
CJ Marsh
Collaborative Innovation: The State of Engagement
Collaborative Innovation: The State of EngagementCollaborative Innovation: The State of Engagement
Collaborative Innovation: The State of Engagement
Dan Keldsen
Randy Hunt, Etsy - Warm Gun Conference
Randy Hunt, Etsy - Warm Gun ConferenceRandy Hunt, Etsy - Warm Gun Conference
Randy Hunt, Etsy - Warm Gun Conference
500 Startups
Connecting Festivals To Offer More
Connecting Festivals To Offer MoreConnecting Festivals To Offer More
Connecting Festivals To Offer More
festivalslab
Don't stop me now day2 a
Don't stop me now day2 aDon't stop me now day2 a
Don't stop me now day2 a
elliottofhook
10 Tips for Agile Adoption
10 Tips for Agile Adoption10 Tips for Agile Adoption
10 Tips for Agile Adoption
allan kelly
Agile Measurement and metrics for Accountability
Agile Measurement and metrics  for  AccountabilityAgile Measurement and metrics  for  Accountability
Agile Measurement and metrics for Accountability
Valtech UK
Bedrijvensessie OCW
Bedrijvensessie OCWBedrijvensessie OCW
Bedrijvensessie OCW
Keimpe de Heer
[KUG Award 2009] Dream Like Love Seyeob Kim
[KUG Award 2009] Dream Like Love Seyeob Kim[KUG Award 2009] Dream Like Love Seyeob Kim
[KUG Award 2009] Dream Like Love Seyeob Kim
Keynote User Group
Social media professionals payscale - India
Social media professionals payscale - IndiaSocial media professionals payscale - India
Social media professionals payscale - India
DigiWhirl
State Of Interaction Design 2008
State Of Interaction Design 2008State Of Interaction Design 2008
State Of Interaction Design 2008
Dave Malouf
Gov 2.0: Scaling, Automation, & Management in the Cloud
Gov 2.0: Scaling, Automation, & Management in the CloudGov 2.0: Scaling, Automation, & Management in the Cloud
Gov 2.0: Scaling, Automation, & Management in the Cloud
Jesse Robbins
LeanMantra - Lean Startup Workshop
LeanMantra - Lean Startup WorkshopLeanMantra - Lean Startup Workshop
LeanMantra - Lean Startup Workshop
LeanMantra
Pollenizer Year Book 2009
Pollenizer Year Book 2009Pollenizer Year Book 2009
Pollenizer Year Book 2009
Pierre Sauvignon
Secrets of success to innovation and sustainability
Secrets of success to innovation and sustainabilitySecrets of success to innovation and sustainability
Secrets of success to innovation and sustainability
London Business School
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)
Bill Scott
Open Source Skills and Business Requirements Match and Mismatch
Open Source Skills and Business Requirements  Match and MismatchOpen Source Skills and Business Requirements  Match and Mismatch
Open Source Skills and Business Requirements Match and Mismatch
Andreas Meiszner
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
DevOps Indonesia
Value driven - the future of software development
Value driven - the future of software developmentValue driven - the future of software development
Value driven - the future of software development
CJ Marsh
Collaborative Innovation: The State of Engagement
Collaborative Innovation: The State of EngagementCollaborative Innovation: The State of Engagement
Collaborative Innovation: The State of Engagement
Dan Keldsen

Recently uploaded (20)

Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
samtheg92
Volodymyr Zelensky Thank You America Shirt
Volodymyr Zelensky Thank You America ShirtVolodymyr Zelensky Thank You America Shirt
Volodymyr Zelensky Thank You America Shirt
robintex21
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptxMinimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
ChayrinaRamida
Charge For PowerPoint Presentations.pptx
Charge For PowerPoint Presentations.pptxCharge For PowerPoint Presentations.pptx
Charge For PowerPoint Presentations.pptx
sahith7193
edit power------------oooppppppppppppppoint.pptx
edit power------------oooppppppppppppppoint.pptxedit power------------oooppppppppppppppoint.pptx
edit power------------oooppppppppppppppoint.pptx
sarikasharma627282
periodic properties NDA.pptx to become better
periodic properties NDA.pptx to become betterperiodic properties NDA.pptx to become better
periodic properties NDA.pptx to become better
steveparker9990sp
duplex designs.contemporary Duplex homes you would love to build
duplex designs.contemporary Duplex homes you would love to buildduplex designs.contemporary Duplex homes you would love to build
duplex designs.contemporary Duplex homes you would love to build
modele dawodu
Wedding Planners Social Media Strategy by 際際滷sgo.pptx
Wedding Planners Social Media Strategy by 際際滷sgo.pptxWedding Planners Social Media Strategy by 際際滷sgo.pptx
Wedding Planners Social Media Strategy by 際際滷sgo.pptx
TesyaMamonto
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptxDeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
isaacjonhd
ASME Codes ...................................................................
ASME Codes ...................................................................ASME Codes ...................................................................
ASME Codes ...................................................................
Mohnish53
Solid Works powerpoint presentation .pdf
Solid Works powerpoint presentation .pdfSolid Works powerpoint presentation .pdf
Solid Works powerpoint presentation .pdf
e100ande100
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptx
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptxCoconut_Fibre_on_Permeable_Concrete_Presentation.pptx
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptx
SabinChaudhary2
The_Canvas_of_Creative_Mastery_Newsletter_February_2025
The_Canvas_of_Creative_Mastery_Newsletter_February_2025The_Canvas_of_Creative_Mastery_Newsletter_February_2025
The_Canvas_of_Creative_Mastery_Newsletter_February_2025
AmirYakdi
renewable-energy-17090bbhhhgggg9063718.pptx
renewable-energy-17090bbhhhgggg9063718.pptxrenewable-energy-17090bbhhhgggg9063718.pptx
renewable-energy-17090bbhhhgggg9063718.pptx
ShubhamKumar600143
certificate lay out (editable-Savanna Cunningham).pptx
certificate lay out (editable-Savanna Cunningham).pptxcertificate lay out (editable-Savanna Cunningham).pptx
certificate lay out (editable-Savanna Cunningham).pptx
AmmieRoseCata
inbound637385621476551117jakahskji0.pptx
inbound637385621476551117jakahskji0.pptxinbound637385621476551117jakahskji0.pptx
inbound637385621476551117jakahskji0.pptx
JewelDupale
konner.pdf bbshajaia ajahahagahia s a a a abba
konner.pdf bbshajaia ajahahagahia s a a a abbakonner.pdf bbshajaia ajahahagahia s a a a abba
konner.pdf bbshajaia ajahahagahia s a a a abba
mostafa3at3oot
Visual Theory PPT Urban Design Urban Design Methologies
Visual Theory PPT Urban Design Urban Design MethologiesVisual Theory PPT Urban Design Urban Design Methologies
Visual Theory PPT Urban Design Urban Design Methologies
reeyanshl
Beginner's Guide to Pilates Equipment.pdf
Beginner's Guide to Pilates Equipment.pdfBeginner's Guide to Pilates Equipment.pdf
Beginner's Guide to Pilates Equipment.pdf
methodalliancepilate
construction materials in concrete b.ppt
construction materials in concrete b.pptconstruction materials in concrete b.ppt
construction materials in concrete b.ppt
assefatekla5
Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
Ch 12 Sound 2.pptbhcycygucuhbmmmmmntydtscudbddibudbd7dbdudbudbdudvdydvs6evs7v...
samtheg92
Volodymyr Zelensky Thank You America Shirt
Volodymyr Zelensky Thank You America ShirtVolodymyr Zelensky Thank You America Shirt
Volodymyr Zelensky Thank You America Shirt
robintex21
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptxMinimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
Minimalist Korean Aesthetic Pitch Deck XL by 際際滷sgo.pptx
ChayrinaRamida
Charge For PowerPoint Presentations.pptx
Charge For PowerPoint Presentations.pptxCharge For PowerPoint Presentations.pptx
Charge For PowerPoint Presentations.pptx
sahith7193
edit power------------oooppppppppppppppoint.pptx
edit power------------oooppppppppppppppoint.pptxedit power------------oooppppppppppppppoint.pptx
edit power------------oooppppppppppppppoint.pptx
sarikasharma627282
periodic properties NDA.pptx to become better
periodic properties NDA.pptx to become betterperiodic properties NDA.pptx to become better
periodic properties NDA.pptx to become better
steveparker9990sp
duplex designs.contemporary Duplex homes you would love to build
duplex designs.contemporary Duplex homes you would love to buildduplex designs.contemporary Duplex homes you would love to build
duplex designs.contemporary Duplex homes you would love to build
modele dawodu
Wedding Planners Social Media Strategy by 際際滷sgo.pptx
Wedding Planners Social Media Strategy by 際際滷sgo.pptxWedding Planners Social Media Strategy by 際際滷sgo.pptx
Wedding Planners Social Media Strategy by 際際滷sgo.pptx
TesyaMamonto
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptxDeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
DeOliveira Isaac MBS PB1 2025 DeOliveira_Isaac_MBS_PB1_2025_02.pptx
isaacjonhd
ASME Codes ...................................................................
ASME Codes ...................................................................ASME Codes ...................................................................
ASME Codes ...................................................................
Mohnish53
Solid Works powerpoint presentation .pdf
Solid Works powerpoint presentation .pdfSolid Works powerpoint presentation .pdf
Solid Works powerpoint presentation .pdf
e100ande100
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptx
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptxCoconut_Fibre_on_Permeable_Concrete_Presentation.pptx
Coconut_Fibre_on_Permeable_Concrete_Presentation.pptx
SabinChaudhary2
The_Canvas_of_Creative_Mastery_Newsletter_February_2025
The_Canvas_of_Creative_Mastery_Newsletter_February_2025The_Canvas_of_Creative_Mastery_Newsletter_February_2025
The_Canvas_of_Creative_Mastery_Newsletter_February_2025
AmirYakdi
renewable-energy-17090bbhhhgggg9063718.pptx
renewable-energy-17090bbhhhgggg9063718.pptxrenewable-energy-17090bbhhhgggg9063718.pptx
renewable-energy-17090bbhhhgggg9063718.pptx
ShubhamKumar600143
certificate lay out (editable-Savanna Cunningham).pptx
certificate lay out (editable-Savanna Cunningham).pptxcertificate lay out (editable-Savanna Cunningham).pptx
certificate lay out (editable-Savanna Cunningham).pptx
AmmieRoseCata
inbound637385621476551117jakahskji0.pptx
inbound637385621476551117jakahskji0.pptxinbound637385621476551117jakahskji0.pptx
inbound637385621476551117jakahskji0.pptx
JewelDupale
konner.pdf bbshajaia ajahahagahia s a a a abba
konner.pdf bbshajaia ajahahagahia s a a a abbakonner.pdf bbshajaia ajahahagahia s a a a abba
konner.pdf bbshajaia ajahahagahia s a a a abba
mostafa3at3oot
Visual Theory PPT Urban Design Urban Design Methologies
Visual Theory PPT Urban Design Urban Design MethologiesVisual Theory PPT Urban Design Urban Design Methologies
Visual Theory PPT Urban Design Urban Design Methologies
reeyanshl
Beginner's Guide to Pilates Equipment.pdf
Beginner's Guide to Pilates Equipment.pdfBeginner's Guide to Pilates Equipment.pdf
Beginner's Guide to Pilates Equipment.pdf
methodalliancepilate
construction materials in concrete b.ppt
construction materials in concrete b.pptconstruction materials in concrete b.ppt
construction materials in concrete b.ppt
assefatekla5

Design For Continuous Deployment

  • 2. What is Etsy? Etsy is a commerce platform & a community where people buy direct from designers & artists who make & sell their own products.
  • 3. Any creative person can open a shop, list items, receive and ful鍖ll orders, promote themselves, connect with other people, curate collections of items, watch site activity...
  • 4. 96% goes straight to the seller.
  • 5. There are products made by hand or with very small scale production.
  • 6. There are vintage and antique products.
  • 7. There are supplies for making.
  • 8. Etsy is more than products. Its a community.
  • 9. End to End Im in the lucky position to be creative director at Etsy. I get to be the arbiter of Etsy's experience end-to-end across all channels...
  • 10. ...out in the world...
  • 12. ...and at etsy.com. Im the design cheerleader, with a critical eye. And I make sure great design work gets done.
  • 13. 10+ million members Theres a lot to get done. In a complex environment.
  • 15. 11 million+ items
  • 17. $600 million this year And...
  • 18. About 140 people in Product Design & Engineering (thats designers, product managers, engineers, and devops). We have to make that all work!
  • 19. Design for Continuous Deployment Which brings me to the topic at hand. Design for Continuous Deployment.
  • 20. HELL Design for YES! Continuous Deployment Which is awesome.
  • 21. What is he doing here? You might be asking yourself, why is a designer talking to room of developers about deployment?
  • 22. get Great Work done Return to this idea of helping great work get done.
  • 23. How Things are Made Getting great work done means working together. And it means valuing how things are made.
  • 24. Making Together In fact, it means Making Together. THAT is designing for continuous deployment. If our engineers practice continuous deployment, so must we. Were building one product.
  • 28. What is continuous deployment? That brings us to our next question. You might be asking, What is continuous deployment?
  • 29. d艶沿鉛看霞馨艶稼岳 Release Changes Deployment is really just releasing changes to your product.
  • 30. c看稼岳庄稼顎看顎壊 All of the Time Continuous means those changes are being released all of the time.
  • 31. Always Improve Assuming that each change is intended to be an improvement (and why wouldnt it be?), then that means the product is always improving.
  • 32. Frequent Boring Low-Risk These changes happen often, theyre trivial, and because theyre small, they should be low risk. This is really the philosophy of continuous deployment.
  • 33. Release Early Release Often This is saying frequency another way: a catchy way. This is how you say it if you want to remind someone they havent released small enought or frequently enough.
  • 34. Easy to Identify Easy to Fix Again, because the changes are small (and we measure what happens) problems are easier to 鍖nd and easier to 鍖x.
  • 35. Why design for continuous deployment? So, you ask, why design for continuous deployment?
  • 36. Were all in this together. Well, were working together building one product, so we should work similarly. Design doesnt get left behind in a powerful engineering culture. In fact, design can scale and be more 鍖uid when its close to engineering.
  • 37. Share Early Share Often This is the collaboration counterpart to releasing early and often. You encounter problems sooner. You learn sooner. You 鍖x sooner. This isnt about speed, its about quality.
  • 38. You sketch it out...
  • 40. code ...and share it! Youve made your design in the actual application environment. For engineers, no big deal. For designers, this is huge!
  • 41. Empowerment, Responsibility & Trust And when you get to the point of releasing, youre empowered and trusted to do that. (yep, designers deploy to production too)
  • 42. People like these things. Being trusted feels good. As Kellan our CTO says, optimize for developer happiness. When youre happy, you do better work.
  • 43. Decentralize Work When everyone can access code and everyone can deploy, theres not single bottleneck or central deployment authority.
  • 44. Engineers Deployers Here we can see the moment in 2010 when the number of people deploying to production surpassed the number of engineers on staff. This is good.
  • 45. Engineers Deployers 70 60 50 40 30 20 10 0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Here we can see the moment in 2010 when the number of people deploying to production surpassed the number of engineers on staff. This is good.
  • 46. Engineers Deployers 70 60 58 55 50 49 47 40 42 35 30 30 26 20 23 20 15 10 0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Here we can see the moment in 2010 when the number of people deploying to production surpassed the number of engineers on staff. This is good.
  • 47. Engineers Deployers 70 62 60 57 58 54 55 50 50 49 47 40 42 35 32 30 30 26 26 22 20 23 20 15 15 10 10 7 8 0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Here we can see the moment in 2010 when the number of people deploying to production surpassed the number of engineers on staff. This is good.
  • 48. Engineers Deployers 70 62 60 57 58 54 55 50 50 49 47 40 42 35 32 30 30 26 26 22 20 23 20 15 15 10 10 7 8 0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Here we can see the moment in 2010 when the number of people deploying to production surpassed the number of engineers on staff. This is good.
  • 49. Share Language Share Knowledge When designers and engineers work in the same environment, they share a language. This makes is easier to share knowledge. It also means you sympathize more with each others motivations and challenges.
  • 50. Version Control Design Assets As an added bonus. When you have designers working this way, you get version control of your design assets happening naturally. Nice!
  • 51. How do you do it? Enough with the philosophy and motivational messages. How does this work at Etsy?
  • 52. Tools & Process Ill describe the tools and basic process we use on the product design team (and where we intersect with engineering).
  • 53. Dev Environment We all have a dedicated virtual machine that serves as our development environment. They are con鍖gured as mirrors of production in almost every way.
  • 54. Local Environment And we all work locally on our Macs. This is like some engineers, but not most of them. Most of them like to work in their development environment directly. Us designers dont like things like Vim.
  • 55. Quick Start Guides & Packages Along with our engineers, weve made quick guides to help designers get started in this environment.
  • 56. Some engineers even made us a handy package to install. Ta- da!
  • 58. The whole company uses IRC to communicate.
  • 59. The product design team also uses Camp鍖re (and the Propane client) to share visual designs in conversation as well. Well post links to dev environments, as well as still and motion screen captures.
  • 60. send Local Changes to Dev Environemnt Remember those set up tools? Well theres a handy script that auto-sends local changes to your development environment.
  • 61. Pattern Library Weve built a design Pattern Library. It allows us to quickly get designs roughed. Dont duplicate efforts. Be more consistent throughout the product. It covers mark-up, style, and behavior.
  • 62. This doesnt solve everything, every time, but a patterns solves many things many times. Makes it easy to get started. Helps share design decisions between designers and with engineers. If we do something more than once, we patternize it.
  • 63. Con鍖g Flags We put every feature behind con鍖g 鍖ags. Theyre dead simple. They live in a few simple PHP 鍖les. These allow us to safely work in production code and only deliver designs to the right people at the right time.
  • 64. These 鍖ags turn things on and off. They determine what environment theyre on/off in. They can determine what speci鍖c users. And they integrate with our a/b experiment framework.
  • 65. On/Off These 鍖ags turn things on and off. They determine what environment theyre on/off in. They can determine what speci鍖c users. And they integrate with our a/b experiment framework.
  • 66. On/Off Dev/Prod These 鍖ags turn things on and off. They determine what environment theyre on/off in. They can determine what speci鍖c users. And they integrate with our a/b experiment framework.
  • 67. On/Off Dev/Prod Whitelist/Co./All These 鍖ags turn things on and off. They determine what environment theyre on/off in. They can determine what speci鍖c users. And they integrate with our a/b experiment framework.
  • 68. On/Off Dev/Prod Whitelist/Co./All %A/%B These 鍖ags turn things on and off. They determine what environment theyre on/off in. They can determine what speci鍖c users. And they integrate with our a/b experiment framework.
  • 69. URL Params Weve implemented very simple template tags that allow us to specify URL parameters and next design states or variations inside them.
  • 70. {% if $smarty.get.url_param == url_param_value %} a design for review {% /if %}
  • 71. {% if $smarty.get.url_param == version-A %} a design for review {% /if %}
  • 72. {% if $smarty.get.url_param == version-B %} another design for review {% /if %}
  • 73. Commit & Review Before we send our changes back to master, we get code reviews from our peers.
  • 74. We use Crucible or Github or really anything youd like to use to do a code review. The important thing is that we check our work. Designers can learn a ton from engineers in this step.
  • 75. Test Before we send changes to master, we run functional and unit tests.
  • 77. Push it to Master in Git Wow, tech-y slide. What about merging? We merge when we pull. No branches. We only branch in code using the con鍖g 鍖ags. That saves us from any annoying merging issues and keeps everyone accountable. Its also just simple and easy to understand.
  • 78. Deploy Queue Whos turn is it? We 鍖nd out by joining the Deploy Queue. So how do you manage 100 people pushing and deploying code to production? You make them talk to each other.
  • 79. Thats right, IRC. Theres a special IRC room just for Pushes. Theres a little bot that helps you be polite, but the only policy enforcement is self enforcement. We respect the system and respect our peers.
  • 80. Deployinator When the queueu says its okay to deploy, we turn to our tool, Deployinator. Its a dashboard and simple UI for 1-button deploys.
  • 83. Its so easy, even our investors deploy! ;-)
  • 84. etsy.github.com Deployinator (and several of our other home-brew tools) are open-sourced and avaliable on github.
  • 85. Measure After we deploy, we measure, measure, measure.
  • 86. We monitor performance immediately and over the long term. We look at business metrics immediately and over the long term. And we watch behavioral metrics and funnels using our analyzer tool.
  • 87. Performance We monitor performance immediately and over the long term. We look at business metrics immediately and over the long term. And we watch behavioral metrics and funnels using our analyzer tool.
  • 88. Performance Business Metrics We monitor performance immediately and over the long term. We look at business metrics immediately and over the long term. And we watch behavioral metrics and funnels using our analyzer tool.
  • 89. Performance Business Metrics A/B Analyzer We monitor performance immediately and over the long term. We look at business metrics immediately and over the long term. And we watch behavioral metrics and funnels using our analyzer tool.
  • 90. Repeat And we do this over and over and over again, deploying up to 50 times day.
  • 91. Why hell yes? Whys it all so exciting to designers...and engineers?
  • 92. Simplify the Complex Working continuously, and releasing small pieces breaks complex things down into simpler things.
  • 93. Work Closely You end up working closely together, because we use the same tools and languages. This is good.
  • 94. Make Change Easy This makes it easier to make changes happen, and get them out in the world.
  • 95. Make Great Work Develop a way of working that facilitates great work.
  • 96. Make People Happy And when you make great work, the people you make it and the people who use it are better for it.
  • 97. Make People Happy Afterall, its people that matter most.
  • 98. That Is a Beautiful Thing
  • 99. That Is an Awesome Thing If you 鍖nd that as awesome as I do...
  • 100. WERE That Is an HIRING Awesome Thing
  • 101. randy@etsy.com @randyjhunt Please come talk to me.
  • 102. Thank you so much.