Originate - Think In Hours Not Sprints

35
1 THINK IN HOURS NOT SPRINTS WHY SOFTWARE WILL NEVER BE THE SAME Rob Meadows CEO, Originate Oct 21, 2013

description

Why software will never be the same... Discuss why agile and lean development methodologies alone are not enough to compete in today's software startup market. Explore real-time prototyping and minimal viable experiments that can accelerate learning down to hours, not sprints.

Transcript of Originate - Think In Hours Not Sprints

Page 1: Originate - Think In Hours Not Sprints

1

THINK IN HOURS NOT SPRINTS

WHY SOFTWARE WILL NEVER BE THE SAME

Rob MeadowsCEO, OriginateOct 21, 2013

Page 2: Originate - Think In Hours Not Sprints

2

We partner with start-ups and enterprises

to rapidly build high-quality modern software.

Page 3: Originate - Think In Hours Not Sprints

3

Quality Software is Essential to Almost Every Business

“Software is eating the world”

/ Marc Andreessen

“In 3 to 5 years, your car will have more lines of code in it than LinkedIn does today”

/ Reid Hoffman

Page 4: Originate - Think In Hours Not Sprints

4

Building Software

Classic Problem: Cheap, Fast, Good. Pick 2.

Fast + Cheap (but it doesn’t work)

or

Fast + Good (but you can’t afford it)

or

Cheap + Good (but you don’t live to see it)

Page 5: Originate - Think In Hours Not Sprints

5

Building Startup Software

Most competitive market landscape ever for software startups.

More technology options (noise) than ever for software startups.

Must be cheaper, faster, and better to win.

Page 6: Originate - Think In Hours Not Sprints

6

Cheaper, Faster, AND Better

Cloud +

Open Source +

Tools +

Methodologies

=

It has never been cheaper or faster

to build high-quality software

Page 7: Originate - Think In Hours Not Sprints

7

Cloud

Software as a Service (SaaS)Leverage quality 3rd party applications faster and cheaper

Salesforce, Google Apps, etc.

Platform as a Service (PaaS)Deploy and scale applications faster and cheaper

Heroku, Azure, Pivotal, etc.

Infrastructure as a Service (IaaS)Provision servers, storage, and bandwidth faster and cheaper

Amazon Web Services (AWS), Joyent, Rackspace, etc.

Page 8: Originate - Think In Hours Not Sprints

8

Open Source

FrameworksRuby/Rails, Scala/Play, Python/Django, etc.

User InterfacejQuery, Twitter Bootstrap, etc.

Data/AnalyticsMySQL, MongoDB, Hadoop, etc.

UtilitiesSecurity, integrations, testing, you name it…

Page 9: Originate - Think In Hours Not Sprints

9

Tools

Advanced tools help save time + risk:

CommunicationCreate more efficient (faster), global (cheaper) workforce

Skype, Hipchat, Webex, Pivotal Tracker, JIRA, Assembla

AnalyticsFaster reaction to business needs with less risk

Google Analytics, Mixpanel, New Relic

UX/PrototypingOmnigraffle, Popapp, Invisionapp, FluidUI

Dev/DevOpsGit(hub), Xcode, continuous integration, code quality, monitoring

Page 10: Originate - Think In Hours Not Sprints

10

Cloud + Open Source + Tools

So the odds must be in our favor now, right?

Page 11: Originate - Think In Hours Not Sprints

11

Odds of New Startup Success

What is the success rate of software startups today?

Page 12: Originate - Think In Hours Not Sprints

12

Odds of New Startup Success

<10%

Steve Blank “Startup Owner’s Manual”

Page 13: Originate - Think In Hours Not Sprints

13

Once you Pivot in Market

And what about if you can bounce back from a failure in market?

Page 14: Originate - Think In Hours Not Sprints

14

Once you Pivot in Market

<15%

Steve Blank “Startup Owner’s Manual”

Page 15: Originate - Think In Hours Not Sprints

15

Why Do They Fail?

?

Page 16: Originate - Think In Hours Not Sprints

16

Why Do They Fail?

They fail to create a product that people

need and will use

Page 17: Originate - Think In Hours Not Sprints

17

Avoiding Failure

Failure is usually catastrophic because there are no means to recover (money, time, expertise).

Therefore, we need to either fail faster or know more before starting.

We must identify and eliminate the risks around what users need and what they will use.

Page 18: Originate - Think In Hours Not Sprints

18

Better Methodologies

Identify and eliminate risks earlier in the cycle

Agile

Lean

Real-time Prototyping

Page 19: Originate - Think In Hours Not Sprints

19

Agile

Think in weeks.

Plan, build, test, repeat weekly;

Involve real users in testing;

Ability to pivot earlier

Learning happens in sprints/weekly. Not good enough (a week of quality work is not cheap).

Page 20: Originate - Think In Hours Not Sprints

20

Lean

Think in days.

Front-load learning; test before building when possible (Lean Canvas model).

Identify a problem, generate idea, de-risk it, build it, test it. Build Problem Solving Products (PSP).

Some learning happens daily, but most is weekly. Still not good enough (need fast + cheap + good).

Page 21: Originate - Think In Hours Not Sprints

21

Accelerate Learning

We can (and need to)

increase our rate of learning

by several orders of magnitude

Page 22: Originate - Think In Hours Not Sprints

22

Phases of Product Learning

Phase 1 (90%): Does it make sense? Does it feel right?

Ask: Real problem? Needs solution? What solution? Doable? Acceptable? Intuitive? Generalizable?

Learn: problem space, user expectations, solutions, UI approaches, modalities, ergonomics

Phase 2 (9%): Does it work with real data?

Phase 3 (1%): Does it work in real life?

Page 23: Originate - Think In Hours Not Sprints

23

Real-time Prototyping

Think in minutes.

“Minimal Viable Experiments”- a few minutes each;

Hundreds of experiments can be done before building any real software.

Learning happens several times per hour.

Page 24: Originate - Think In Hours Not Sprints

24

Learning is Not Failing

Experiments don’t fail. They create learning.

Page 25: Originate - Think In Hours Not Sprints

25

Minimal Viable Experiments

To get real insights, the medium must be reality --

not in our heads.

Page 26: Originate - Think In Hours Not Sprints

26

Paper Prototypes

Page 27: Originate - Think In Hours Not Sprints

27

Paper Flows

Page 28: Originate - Think In Hours Not Sprints

28

Paper Experiments

1. Draw the UI on stacks of index cards.

2. Let the user “click” somewhere.

3. Replace the card with another one that shows the new screen.

4. Observe if the user gets lost or has questions.

5. In the case of feedback, draw a new card in 10 seconds.

6. Results in ergonomic UI’s and workflows

Page 29: Originate - Think In Hours Not Sprints

29

Digital Prototypes

1. Convert paper prototypes into digital with tools like Popapp

2. Create digital mockups with tools like OmniGraffle

3. Test on real users

4. Incorporate feedback immediately

5. Use to build working software for specific features (in hours)

6. Test with real data

Page 30: Originate - Think In Hours Not Sprints

30

Manual Messaging

Use existing channels to “simulate” software interaction: email, text, IM, etc.

Use a human to act as server. Do NOT build software that a human can’t first do manually.

Test and adjust messaging and flow until it is intuitive to real users

Page 31: Originate - Think In Hours Not Sprints

31

Manual Messaging

Page 32: Originate - Think In Hours Not Sprints

32

Readme Experiment

1. Write the documentation first. Strictly no coding!

2. Show the documentation to real users

3. Ask them:If/how they would use it

What part of it they would not use

What value it would have to them

What else is missing

4. Change the documentation until it describes the perfect software

5. Use Agile/Lean to build PSP

Page 33: Originate - Think In Hours Not Sprints

33

And More MVE’s!

There are hundreds of experiments you can come up with for any software product.

Get creative and think outside the domain; start with experiments that don’t require coding.

Remember, there is no such thing as a failed experiment!

Page 34: Originate - Think In Hours Not Sprints

34

A 48 Hour Example

2 day immersive workshop with key stakeholders:

- Morning 1: Set real-world context (go do something)

- Fill whiteboard with problems and ideas

- Prove/disprove assumptions for each idea/solution through rapid experiments

- Build first working prototype by lunch and test in real-world

- Refine ideas and experiments; build second prototype overnight

- Day 2: Test, refine, test, refine… in real world

- Hour 48: complete working prototype

Page 35: Originate - Think In Hours Not Sprints

35

Recap

- You must be faster, cheaper, AND better to win the software game.

- This requires being agile and lean, but also creating real-time prototypes/experiments.

- Learning is not failing; push learning up-front where it is cheaper/faster.

- Start thinking in minutes: an hour is the new week.