$30 off During Our Annual Pro Sale. View Details »

Developer Experience: The Art of Building Spaceships

Egor Tolstoy
September 19, 2018

Developer Experience: The Art of Building Spaceships

Problem validation, roadmaps, usage metrics and feedback, user experience are not first-class citizens in internal platforms and tools development. I'll talk about developer experience, an approach that helps our engineers create useful, thriving and developer-oriented technical products.

Egor Tolstoy

September 19, 2018
Tweet

More Decks by Egor Tolstoy

Other Decks in Technology

Transcript

  1. The Art of Building
    Spaceships
    Developer
    Experience

    View Slide

  2. Ivan main hero
    engineer
    newcomer

    View Slide

  3. main hero
    engineer
    newcomer
    ...and a cat
    Ivan

    View Slide

  4. View Slide

  5. View Slide

  6. Hi! Where
    should I start?
    Check our repo, it
    worths million words
    Me Boris

    View Slide

  7. View Slide

  8. View Slide

  9. Ivan Olga

    View Slide

  10. We don't use
    your product
    Ivan Olga

    View Slide

  11. We don't use
    your product
    It doesn't
    solve any our
    problems
    Ivan Olga

    View Slide

  12. But
    collaborative
    editing...
    Ivan Olga

    View Slide

  13. But
    collaborative
    editing...
    It's useless!
    Ivan Olga

    View Slide

  14. Developers:
    - don't know what they need
    - can't write quality code
    - are shortsighted

    View Slide

  15. View Slide

  16. BAD
    NEWS

    View Slide

  17. View Slide

  18. Ivan Natasha

    View Slide

  19. What's your
    product goal?
    Ivan Natasha

    View Slide

  20. What's your
    product goal?
    ...
    Ivan Natasha

    View Slide

  21. What's your
    product goal?
    To make a
    universal and
    functional
    design system
    Ivan Natasha

    View Slide

  22. It's not a goal.
    Call me when
    you figure it.
    Ivan Natasha

    View Slide

  23. Try to recall
    product practices
    that we used.
    Ivan Natasha
    It's not a goal.
    Call me when
    you figure it.

    View Slide

  24. View Slide

  25. Lean
    Canvas

    View Slide

  26. Top
    problems
    Top
    features
    Key
    metrics
    Mission Why you? Target
    audience
    Alternatives Risks
    Adoption

    View Slide

  27. Top
    problems
    Top
    features

    View Slide

  28. Top
    problems
    What customer
    pains do you plan
    to solve?
    Many UI
    bugs
    Designer-
    Developer
    interaction

    View Slide

  29. Top
    problems
    Top
    features

    View Slide

  30. y you? Target
    audience

    View Slide

  31. Who is going to
    benefit from your
    product?
    Target
    audience Mobile devs
    Designers
    Managers
    QA engineers

    View Slide

  32. y you? Target
    audience

    View Slide

  33. ures
    Mission Why

    View Slide

  34. Mission
    What your product
    is made for?
    Closed ecosystem for
    full cycle UI
    development

    View Slide

  35. ures
    Mission Why

    View Slide

  36. ms
    Top
    features
    Missi

    View Slide

  37. What killer features
    are in the core of
    your product?
    Top
    features
    Component's code
    is a source of truth
    Automated interaction
    between designer and
    developer
    Fast snapshot testing

    View Slide

  38. ms
    Top
    features
    Missi

    View Slide

  39. Adoption

    View Slide

  40. Adoption
    How will you grow
    the audience of the
    product?
    For everyone
    at once
    Gradually by
    features
    Gradually by
    user groups

    View Slide

  41. Adoption

    View Slide

  42. Key
    metrics

    View Slide

  43. What metrics will
    show you the goal
    progress?
    Key
    metrics
    - Number of UI bugs
    - Catalog daily sessions

    View Slide

  44. Key
    metrics

    View Slide

  45. Alternatives

    View Slide

  46. Alternatives
    How your audience
    currently solve their
    problems?
    Manual
    layout
    Sketch&
    Zeplin Manual
    testing

    View Slide

  47. Alternatives

    View Slide

  48. Risks

    View Slide

  49. Risks
    What can make your
    product fail and
    how to control it?
    Risk:
    Devs won't have time
    for refactoring
    Counter metric:
    % of components
    coverage

    View Slide

  50. Risks

    View Slide

  51. ion Why you? Targe
    audie

    View Slide

  52. Why you?
    What key strenghts
    will help you?
    Strong domain
    knowledge
    Solid technical
    platform

    View Slide

  53. ion Why you? Targe
    audie

    View Slide

  54. Top
    problems
    Top
    features
    Key
    metrics
    Mission Why you? Target
    audience
    Alternatives Risks
    Adoption

    View Slide

  55. NPS

    View Slide

  56. Net Promoter
    Score
    Instrument to
    measure customers
    satisfaction.

    View Slide

  57. Promoters

    View Slide

  58. Passives

    View Slide

  59. Detractors

    View Slide

  60. NPS = %promoters –%detractors
    NPS = [-100; 100]

    View Slide

  61. View Slide

  62. Do I really
    understand our
    product goals?

    View Slide

  63. View Slide

  64. NPS -80

    View Slide

  65. View Slide

  66. View Slide

  67. View Slide

  68. detractors

    View Slide

  69. Interview
    Define customer
    pains and understand
    how he solves them.

    View Slide

  70. Rule #1:

    Prefer face-to-face
    communication to
    texting.
    Natasha

    View Slide

  71. Rule #2:

    Always ask open
    questions.
    Linn

    View Slide

  72. Rule #3:

    Don't follow a strict
    set of questions.
    Linn

    View Slide

  73. detractors

    View Slide

  74. Development speed is
    incredibly important

    View Slide

  75. Designers aren't
    involved in UI
    development using
    design system

    View Slide

  76. View Slide

  77. Ivan Natasha

    View Slide

  78. What is the
    goal of your
    product?
    Ivan Natasha

    View Slide

  79. To make UI
    development
    faster...
    Ivan Natasha

    View Slide

  80. To make UI
    development
    faster...
    ...by integrating
    components in
    whole Cat Avito
    Ivan Natasha

    View Slide

  81. And do you
    move towards
    this goal?
    Ivan Natasha

    View Slide

  82. And do you
    move towards
    this goal?
    No, and we
    don't know
    how.
    Ivan Natasha

    View Slide

  83. Let me tell you
    about pivot
    and MVP.
    Ivan Natasha

    View Slide

  84. Pivot
    A change of product
    course to test
    completely new
    assumptions
    Closed ecosystem
    for full cycle UI
    development
    Pre-built
    components for
    everyone

    View Slide

  85. MVP
    The simplest version
    of your product
    capable of testing
    your assumptions

    View Slide

  86. Step #1
    Choose early adopters
    Step #2
    Transfer components to Sketch
    Step #3
    Develop set of simple components

    View Slide

  87. Early
    adopters
    Customers, who
    receive new features
    before others.
    - Loyal
    - Provide feedback
    - Test new features
    - Make feature requests

    View Slide

  88. Step #1
    Choose early adopters
    Step #2
    Transfer components to Sketch
    Step #3
    Develop set of simple components

    View Slide

  89. Step #1
    Choose early adopters
    Step #2
    Transfer components to Sketch
    Step #3
    Develop set of simple components

    View Slide

  90. View Slide

  91. Well, you can
    be better...
    Olga
    ...but I use
    design system
    from now on.

    View Slide

  92. Ivan Nikolay

    View Slide

  93. Here is our new
    lean canvas and
    metrics.
    Ivan Nikolay

    View Slide

  94. What metrics will
    show you the goal
    progress?
    Key
    metrics
    1. Development speed for
    typical tasks
    2. % of screens using
    components
    3. % of new features using
    components

    View Slide

  95. Solid work!
    Looks like you
    know what to do.
    Keep going and
    it'll help us to
    save the team!
    Ivan Nikolay

    View Slide

  96. View Slide

  97. We should
    make progress
    faster!

    View Slide

  98. Ivan Natasha

    View Slide

  99. Recall our
    marketing
    plans!
    Ivan Natasha

    View Slide

  100. Recall our
    marketing
    plans!
    But I can't buy
    traffic and use
    billboards!
    Ivan Natasha

    View Slide

  101. Think about
    instruments you
    already have.
    Ivan Natasha

    View Slide

  102. Think about
    instruments you
    already have.
    The scale is
    smaller, the
    approach is same.
    Ivan Natasha

    View Slide

  103. Plan how customers
    will learn about
    your product.
    Marketing
    plan
    Step #1
    Segment your target
    audience
    Step #2
    Choose acquisition
    channel for each segment
    Step #3
    Schedule all activities

    View Slide

  104. A developer
    He wants to
    browse all
    available
    components
    A developer
    He wants to
    create or
    change a
    component
    A designer
    He is working
    on a new
    feature layout

    View Slide

  105. View Slide

  106. acquisition
    1st segment
    2nd&3rd
    segments

    View Slide

  107. acquisition
    1st segment
    2nd&3rd
    segments

    View Slide

  108. acquisition
    1st segment
    2nd&3rd
    segments

    View Slide

  109. acquisition
    1st segment
    2nd&3rd
    segments

    View Slide

  110. Design - Notify about UI updates
    - Teach how to use
    components in Sketch
    - Gather feedback
    Devs - Notify about new
    features
    - Teach how to create
    components
    - Gather requests on new
    components
    - Slack #design
    - Regular designer
    sync-up
    - Workshops
    - Slack #ios-devs
    - Regular design
    system meetup
    - Changelogs (git)
    - Jira backlog

    View Slide

  111. View Slide

  112. View Slide

  113. Ivan Nikolay

    View Slide

  114. bla-bla-bla,
    products, bla-
    bla-bla...
    Developer
    experience,
    bla-bla-bla...
    Ivan Nikolay

    View Slide

  115. Is my
    probation
    period over?
    Ivan Nikolay

    View Slide

  116. Bad news – you
    should quit
    current team...
    Ivan Nikolay

    View Slide

  117. Bad news – you
    should quit
    current team...
    But I need a chief
    DX specialist.
    What do u think?
    Ivan Nikolay

    View Slide

  118. Lean canvas
    NPS
    DX Interviews
    MVP
    Marketing plan
    ...
    Dogfooding
    DX testing
    Documentation
    Backlogs
    DX patterns
    ...

    View Slide

  119. View Slide

  120. Treat developers like
    real users.
    Treat developer tools
    like real products.
    Egor Tolstoy @igrekde

    View Slide