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

Done is better than perfect

Andy Appleton
November 23, 2015

Done is better than perfect

The Heroku dashboard is a large client side JavaScript app which was rewritten with Ember last year. Since then the project has gone from a promising greenfield of perfect code to a bit of a mess and lately, back again.

This is a story about the practicalities of working on a large software project. Trying to do the right thing, making trade offs along the way and taking tough decisions to get the thing shipped. We'll talk about balancing conflicting requirements, when to compromise, when not to and how to clean up afterwards.

Andy Appleton

November 23, 2015
Tweet

More Decks by Andy Appleton

Other Decks in Technology

Transcript

  1. DONE IS BETTER THAN
    PERFECT
    a story about shipping software

    View Slide

  2. ANDY APPLETON
    @appltn

    View Slide

  3. v5
    dashboard

    View Slide

  4. REWRITE
    vs refactor

    View Slide

  5. goodness
    time

    View Slide

  6. dashboard
    v6

    View Slide

  7. GUIDING
    principles

    View Slide

  8. 1: SHIP TO USERS
    as soon as possible

    View Slide

  9. 2: SOLICIT FEEDBACK
    and act on it

    View Slide

  10. 3: WORK IN
    tight iterations

    View Slide

  11. START WITH A
    small beta group

    View Slide

  12. APRIL 2014
    first commits

    View Slide

  13. WIDEN THE GROUP
    when feedback stops

    View Slide

  14. JUNE 2014
    private beta

    View Slide

  15. SOLICIT FEEDBACK

    View Slide

  16. “Stick to the darker
    look and feel… don’t
    ruin it”

    View Slide

  17. HAVE A
    vision

    View Slide

  18. BALANCE VISION
    vs feedback

    View Slide

  19. WHAT’S THE NEXT
    most important thing?

    View Slide

  20. WHAT CAN WE SHIP
    by this time tomorrow?

    View Slide

  21. DON’T WORRY
    if it’s not perfect

    View Slide

  22. View Slide

  23. public beta
    AUGUST 2014

    View Slide

  24. SLOWLY MIGRATE USERS
    but let them opt out

    View Slide

  25. “Dark palette was
    way way way better”

    View Slide

  26. ITERATE
    ITERATE
    ITERATE
    ITERATE
    ITERATE
    until…

    View Slide

  27. FEATURE COMPLETE

    View Slide

  28. (mostly)
    @flipzagging

    View Slide

  29. (mostly)

    View Slide

  30. TIME TO
    annoy some people

    View Slide

  31. TIME TO
    kill the old dashboard

    View Slide

  32. “bring back the dark
    theme… the new one
    looks like the site
    vomited up
    bootstrap”

    View Slide

  33. View Slide

  34. WE SHIPPED
    what next?

    View Slide

  35. CLEAN UP
    all that cruft

    View Slide

  36. BUT ALSO,
    ship more features

    View Slide

  37. COMPONENT TEAM
    & feature team

    View Slide

  38. WHAT WE
    learned

    View Slide

  39. FAVOUR SHIPPING
    you can always iterate

    View Slide

  40. USER FEEDBACK
    is gold

    View Slide

  41. USER FEEDBACK
    ~seriously~

    View Slide

  42. USER FEEDBACK
    listen and let it guide your
    work

    View Slide

  43. …BUT, BALANCE FEEDBACK
    against your vision

    View Slide

  44. AFTER LAUNCH,
    keep iterating

    View Slide

  45. YOU MIGHT NEVER NEED
    all those features

    View Slide

  46. View Slide