Designing Experiences for Developers

A1bbf2de1c3ef1db1c54d77d2ab17de2?s=47 Jeremiah Lee
February 19, 2014

Designing Experiences for Developers

From DeveloperWeek 2014 (waiting on link to audio recording from organizer)

A1bbf2de1c3ef1db1c54d77d2ab17de2?s=128

Jeremiah Lee

February 19, 2014
Tweet

Transcript

  1. Designing Experiences for Developers Jeremiah Lee • DeveloperWeek • 2014-02-19

  2. None
  3. #DX @Jeremiah @JeremiahLee

  4. How do developer experiences get designed today?

  5. unintentionally

  6. selfishly

  7. blindly

  8. intentionally

  9. holistically

  10. 5 Common Style of Design — Jared Spool, User Interface

    Engineering Research Costs Time Resources initial focus on complexity and ease of use developing for users beyond ourselves designing something we've never designed need to fill the gaps between activities Unintentional Self Genius Activity Focused Experienced Focused
  11. Empathy as an Applied Science

  12. understand anticipate share feelings

  13. research in order to solve problems

  14. Empathy as an Applied Science

  15. Who are my users? BENNETT
 backend web developer, prefers Java,

    CS degree from UC Davis, full time developer RACHEL web designer/developer, prefers JavaScript/Node, no degree but strong developer ANDY
 iOS developer, "unicorn" designer and developer, self- taught, moonlighting on his own projects JESSICA
 self-proclaimed geek, likes to script things together using Python, hobbyist hacker
  16. How do they work?

  17. Graph by Dave Corby (2010) based on Guide to the

    Software Engineering Body of Knowledge (SWEBOK) by IEEE Computer Society (2004) Customer Requirements Requirements Specification Functional Specification Design Specification Validation Review Verification Study the requirements Clarify the requirements Write the 
 software Test the 
 software Validate against requirements Review with
 customer Define new requirements Software Development Life Cycle
  18. Based on Aarron Walter’s Designing For Emotion FUNCTIONAL

  19. FUNCTIONAL RELIABLE Availability (uptime) Scalability (load, response time) Stability (consistency)

    Security Based on Aarron Walter’s Designing For Emotion
  20. RELIABLE FUNCTIONAL USABLE Intuitability Testability Corrective Guidance Based on Aarron

    Walter’s Designing For Emotion
  21. PLEASURABLE USABLE RELIABLE FUNCTIONAL Based on Aarron Walter’s Designing For

    Emotion
  22. How do we design experiences for developers? • Increase the

    “care” in the organization • Bring non-technical people closer to the code • Bring technical people closer to the user • Research, research, research
  23. None
  24. How do we design experiences for developers? • Increase the

    “care” in the organization • Bring non-technical people closer to the code • Bring technical people closer to the user • Research, research, research • Iterate, iterate, iterate
  25. The secret to  machines talking to machines  is

    to speak human first.
  26. None
  27. Thank you for your time. ! More content available at


    http://dx.jeremiahlee.com ! ! ! ! Please support the
 Electronic Frontier Foundation