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

What happens when Software Craftsmanship meets User Experience?

What happens when Software Craftsmanship meets User Experience?

In this talk, presented at Software Craftsmanship North America 2012 I explain why Developer Experience is necessary. I start by looking at the need for a notion of quality that involves asking questions about usability and end up introducing the principles of Developer Experience. I finish by pointing out that there's something very wrong with a culture where developers have bad or hard to use tools and we should take responsibility for fixing this.

Ade Oshineye
PRO

November 10, 2012
Tweet

More Decks by Ade Oshineye

Other Decks in Technology

Transcript

  1. WHAT HAPPENS WHEN
    SOFTWARE CRAFTSMANSHIP
    MEETS USER EXPERIENCE?

    View Slide

  2. www.oshineye.com/+

    View Slide

  3. THOUGHTWORKS

    View Slide

  4. INTERNAL CUSTOMERS

    View Slide

  5. www.oshineye.com/+
    GOOGLE

    View Slide

  6. ON HOLIDAY

    View Slide

  7. EXTERNAL CUSTOMERS

    View Slide

  8. WHAT IS THE NATURE OF
    QUALITY?

    View Slide

  9. 1 Is this well-designed?
    2 Is this well-made?
    3 Is this useful?
    4 Is this usable?
    QUESTION YOUR TOOLS

    View Slide

  10. 1 Is this well-designed? Yes
    2 Is this well-made? Yes
    3 Is this useful? Yes
    4 Is this usable? No
    GIT

    View Slide

  11. 1 Is this well-designed? Yes
    2 Is this well-made? Yes
    3 Is this useful? Yes
    4 Is this usable? No
    EMACS

    View Slide

  12. 1 Is this well-designed? Yes
    2 Is this well-made? Yes
    3 Is this useful? Yes
    4 Is this usable? No
    VIM

    View Slide

  13. WHY DO WE USE BAD
    TOOLS?

    View Slide

  14. QUALITY & THE CUSTOMER

    View Slide

  15. View Slide

  16. DEVELOPER EXPERIENCE

    View Slide

  17. DEVELOPEREXPERIENCE.ORG

    View Slide

  18. DEVELOPEREXPERIENCE.ORG
    @DEVEXPFTW
    +DEVELOPER EXPERIENCE
    #devexp

    View Slide

  19. 1 UX techniques for developer-facing products
    2 Focus on the OOB experience
    3 Use convention over configuration
    4 Design away common problems

    View Slide

  20. 1: UX TECHNIQUES FOR
    DEVELOPERS

    View Slide

  21. PERSONAS
    http://www.codinghorror.com/blog/2007/11/mort-elvis-einstein-and-you.html

    View Slide

  22. UX RESEARCH
    http://blog.pamelafox.org/2011/05/roundup-developer-documentation.html

    View Slide

  23. http://blog.pamelafox.org/2011/05/roundup-developer-documentation.html
    SURVEYS IN THE REAL WORLD

    View Slide

  24. USABILITY TESTING

    View Slide

  25. AFFORDANCES

    View Slide

  26. USER JOURNEYS

    View Slide

  27. 2: FOCUS ON THE
    OUT-OF-BOX EXPERIENCE

    View Slide

  28. View Slide

  29. TEST YOUR USER JOURNEYS

    View Slide

  30. 3: CONVENTION
    OVER
    CONFIGURATION

    View Slide

  31. BE OPINIONATED FOR
    NEWBIES

    View Slide

  32. OFFER OPTIONS...LATER

    View Slide

  33. JSON
    VERSUS
    XML

    View Slide

  34. 4: DESIGN AWAY
    COMMON PROBLEMS

    View Slide

  35. FIX, DON’T DOCUMENT

    View Slide

  36. View Slide

  37. DOCUMENTATION

    View Slide

  38. MORE DOCUMENTATION

    View Slide

  39. EVEN MORE DOCUMENTATION

    View Slide

  40. ASPIRATIONAL

    View Slide

  41. EXAMPLES
    PATTERNS
    HEURISTICS

    View Slide

  42. THE LONG ROAD

    View Slide

  43. View Slide

  44. RAISE EXPECTATIONS

    View Slide

  45. BUILD EMPATHY

    View Slide

  46. A POOR WORKMAN BLAMES
    HIS TOOLS

    View Slide

  47. THE COBBLER’S CHILDREN
    HAVE NO SHOES

    View Slide

  48. THANK YOU!

    View Slide