Download - The user experience of CI systems - Penguicon 2012

Transcript
Page 1: The user experience of CI systems - Penguicon 2012

The User Experience of Continuous Integration

SystemsNoah Sussman

Penguicon 2012Dearborn, MI

Page 2: The user experience of CI systems - Penguicon 2012

Chad Dickerson Describes the History of Etsy

Page 3: The user experience of CI systems - Penguicon 2012

Approximately 30 deploys a day,every business day, all year.

That’s one deploy approximately every twenty minutes, all day.

Page 4: The user experience of CI systems - Penguicon 2012
Page 5: The user experience of CI systems - Penguicon 2012

“an airport without an air traffic controller”Chad Dickerson

Page 6: The user experience of CI systems - Penguicon 2012

“Continuous deployment is Confidence-As-A-Service”

~John Allspaw

Page 7: The user experience of CI systems - Penguicon 2012

Cognitive Load

Developers are always maxed out.Every failed test is a context switch.

Page 8: The user experience of CI systems - Penguicon 2012

Busy, distracted people are not great at making decisions.

Good tools make it easy to make good decisions under pressure.

Page 9: The user experience of CI systems - Penguicon 2012

Every alert, test failure and IRC message must have a clearly actionable path to resolution.

Page 10: The user experience of CI systems - Penguicon 2012

What does it mean when a test passes?

Page 11: The user experience of CI systems - Penguicon 2012

The Active User Paradox

Page 12: The user experience of CI systems - Penguicon 2012

Users never read manualsUsers 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

Page 13: The user experience of CI systems - Penguicon 2012

Declaring a program “bug free,” is an entirely

subjective excercise

Page 14: The user experience of CI systems - Penguicon 2012

Complete testing is impossible.

Page 15: The user experience of CI systems - Penguicon 2012

Sufficient testing is desirable.

Page 16: The user experience of CI systems - Penguicon 2012

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.

Page 17: The user experience of CI systems - Penguicon 2012
Page 18: The user experience of CI systems - Penguicon 2012

What is an unstable build?

Red means stop, what does yellow mean?

Red is scary, yellow isn’t scary.

Page 19: The user experience of CI systems - Penguicon 2012

Everyone’s build process is different.

Everyone’s CI is different.

UX conventions for CI are few.

Page 20: The user experience of CI systems - Penguicon 2012

Listen to your users

Page 21: The user experience of CI systems - Penguicon 2012

Iteratively modify the system to better meet the expectations of your users

Page 22: The user experience of CI systems - Penguicon 2012
Page 23: The user experience of CI systems - Penguicon 2012
Page 24: The user experience of CI systems - Penguicon 2012
Page 25: The user experience of CI systems - Penguicon 2012
Page 26: The user experience of CI systems - Penguicon 2012
Page 27: The user experience of CI systems - Penguicon 2012
Page 28: The user experience of CI systems - Penguicon 2012
Page 29: The user experience of CI systems - Penguicon 2012
Page 30: The user experience of CI systems - Penguicon 2012
Page 31: The user experience of CI systems - Penguicon 2012
Page 32: The user experience of CI systems - Penguicon 2012
Page 33: The user experience of CI systems - Penguicon 2012
Page 34: The user experience of CI systems - Penguicon 2012
Page 35: The user experience of CI systems - Penguicon 2012
Page 36: The user experience of CI systems - Penguicon 2012

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.