Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What Can UX Designers Teach Us About Being Better Devops Practitioners?

maltzj
June 11, 2020

What Can UX Designers Teach Us About Being Better Devops Practitioners?

This is a set of slides from "What Can UX Designers Teach Us About Being Better Devops Practitioners?" from Agile + Devops West in June 2020.

Product for Internal teams: https://medium.com/@skamille/product-for-internal-platforms-9205c3a08142 Fundamentals of Design: How to Think Like A Designer https://www.skillshare.com/classes/Fundamentals-of-Design-How-to-Think-Like-a-Designer/1986357063 Don’t Make Me Think: http://sensible.com/dmmt.html
Rocket Surgery Made Easy: http://sensible.com/rsme.html Bootstrap: https://getbootstrap.com/
Ant.Design: https://ant.design/
Design Sprints: https://www.gv.com/sprint/

maltzj

June 11, 2020
Tweet

More Decks by maltzj

Other Decks in Programming

Transcript

  1. What Can UX Designers Teach Us About Being Better Devops

    Practitioners? Jonathan Maltz - June 11th, 2020
  2. 11

  3. 14 Jenkins Kubernetes Pagerduty Splunk A product to help users

    reliably run CI jobs What Are Your Products?
  4. 15 Jenkins Kubernetes Pagerduty Splunk A product to help users

    reliably run CI jobs A product to help users deploy + scale applications What Are Your Products?
  5. 16 Jenkins Kubernetes Pagerduty Splunk A product to help users

    reliably run CI jobs A product to help users deploy + scale applications A product to help users respond to incidents What Are Your Products?
  6. 17 Jenkins Kubernetes Pagerduty Splunk A product to help users

    reliably run CI jobs A product to help users deploy + scale applications A product to help users respond to incidents A product to help users debug failures in their system What Are Your Products?
  7. 19 Who are your users? Name: Just-Get-It-Done Jonathan Role: Software

    engineer Background: - Previously worked as a mobile engineer - Now building services for risk operators at Stripe - Occasionally goes to devops conferences Goals: - Get his services deployed easily - Help his team effectively use infra tools
  8. 20 These products have interfaces apiVersion: apps/v1 kind: Deployment metadata:

    name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
  9. 21 These products have interfaces apiVersion: apps/v1 kind: Deployment metadata:

    name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 kubectl apply service.yaml
  10. 27 How to Talk to Users Find users Ask them

    questions Synthesize to make changes Repeat
  11. 28 How to Talk to Users Find users Ask them

    questions Synthesize to make changes Repeat
  12. 33 How to Talk to Users Find users Ask them

    questions Synthesize to make changes Repeat
  13. “Can you talk to me about how you interacted with

    Jenkins on your last PR?” ✅
  14. 42 How to Talk to Users Find users Ask them

    questions Synthesize to make changes Repeat
  15. “I’m not really sure what that does. Whenever I have

    a CI failure I have to spend 3 minutes clicking around to find the stack trace ”
  16. 54 How to Talk to Users Find users Ask them

    questions Synthesize to make changes Repeat
  17. 68 Similarity Principle - In Practice Load Balancer Web Application

    Queue Workers Data Warehouse MySQL Queue Consumers
  18. 69 Similarity Principle - In Practice Load Balancer Web Application

    Queue Workers Data Warehouse MySQL Queue Consumers
  19. 70 Similarity Principle - In Practice Load Balancer Web Application

    Queue Consumers Data Warehouse MySQL Queue Workers
  20. 71 Similarity Principle - In Practice Load Balancer Web Application

    Queue Consumers Data Warehouse MySQL Queue Workers
  21. Queue worker throughput Overall error rate P99 response times 74

    Proximity Principle - In Practice P99 response times Overall error rate Queue worker throughput Queue Size Underreplicated partitions Frontend error rate P50 response times Checkout fulfillment error rate P95 response times
  22. 75 Proximity Principle - In Practice P99 response times Overall

    error rate Queue worker throughput Queue Size Underreplicated partitions Frontend error rate P95 response times P50 response times Checkout fulfillment error rate
  23. 78 Past Experience Principle - In Practice Are you sure

    you want to delete this graph? Yes No
  24. 79 Past Experience Principle - In Practice Are you sure

    you want to delete this graph? Yes No
  25. 80 Past Experience Principle - In Practice Are you sure

    you want to turn off this this cluster? Yes No
  26. 85 Common Region - In Practice Your Deployments • Deployment

    #1: aaaaaa • Deployment #2: bbbbb • Deployment #3: cccccc All Deployments • Deployment #10: 123456 • Deployment #22: 987654 • Deployment #33: 024689
  27. 86 Common Region - In Practice Your Deployments • Deployment

    #1: aaaaaa • Deployment #2: bbbbb • Deployment #3: cccccc All Deployments • Deployment #10: 123456 • Deployment #22: 987654 • Deployment #33: 024689
  28. 87 Common Region - In Practice Your Deployments • Deployment

    #1: aaaaaa • Deployment #2: bbbbb • Deployment #3: cccccc All Deployments • Deployment #10: 123456 • Deployment #22: 987654 • Deployment #33: 024689
  29. Task: Build a tool to know if a service is

    healthy and create an incident if it’s not.
  30. 91 What makes the service healthy? Responding reasonably quickly Users

    are seeing an acceptable level of errors Data is flowing to the data warehouse
  31. Response times (p99) Response times (p95) Error Rates Checkout Errors

    Redshift Exporter Duration Redshift Delay (seconds) Create Incident
  32. Response times (p99) Response times (p95) Error Rates Checkout Errors

    Redshift Exporter Duration Redshift Delay (seconds) Create Incident Open Open Open Open Open Open
  33. Response times (p99) Response times (p95) Error Rates Checkout Errors

    Redshift Exporter Duration Redshift Delay (seconds) Create Incident Open Open Open Open Open Open
  34. Response Latency Response times (p99) Error Rates Total Errors Redshift

    Connector Redshift Delay (seconds) Create Incident Healthy Healthy Unhealthy Open Open Open
  35. Response Latency Response times (p99) Error Rates Total Errors Redshift

    Connector Redshift Delay (seconds) Create Incident Healthy Healthy Unhealthy Open Open Open
  36. Response Latency Response times (p99) Error Rates Total Errors Redshift

    Connector Redshift Delay (seconds) Create Incident Open Open Open
  37. Response Latency Response times (p99) Error Rates Total Errors Redshift

    Connector Redshift Delay (seconds) Create Incident Open Open Open
  38. Response Latency Response times (p99) Error Rates Total Errors Redshift

    Connector Redshift Delay (seconds) Create Incident Open Open Open
  39. Three Takeaways You’re building products. Your users are your colleagues

    Involve your users in open-ended conversations 1 2 103
  40. Three Takeaways You’re building products. Your customers are your colleagues

    Involve your customers in open-ended conversations You don’t need a design degree to make usable tools 1 2 104 3
  41. 105

  42. Resources Product for Internal teams: https://medium.com/@skamille/product-for-internal-platforms-9205c3a08142 Fundamentals of Design: How

    to Think Like A Designer https://www.skillshare.com/classes/Fundamentals-of-Design-How-to-Think-Like-a-Designer/1986357063 Don’t Make Me Think: http://sensible.com/dmmt.html Rocket Surgery Made Easy: http://sensible.com/rsme.html Bootstrap: https://getbootstrap.com/ Ant.Design: https://ant.design/ Design Sprints: https://www.gv.com/sprint/ 107
  43. 108