Slide 1

Slide 1 text

@robb1e Robbie Clutton Prototyping & agile development

Slide 2

Slide 2 text

@robb1e Please propose a system to satisfy the attached requirements specification. Specify date of delivery and total cost.

Slide 3

Slide 3 text

http://www.flickr.com/photos/26420411@N02/3062930943/

Slide 4

Slide 4 text

@robb1e Four variables in project management: time, cost, quality and scope

Slide 5

Slide 5 text

@robb1e You say... Lets fix scope, cost and time taking a hit in quality

Slide 6

Slide 6 text

http://www.flickr.com/photos/andrewbain/2228633614/

Slide 7

Slide 7 text

@robb1e

Slide 8

Slide 8 text

@robb1e You say... Let’s fix scope, quality and time at any cost.

Slide 9

Slide 9 text

@robb1e We’re working every weekend until this project is finished.

Slide 10

Slide 10 text

@robb1e

Slide 11

Slide 11 text

@robb1e You say... Lets fix scope and quality with variable costs and time.

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

http://www.flickr.com/photos/virtualwayfarer/5600094306

Slide 14

Slide 14 text

@robb1e You say... Lets fix quality, time and cost then have optional scope.

Slide 15

Slide 15 text

@robb1e • Customers can change their minds • Suppliers aren’t encouraged to sacrifice quality as soon as something goes wrong • Customers’ and suppliers’ interests are contractually aligned • The knowledge that both parties gain during the project can influence the finished product. Optional Scope Contracts

Slide 16

Slide 16 text

@robb1e Heraclitus, ~500BC Change is the only constant

Slide 17

Slide 17 text

@robb1e History lesson

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

@robb1e Richard Feynman We are never right, we can only be sure we’re wrong.

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

@robb1e Getting Real by 37 Signals Build half a product, not a half-ass product.

Slide 24

Slide 24 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

Slide 25

Slide 25 text

@robb1e The Guardian, January 2006 MPs urge inquiry into delay of £6.2bn ($10bn) NHS software

Slide 26

Slide 26 text

@robb1e Some marketing genius No one ever got fired for hiring IBM

Slide 27

Slide 27 text

http://www.flickr.com/photos/teessideambulances/5570963359

Slide 28

Slide 28 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

Slide 29

Slide 29 text

@robb1e • Multiple units sent to the same address • No units sent to other addresses • Calls got lost • System became congested 1992 London Ambulance Dispatch disaster http://en.wikipedia.org/wiki/London_Ambulance_Service#System_failures

Slide 30

Slide 30 text

@robb1e Indepentent (newspaper), October 1992 Ambulance chief quits after patients die in computer failure. http://www.independent.co.uk/news/ambulance-chief-quits-after-patients-die-in-computer-failure-1560111.html

Slide 31

Slide 31 text

http://www.flickr.com/photos/wwward0/6572799971

Slide 32

Slide 32 text

@robb1e Toyota production system (1948)

Slide 33

Slide 33 text

http://www.flickr.com/photos/toyotamheurope/8472007819

Slide 34

Slide 34 text

http://www.flickr.com/photos/davegray/6354044779

Slide 35

Slide 35 text

@robb1e • 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

Slide 36

Slide 36 text

‘Lean Enterprise’ 2003

Slide 37

Slide 37 text

@robb1e Extreme Programming (1999)

Slide 38

Slide 38 text

@robb1e • Coding • Testing • Listening • Designing Activities

Slide 39

Slide 39 text

@robb1e • Communication • Simplicity • Courage • Feedback • Respect Values

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

@robb1e Agile manifesto (2001)

Slide 42

Slide 42 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.

Slide 43

Slide 43 text

@robb1e http://www.agilemodeling.com/essays/costOfChange.htm

Slide 44

Slide 44 text

@robb1e • Story writing • Iteration planning • Daily stand-ups • Customer acceptance • Retrospectives Agile process Agile processes enable customer collaboration and empower the individual

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

http://www.flickr.com/photos/psd/8591351239

Slide 47

Slide 47 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

Slide 48

Slide 48 text

process practices #win

Slide 49

Slide 49 text

@robb1e Lean software development (2003)

Slide 50

Slide 50 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

Slide 51

Slide 51 text

@robb1e Mary and Tom Poppendieck Think big, act small, fail fast, learn rapidly

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

@robb1e Lean startup (2008-2011)

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

@robb1e Eric Ries The goal of a lean startup is to move through the build-measure- learn feedback loop as quickly as possible

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

http://www.flickr.com/photos/54459164@N00/8003749394

Slide 59

Slide 59 text

@robb1e • Acquisition • Activation • Retention • Referral • Revenue Startup Metrics for pirates

Slide 60

Slide 60 text

@robb1e Prototyping

Slide 61

Slide 61 text

http://en.wikipedia.org/wiki/Airbus_A350_XWB

Slide 62

Slide 62 text

http://www.bikeradar.com/news/article/specialized-unveils-in-house-wind-tunnel-37363/

Slide 63

Slide 63 text

http://www.carbodydesign.com/archive/2008/01/29-mercedes-benz-advanced-design-studio-como/

Slide 64

Slide 64 text

@robb1e You say... Can you build a high fidelity prototype for a software application?

Slide 65

Slide 65 text

http://www.flickr.com/photos/psd/9626226855

Slide 66

Slide 66 text

http://astridforscreen.wordpress.com/2010/09/05/paper-prototyping/

Slide 67

Slide 67 text

http://arielwaldman.com/projects/interaction-design/

Slide 68

Slide 68 text

http://balsamiq.com

Slide 69

Slide 69 text

@robb1e • easel.io • proto.io • groosoft.com/ blueprint • appcooker.com • axure.com • pidoco.com Prototyping tools • finto • ratchet • invision • hotgloo • middleman • Keynote • Powerpoint

Slide 70

Slide 70 text

http://www.flickr.com/photos/lfittl/6940448421/in/photostream/

Slide 71

Slide 71 text

@robb1e Design Studio

Slide 72

Slide 72 text

@robb1e • Sketch 8 ideas in 5 minutes • Pitch ideas to team • Team critique the ideas • Repeat Design Studio

Slide 73

Slide 73 text

@robb1e Google Ventures

Slide 74

Slide 74 text

@robb1e • Day 1: Understand • Day 2: Diverge • Day 3: Decide • Day 4: Prototype • Day 5: Validate Rapid Prototyping Process

Slide 75

Slide 75 text

@robb1e • Cross skilled team • Present the business / concept • Competition analysis • Success metrics • Existing research / analytics • Team interviews Understand

Slide 76

Slide 76 text

@robb1e • Design studio Diverge

Slide 77

Slide 77 text

@robb1e • Conflict resolution • Best shot or battle royale? • Create tests for assumptions • Whiteboard the user story Converge

Slide 78

Slide 78 text

@robb1e • Keynote with Keynotopia • Review • Iterate Prototype

Slide 79

Slide 79 text

@robb1e • Invite users to come in • Test against assumptions and conflicts • Be nice to the tester • Take lots of notes • Create a scorecard Validate

Slide 80

Slide 80 text

http://www.flickr.com/photos/philhawksworth/5196977902

Slide 81

Slide 81 text

No content

Slide 82

Slide 82 text

No content

Slide 83

Slide 83 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

Slide 84

Slide 84 text

@robb1e Beyond prototyping

Slide 85

Slide 85 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

Slide 86

Slide 86 text

@robb1e Most developers Prototypes tend to find a way into production

Slide 87

Slide 87 text

@robb1e Kent Beck Make it work, make it right, make it fast

Slide 88

Slide 88 text

@robb1e Joel Spolsky, 2001 If it’s a core business function - do it yourself, no matter what.

Slide 89

Slide 89 text

@robb1e Ron Jefferies, ~2005 Always implement things when you actually need them, never when you just foresee that you need them

Slide 90

Slide 90 text

@robb1e Francis Hwang, 2012 The biggest expense for a startup is your time. Not your laptop, not your hosting bill, not your office, but the hours in your day.

Slide 91

Slide 91 text

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

Slide 92

Slide 92 text

@robb1e Mary and Tom Poppendieck Think big, act small, fail fast, learn rapidly

Slide 93

Slide 93 text

@robb1e Q/A