Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What Ops Can Learn From Design

1,117 views

Published on

Delivered at Velocity Europe in Barcelona, this talk introduces "ops" people to the idea of user centered design, touching on several techniques long used in the design world, and talks about how those ideas might be applied to software and processes that we use every day.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

What Ops Can Learn From Design

  1. 1. / Robert Treat What Ops Can Learn From Design Velocity Barcelona Tuesday, November 18, 14
  2. 2. Hello ground rules slides will be online @robtreat2 robert@omniti.com ask questions Tuesday, November 18, 14
  3. 3. Who Am I? web dev oscon author dba nodejs php perl postgres distributed systems pointy hair surgecon speaker sysadmin shawarma crocs root beer monitoring mysql devops velocityconf pgcon open source ruby chef illumos zfs dtrace philosopher omnios golang zones scalability linux sql nosql git engineer Tuesday, November 18, 14
  4. 4. Who Am I? web dev oscon author dba nodejs php perl postgres distributed systems pointy hair surgecon speaker sysadmin shawarma crocs root beer monitoring mysql devops velocityconf pgcon open source ruby chef illumos zfs dtrace philosopher omnios golang zones scalability linux sql nosql git engineer Tuesday, November 18, 14
  5. 5. Who Am I? designer? Tuesday, November 18, 14
  6. 6. Who Am I? web usability analyst ux / ui Tuesday, November 18, 14
  7. 7. Who Am I? A designer is a person who designs. More formally, a designer is an agent that "specifies the structural properties of a design object". In practice, anyone who creates tangible or intangible objects, such as consumer products, processes, laws, games and graphics, is referred to as a designer -- https://en.wikipedia.org/wiki/Designer Tuesday, November 18, 14
  8. 8. What is Design? Tuesday, November 18, 14
  9. 9. What is Design? focus on utility, not aesthetics Tuesday, November 18, 14
  10. 10. What is Design? everything is created with a purpose think of design as the means by which we make that purpose self evident Tuesday, November 18, 14
  11. 11. What is Design? cars tv phones coffee machines doors light switches showers toilet Tuesday, November 18, 14
  12. 12. What is Design? doors allow entrance / exit 1. push 2. pull 3. both Tuesday, November 18, 14
  13. 13. What is Design? have you ever tried to push/pull a door open, only to find that you needed to work the door in the opposite fashion Tuesday, November 18, 14
  14. 14. What is Design? Tuesday, November 18, 14
  15. 15. What is Design? Tuesday, November 18, 14
  16. 16. What is Design? Tuesday, November 18, 14
  17. 17. What is Design? http://www.1ablelocksmith.com/BLOG/wp-content/uploads/2012/03/fire-door.jpg Tuesday, November 18, 14
  18. 18. What is Design? http://psychsciencenotes.blogspot.com.es/2011/10/affordances-of-everyday-things.html Tuesday, November 18, 14
  19. 19. Design Idea perceived affordances: the quality of an object that suggests how it might be used Tuesday, November 18, 14
  20. 20. Perceived Affordances http://www.iamaudi.com/2009-a4-a5-fuel-door-release/ 1. unlock doors 2. push cover on rear side Tuesday, November 18, 14
  21. 21. Perceived Affordances Tuesday, November 18, 14
  22. 22. Design Idea feedback mechanism: sending information back to the user about what action has actually been done Tuesday, November 18, 14
  23. 23. Feedback Mechanism oncall process Tuesday, November 18, 14
  24. 24. Feedback Mechanism oncall process alert is sent Tuesday, November 18, 14
  25. 25. Feedback Mechanism oncall process alert is sent acknowledge alert? Tuesday, November 18, 14
  26. 26. Feedback Mechanism anti: - notification of expected action - problem is not resolved pro: - confirms alert was received - allows time to fix Tuesday, November 18, 14
  27. 27. Feedback Mechanism Unix, the Rule of Silence when a program has nothing interesting or surprising to say, it should shut up. Tuesday, November 18, 14
  28. 28. Feedback Mechanism Unix, the Rule of Silence when a program has nothing interesting or surprising to say, it should shut up. scripts that execute successfully should remain silent on exit Tuesday, November 18, 14
  29. 29. Feedback Mechanism when designing a process, program, or system, you must ensure that success is distinguishable from failure modes Tuesday, November 18, 14
  30. 30. Feedback Mechanism can you tell the difference between a cron job that runs successfully and a cron job that doesn’t run at all... Tuesday, November 18, 14
  31. 31. Feedback Mechanism oncall process alert is sent acknowledge alert Tuesday, November 18, 14
  32. 32. What do we Design? Tuesday, November 18, 14
  33. 33. Design Idea natural mapping: taking advantage of analogies or cultural standards to help ensure understanding Tuesday, November 18, 14
  34. 34. Natural Mapping -d Tuesday, November 18, 14
  35. 35. Natural Mapping -d [robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "-d," -d, --dbname=DBNAME database name to connect to (default: "robert") [robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "-d," -d, --dbname=NAME connect to database name Tuesday, November 18, 14
  36. 36. Natural Mapping -d [robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "-d," -d, --dbname=DBNAME database name to connect to (default: "robert") [robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "-d," -d, --dbname=NAME connect to database name pg_dump ? Tuesday, November 18, 14
  37. 37. Natural Mapping -d [robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "-d," -d, --dbname=DBNAME database name to connect to (default: "robert") [robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "-d," -d, --dbname=NAME connect to database name pg_dump ? v7.1 - 8.3 -d, --inserts Dump data as proper INSERT commands (not COPY). This will make restoration very slow. Tuesday, November 18, 14
  38. 38. Natural Mapping -d [robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "-d," -d, --dbname=DBNAME database name to connect to (default: "robert") [robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "-d," -d, --dbname=NAME connect to database name pg_dump ? v7.1 - 8.3 -d, --inserts Dump data as proper INSERT commands (not COPY). This will make restoration very slow. v8.4 - 9.2 -d was removed Tuesday, November 18, 14
  39. 39. Natural Mapping -d [robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "-d," -d, --dbname=DBNAME database name to connect to (default: "robert") [robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "-d," -d, --dbname=NAME connect to database name v7.1 - 8.3 -d, --inserts Dump data as proper INSERT commands (not COPY). This will make restoration very slow. v8.4 - 9.2 -d was removed v9.3+ -d dbname pg_dump ? Tuesday, November 18, 14
  40. 40. Natural Mapping when we write postgres related scripts and utilities, we try to use -d for database name write your utilities to align with software you use Tuesday, November 18, 14
  41. 41. What is Design? Tuesday, November 18, 14
  42. 42. Design Ideas forcing functions: a constraint where the user "is forced" to complete a task based on a limited, paired down set of features or controls. Tuesday, November 18, 14
  43. 43. Forcing Function Most microwaves do not allow operation with the door open “Force” the door to be closed for safety Tuesday, November 18, 14
  44. 44. Forcing Function Few examples in software: kill vs kill -9 force an extra step for a more destructive action Tuesday, November 18, 14
  45. 45. Forcing Function Few examples in software: kill vs kill -9 force an extra step for a more destructive action sudo run an extra command to execute an action “sudo su -s” Tuesday, November 18, 14
  46. 46. Forcing Function if you use the same tools to deploy changes to dev / stage / prod, perhaps you should require extra steps? Tuesday, November 18, 14
  47. 47. Forcing Function if you use the same tools to deploy changes to dev / stage / prod, perhaps you should require extra steps? - verify code running in “prior” environments - verify no active alerts in prod - run sanity tests against deploys; rollback if alerts are generated Tuesday, November 18, 14
  48. 48. Tuesday, November 18, 14
  49. 49. Parting Thoughts We often claim incidents are caused by human error, but in many cases the human error is a result of poor design Approaching our problems from a design centered approach gives us the best chance for improving our world Tuesday, November 18, 14
  50. 50. Fin thanks! Tuesday, November 18, 14
  51. 51. Fin Tuesday, November 18, 14
  52. 52. Fin? more: OmniTI @robtreat2 http://xzilla.net @omniti http://omniti.com operationally focused development and consulting services for building and managing large scale web architectures Tuesday, November 18, 14
  53. 53. Tuesday, November 18, 14

×