The User Experience of
Continuous Integration
      Systems
        Noah Sussman
        Penguicon 2012
         Dearborn, MI
Chad Dickerson Describes the History of Etsy
Approximately 30 deploys a day,
every business day, all year.

That’s one deploy approximately
every twenty minutes, all day.
“an airport without an air traffic controller”
                                       Chad Dickerson
“Continuous deployment is
Confidence-As-A-Service”
                    ~John Allspaw
Cognitive Load

Developers are always maxed out.
Every failed test is a context switch.
Busy, distracted people are not great
at making decisions.
Good tools make it easy to make
good decisions under pressure.
Every alert, test failure and IRC
message must have a clearly
actionable path to resolution.
What does it mean when a test
passes?
The Active
User Paradox
Users never read manuals
Users would save time in the long
term by learning more about the
system. But that's not how people
behave in the real world
                         ~Jakob Nielsen
Declaring a
program
“bug free,”
is an
entirely
subjective
excercise
Complete testing is impossible.
Sufficient testing is desirable.
So, what does it mean when a test
passes?
The design of a CI system is all about
making it possible to quickly make
that judgement call and to do it with
confidence.
What is an unstable build?
Red means stop,
what does yellow mean?
Red is scary, yellow isn’t scary.
Everyone’s build process is different.
Everyone’s CI is different.
UX conventions for CI are few.
Listen to your users
Iteratively modify the
system to better meet
the expectations of
your users
Good tools make it easy to make
good decisions under pressure.
All notifications must be actionable.
We need to work toward establishing
a UX design vocabulary for CI.
etsy.com/careers   @noahsussman




                           Mashable Cubicle Spy

The user experience of CI systems - Penguicon 2012