Slide 1

Slide 1 text

@robb1e Robbie Clutton Prototyping & agile development Thursday, June 27, 13

Slide 2

Slide 2 text

@robb1e History lesson Thursday, June 27, 13

Slide 3

Slide 3 text

@robb1e Before agile Thursday, June 27, 13

Slide 4

Slide 4 text

Thursday, June 27, 13

Slide 5

Slide 5 text

Thursday, June 27, 13

Slide 6

Slide 6 text

$10bn Thursday, June 27, 13

Slide 7

Slide 7 text

@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

Slide 8

Slide 8 text

@robb1e Some marketing genius No one ever got fired for hiring IBM Thursday, June 27, 13

Slide 9

Slide 9 text

@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

Slide 10

Slide 10 text

@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

Slide 11

Slide 11 text

@robb1e The long road to agile Thursday, June 27, 13

Slide 12

Slide 12 text

Toyota Production System - 1948-1975 Agile manifesto - 2001 Lean Software Development - 2003 Lean startups - 2011 Thursday, June 27, 13

Slide 13

Slide 13 text

@robb1e Toyota production system Thursday, June 27, 13

Slide 14

Slide 14 text

@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

Slide 15

Slide 15 text

@robb1e Agile manifesto Thursday, June 27, 13

Slide 16

Slide 16 text

@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

Slide 17

Slide 17 text

@robb1e http://www.agilemodeling.com/essays/costOfChange.htm Thursday, June 27, 13

Slide 18

Slide 18 text

@robb1e Thursday, June 27, 13

Slide 19

Slide 19 text

@robb1e • Iteration planning • Daily stand-ups • Customer acceptance • Retrospectives Agile process Agile processes enable customer collaboration and empower the individual Thursday, June 27, 13

Slide 20

Slide 20 text

@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

Slide 21

Slide 21 text

process practices #win Thursday, June 27, 13

Slide 22

Slide 22 text

@robb1e Kellan Elliot McCrea, 2012 Change is what you should be optimizing for. You never know what's coming next. Thursday, June 27, 13

Slide 23

Slide 23 text

@robb1e Lean software development Thursday, June 27, 13

Slide 24

Slide 24 text

@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

Slide 25

Slide 25 text

@robb1e Mary and Tom Poppendieck Think big, act small, fail fast, learn rapidly Thursday, June 27, 13

Slide 26

Slide 26 text

@robb1e Lean startup Thursday, June 27, 13

Slide 27

Slide 27 text

@robb1e • Minimum viable product • Continuous deployment • Split testing • Actionable metrics • Pivot Lean startup http://en.wikipedia.org/wiki/Lean_Startup Thursday, June 27, 13

Slide 28

Slide 28 text

@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

Slide 29

Slide 29 text

@robb1e Prototyping Thursday, June 27, 13

Slide 30

Slide 30 text

http://en.wikipedia.org/wiki/Airbus_A350_XWB Thursday, June 27, 13

Slide 31

Slide 31 text

http://www.bikeradar.com/news/article/specialized-unveils-in-house-wind-tunnel-37363/ Thursday, June 27, 13

Slide 32

Slide 32 text

@robb1e Can you build a high fidelity prototype for a software application? Thursday, June 27, 13

Slide 33

Slide 33 text

http://arielwaldman.com/projects/interaction-design/ Thursday, June 27, 13

Slide 34

Slide 34 text

http://astridforscreen.wordpress.com/2010/09/05/paper-prototyping/ Thursday, June 27, 13

Slide 35

Slide 35 text

Thursday, June 27, 13

Slide 36

Slide 36 text

Thursday, June 27, 13

Slide 37

Slide 37 text

@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

Slide 38

Slide 38 text

@robb1e Beyond prototyping Thursday, June 27, 13

Slide 39

Slide 39 text

@robb1e Most developers Prototypes tend to find a way into production Thursday, June 27, 13

Slide 40

Slide 40 text

@robb1e Steel thread Thursday, June 27, 13

Slide 41

Slide 41 text

@robb1e Kent Beck Make it work, make it right, make it fast Thursday, June 27, 13

Slide 42

Slide 42 text

@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

Slide 43

Slide 43 text

@robb1e Crazy Egg Story Thursday, June 27, 13

Slide 44

Slide 44 text

@robb1e 10am deploy CrazyEgg Thursday, June 27, 13

Slide 45

Slide 45 text

@robb1e 5pm review CrazyEgg Thursday, June 27, 13

Slide 46

Slide 46 text

@robb1e Users’ clicking headers that are not links Thursday, June 27, 13

Slide 47

Slide 47 text

@robb1e You could feel the users frustration Thursday, June 27, 13

Slide 48

Slide 48 text

@robb1e Simple user testing can pay dividends Lesson Thursday, June 27, 13

Slide 49

Slide 49 text

@robb1e • CrazyEgg.com • UserTesting.com • SilverbackApp.com • LeanLaunchLab.com • Trello.com Tools Thursday, June 27, 13

Slide 50

Slide 50 text

@robb1e Funnels, user testing, hypotheses and validations Story Thursday, June 27, 13

Slide 51

Slide 51 text

@robb1e Product with wizard like pages which pre-selected default services Thursday, June 27, 13

Slide 52

Slide 52 text

@robb1e Changes to the basket updates price in real-time Thursday, June 27, 13

Slide 53

Slide 53 text

@robb1e Funnel showed massive drop off at a certain step Thursday, June 27, 13

Slide 54

Slide 54 text

@robb1e In person user testing to discover why the drop off was occurring Thursday, June 27, 13

Slide 55

Slide 55 text

@robb1e Create hypothesis to stop users leaving at this junction Thursday, June 27, 13

Slide 56

Slide 56 text

@robb1e Implement change: allow users to use default or create own Thursday, June 27, 13

Slide 57

Slide 57 text

@robb1e Review funnel after deployment Thursday, June 27, 13

Slide 58

Slide 58 text

@robb1e Learn what is blocking the users Lesson Thursday, June 27, 13

Slide 59

Slide 59 text

@robb1e • KissMetrics.com • MixPanel.com • StatsD (Etsy) • Cube (Square) Tools Thursday, June 27, 13

Slide 60

Slide 60 text

@robb1e Always be validating Take away Thursday, June 27, 13

Slide 61

Slide 61 text

@robb1e Was that really the best use of your time? Story Thursday, June 27, 13

Slide 62

Slide 62 text

@robb1e During technical due diligence for an acquisition Thursday, June 27, 13

Slide 63

Slide 63 text

@robb1e The company had built their own message queue Thursday, June 27, 13

Slide 64

Slide 64 text

@robb1e Almost all transactions passed through this queue Thursday, June 27, 13

Slide 65

Slide 65 text

@robb1e Not buying a message queue company Thursday, June 27, 13

Slide 66

Slide 66 text

@robb1e - Joel Spolsky, 2001 "If it's a core business function - do it yourself, no matter what." Thursday, June 27, 13

Slide 67

Slide 67 text

@robb1e Time is the most expensive out going Bonus Thursday, June 27, 13

Slide 68

Slide 68 text

@robb1e • filepicker.io / embed.ly • heroku.com • sendgrid.com / mailchimp.com • so many more... Tools Thursday, June 27, 13

Slide 69

Slide 69 text

@robb1e Real-time vs near-time Story Thursday, June 27, 13

Slide 70

Slide 70 text

@robb1e Trading system which updates users’ screen every 10 seconds Thursday, June 27, 13

Slide 71

Slide 71 text

@robb1e Lots of number crunching and message queues Thursday, June 27, 13

Slide 72

Slide 72 text

@robb1e Did some in the field research Thursday, June 27, 13

Slide 73

Slide 73 text

@robb1e Traders only checked values every few minutes Thursday, June 27, 13

Slide 74

Slide 74 text

@robb1e This was not high volatile trading http://www.boldjack.com/wp-content/uploads/2012/01/wall_street4.jpg Thursday, June 27, 13

Slide 75

Slide 75 text

@robb1e Reduced complexity of the product Thursday, June 27, 13

Slide 76

Slide 76 text

@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

Slide 77

Slide 77 text

@robb1e Buy vs build Story Thursday, June 27, 13

Slide 78

Slide 78 text

@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

Slide 79

Slide 79 text

@robb1e Can you build the widget service yourself in that time? Thursday, June 27, 13

Slide 80

Slide 80 text

@robb1e Are you in the widget business? Thursday, June 27, 13

Slide 81

Slide 81 text

@robb1e Paul Hammond, 2012 Hosted services are usually cheaper and better than anything you will build. Use them. Thursday, June 27, 13

Slide 82

Slide 82 text

@robb1e Focus on your differentiators Bonus Thursday, June 27, 13

Slide 83

Slide 83 text

@robb1e Mary and Tom Poppendieck Think big, act small, fail fast, learn rapidly Thursday, June 27, 13

Slide 84

Slide 84 text

@robb1e Q/A Thursday, June 27, 13