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

Prototyping and agile development

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Prototyping and agile development

Avatar for Robbie Clutton

Robbie Clutton

June 27, 2013
Tweet

More Decks by Robbie Clutton

Other Decks in Programming

Transcript

  1. @robb1e • Request for tender announced • Cheapest bid usually

    wins • Pay company several $m for licenses • Then another few $m for configuration • By the time it’s up and running, it’s out of date Vendor driven development Thursday, June 27, 13
  2. @robb1e • Software replaces paper-based system • Aims to improve

    dispatch time • Keep track of where ambulance (units) are so closest can be sent to location • Big bang release 1992 London Ambulance Dispatch disaster http://en.wikipedia.org/wiki/London_Ambulance_Service#System_failures Thursday, June 27, 13
  3. @robb1e • Multiple units sent to the same address •

    No units sent to other addresses • Calls got lost • System became congested • Upto 30 avoidable deaths attributed to software issues 1992 London Ambulance Dispatch disaster http://en.wikipedia.org/wiki/London_Ambulance_Service#System_failures Thursday, June 27, 13
  4. Toyota Production System - 1948-1975 Agile manifesto - 2001 Lean

    Software Development - 2003 Lean startups - 2011 Thursday, June 27, 13
  5. @robb1e • Developed between 1948 and 1975 • Originally called

    “Just in time production” • Goals are all about eliminating waste • Principles are about continuous improvement, people and process Toyota Production System http://en.wikipedia.org/wiki/Toyota_Production_System Thursday, June 27, 13
  6. @robb1e Agile manifesto http://agilemanifesto.org/ Individuals and interactions over processes and

    tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Thursday, June 27, 13
  7. @robb1e • Iteration planning • Daily stand-ups • Customer acceptance

    • Retrospectives Agile process Agile processes enable customer collaboration and empower the individual Thursday, June 27, 13
  8. @robb1e • Test driven development • Pair programming • Continuous

    integration • Automating everything • Continuous refactoring Agile engineering Agile engineering practices promote working software early and enables easier change Thursday, June 27, 13
  9. @robb1e Kellan Elliot McCrea, 2012 Change is what you should

    be optimizing for. You never know what's coming next. Thursday, June 27, 13
  10. @robb1e • Eliminate waste • Amplify learning • Decide as

    late as possible • Deliver as fast as possible • Empower the team • Build integrity in • See the whole Lean software development http://en.wikipedia.org/wiki/Lean_software_development Thursday, June 27, 13
  11. @robb1e Mary and Tom Poppendieck Think big, act small, fail

    fast, learn rapidly Thursday, June 27, 13
  12. @robb1e • Minimum viable product • Continuous deployment • Split

    testing • Actionable metrics • Pivot Lean startup http://en.wikipedia.org/wiki/Lean_Startup Thursday, June 27, 13
  13. @robb1e The goal of a lean startup is to move

    through the build-measure- learn feedback loop as quickly as possible Thursday, June 27, 13
  14. @robb1e Can you build a high fidelity prototype for a

    software application? Thursday, June 27, 13
  15. @robb1e • Dodgeball => Foursquare • MySpace => Facebook •

    Rocket Internet Ideas/others can be prototypes too http://en.wikipedia.org/wiki/Dodgeball_(service) http://www.rocket-internet.de/ http://www.businessweek.com/articles/2012-02-29/the-germany-website-copy-machine Thursday, June 27, 13
  16. @robb1e • Features that have hypotheses • Hypotheses that can

    be easily validated • Code that is always production ready • Code that is easy to change Goals Thursday, June 27, 13
  17. @robb1e In person user testing to discover why the drop

    off was occurring Thursday, June 27, 13
  18. @robb1e - Joel Spolsky, 2001 "If it's a core business

    function - do it yourself, no matter what." Thursday, June 27, 13
  19. @robb1e • filepicker.io / embed.ly • heroku.com • sendgrid.com /

    mailchimp.com • so many more... Tools Thursday, June 27, 13
  20. @robb1e Ron Jefferies, ~2005 Always implement things when you actually

    need them, never when you just foresee that you need them Thursday, June 27, 13
  21. @robb1e $50 a month is really expensive for this hosted

    service We can build it ourselves and get exactly the features we need Thursday, June 27, 13
  22. @robb1e Paul Hammond, 2012 Hosted services are usually cheaper and

    better than anything you will build. Use them. Thursday, June 27, 13
  23. @robb1e Mary and Tom Poppendieck Think big, act small, fail

    fast, learn rapidly Thursday, June 27, 13