The user experience of CI systems - Penguicon 2012

2,522 views

Published on

Software architecture and engineering culture converge at the Continuous Integration (CI) system. It is absolutely essential that a CI system be easy to understand. Every failed test is a context switch. Each test failure must be actionable, with a clear path to resolution. Unreliable or obscure tests will sow confusion and degrade confidence. Building a comprehensible, usable CI is a problem space that is new and largely unexplored by the User Experience community. I do not claim to have solved the problem. But I look forward to sharing screenshots, anecdotes, things that have gone wrong, and the story of how the color yellow turned out not to be as scary as I thought.

Published in: Design, Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,522
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

The user experience of CI systems - Penguicon 2012

  1. 1. The User Experience ofContinuous Integration Systems Noah Sussman Penguicon 2012 Dearborn, MI
  2. 2. Chad Dickerson Describes the History of Etsy
  3. 3. Approximately 30 deploys a day,every business day, all year.That’s one deploy approximatelyevery twenty minutes, all day.
  4. 4. “an airport without an air traffic controller” Chad Dickerson
  5. 5. “Continuous deployment isConfidence-As-A-Service” ~John Allspaw
  6. 6. Cognitive LoadDevelopers are always maxed out.Every failed test is a context switch.
  7. 7. Busy, distracted people are not greatat making decisions.Good tools make it easy to makegood decisions under pressure.
  8. 8. Every alert, test failure and IRCmessage must have a clearlyactionable path to resolution.
  9. 9. What does it mean when a testpasses?
  10. 10. The ActiveUser Paradox
  11. 11. Users never read manualsUsers would save time in the longterm by learning more about thesystem. But thats not how peoplebehave in the real world ~Jakob Nielsen
  12. 12. Declaring aprogram“bug free,”is anentirelysubjectiveexcercise
  13. 13. Complete testing is impossible.
  14. 14. Sufficient testing is desirable.
  15. 15. So, what does it mean when a testpasses?The design of a CI system is all aboutmaking it possible to quickly makethat judgement call and to do it withconfidence.
  16. 16. What is an unstable build?Red means stop,what does yellow mean?Red is scary, yellow isn’t scary.
  17. 17. Everyone’s build process is different.Everyone’s CI is different.UX conventions for CI are few.
  18. 18. Listen to your users
  19. 19. Iteratively modify thesystem to better meetthe expectations ofyour users
  20. 20. Good tools make it easy to makegood decisions under pressure.All notifications must be actionable.We need to work toward establishinga UX design vocabulary for CI.
  21. 21. etsy.com/careers @noahsussman Mashable Cubicle Spy

×