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

Perfect Software: the enemy of continuous delivery?

Perfect Software: the enemy of continuous delivery?

In the olden days of waterfall delivery, shipping future-proofed, fully specified, all-singing-all-dancing products with a complete exhaustive feature set was commonsense. Software needed to be specified with every eventuality considered, to within an inch of it’s life, because future releases wouldn’t be for months or – more likely – years.

But now it’s different. Successful implementation of continuous delivery allows us to ship many many times a day. And if we can do that, why do we need to be obsessed with getting things right – or perfect – first time? Too many teams fret about making software perfect before shipping – putting the brakes on faster delivery whilst agonising about every decision.

Yet product/feature development has responded to the changing pace of delivery, and now MVP and experimentation are the norm – in theory if not in practice. In this talk I suggest that software delivery teams could do well to learn lessons from product: UX research, testing, and design teams need to become more comfortable with the possibility of shipping imperfect software. Whether that means bypassing the UX lab and focus groups, letting bugs slip into production – at the same time finding ways to take our users on that journey with us.

I’ll look at what how, at the Guardian, we learned to let go and what we still struggle with.

Sally Goble

March 02, 2017
Tweet

More Decks by Sally Goble

Other Decks in Technology

Transcript

  1. Prepared by Sally Goble, Head of quality Perfect software: the

    enemy of continuous delivery? Sally Goble @sallygoble 1
  2. 3 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017

    perfect adjective /ˈpəːfɪkt/ 1. 
 having all the required or desirable elements, qualities, or 
 characteristics; as good as it is possible to be.
 ‘she strove to be the perfect wife’ Synonyms: ideal, model, without fault, faultless, flawless, 
 consummate, quintessential, exemplary, best, 
 best-example, ultimate, copybook
  3. What was perfect software? Do we need perfect software now?

    Perfection vs imperfection 5 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017
  4. So what was 
 ‘perfect software’? 7 Perfect software: the

    enemy of continuous delivery? nor(DEV):con 2017
  5. The non negotiable rhythm of delivery of software dictated the

    need for perfection 8 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017
  6. What is wrong with perfect? 9 Perfect software: the enemy

    of continuous delivery? nor(DEV):con 2017
  7. While we were busy building perfect software, something happened… 10

    Perfect software: the enemy of continuous delivery? nor(DEV):con 2017
  8. Lean product development/MVP Agile manifesto Continuous Delivery/CI DevOps etc. 12

    Perfect software: the enemy of continuous delivery? nor(DEV):con 2017 Taking advantage of the ability to deliver quickly
  9. ...we need to decouple perfection 
 from delivery 14 Perfect

    software: the enemy of continuous delivery? nor(DEV):con 2017 It’s 2017...
  10. Case study: putting fast design, discovery and delivery before perfection

    15 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017
  11. Is perfection holding us back? • Test • UX •

    Data 16 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017 Case study
  12. Bug free vs “Not wrong long” 17 Perfect software: the

    enemy of continuous delivery? nor(DEV):con 2017 Test
  13. ‘Light touch testing’ 18 Perfect software: the enemy of continuous

    delivery? nor(DEV):con 2017 Test • Canary releases • Feature switches • Monitoring and alerting reduce MTTR
  14. • … with a little help from our friends •

    Replace ‘testers’ with alpha & beta programmes • Improve bug reporting from our users to shorten feedback loops • Incorporate user support team 19 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017 Test Doing the testing after release...
  15. Perfect prototypes vs Lean UX 20 Perfect software: the enemy

    of continuous delivery? nor(DEV):con 2017 UX
  16. 21 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017

    UX • A whole team generating many ideas • Rough prototypes • Cast the net wide • Rapid iterations Design sprints
  17. • Wizard of Oz tests • Fake door tests •

    404 buttons 22 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017 UX Prototyping with minimum dev work
  18. Track everything! vs Track a single thing 23 Perfect software:

    the enemy of continuous delivery? nor(DEV):con 2017 Data/analytics
  19. • Less is more • Don’t track everything! • Not

    everything needs to be A/B tested 24 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017 Data/analytics
  20. What do your customers and stakeholders think of this attitude?

    25 Perfect software: the enemy of continuous delivery? nor(DEV):con 2017
  21. Conclusion 26 Perfect software: the enemy of continuous delivery? nor(DEV):con

    2017 “Have no fear of perfection – you’ll never reach it” Salvador Dalí