lean startup - 8 techniques every dev team should know

43
8 techniques every product development team should know LEAN STARTUP

Post on 21-Oct-2014

1.186 views

Category:

Technology


0 download

DESCRIPTION

Introduction to Lean Startup methodology with overview of Vision -> Strategy -> MVP -> Build -> Measure -> Learn -> Cut Waste -> Pivot progression. Fun quizzes and tests explaining concepts like split testing and cohorts. Second part of the presentation goes over how to use Lean Startup in development. Adjusting dev cycle to focus more on learning and to move through the iterations faster. Continuous deployment and production metrics to help move code from the developer to the end user.

TRANSCRIPT

Page 1: Lean startup - 8 techniques every dev team should know

8 techniques every product development team should know

LEAN STARTUP

Page 2: Lean startup - 8 techniques every dev team should know

INTRODUCTIONS

• Currently CEO of AgileEngine

• Co-founder and CTO of Validio (now GlobalLogic Kharkov)

• Co-founder and CTO of 2 startups

• Author of “Covert Java” book

• Developer, architect, entrepreneur, speaker

Alex Kalinovsky

Agile Engine 2

Page 3: Lean startup - 8 techniques every dev team should know

AWARENESS TEST

PAY ATTENTION!

Agile Engine 3

Page 4: Lean startup - 8 techniques every dev team should know

AWARENESS TEST

Story of 2 startups

Agile Engine 4

Page 5: Lean startup - 8 techniques every dev team should know

5Agile Engine

Startup 1 – Boo.com

Page 6: Lean startup - 8 techniques every dev team should know

6Agile Engine

ShoeSite.com

Startup 2 - Free Shipping on Shoes

Page 7: Lean startup - 8 techniques every dev team should know

Which startup did better?

7CreamTec

Which one did better?

Page 8: Lean startup - 8 techniques every dev team should know

2 startups side-by-side

• 50,000 varieties of shoes

• $1 billion in sales

• 24 million customers

• Acquired by Amazon.com for $1.2 billion

8AgileEngine

• $135M spent in 18 months

• $500,000 in sales

• 609 orders

• Liquidated for $250,000

Page 9: Lean startup - 8 techniques every dev team should know

Why do it?

• The question is not “can this product be built”. In the modern economy, the more pertinent questions are “Should this be built” and “Can we build a sustainable business around it”?

9AgileEngine

Page 10: Lean startup - 8 techniques every dev team should know

Introducing Lean Startup

• Roots in Toyota

• Everyone can be entrepreneur

• Startups are best at turning ideas into products in the environment of extreme uncertainty

• Lean Startup approach can be used for enterprise architecture, recruiting, QA and sales

10AgileEngine

Page 11: Lean startup - 8 techniques every dev team should know

Define Vision

11AgileEngine

What do you want to achieve?

Page 12: Lean startup - 8 techniques every dev team should know

Establish Strategy

• How will you measure progress?

• Talk with customers to validate your assumptions

• Understand your customer and discover their needs

• Value learning over working software

12AgileEngine

Page 13: Lean startup - 8 techniques every dev team should know

Lean Approach

• What I say is not what I do

• Only way to validate is to build and measure

• Learn to see waste from value

• Lean thinking defines value as providing benefit to the customer; anything else is waste

• Ship soon. Learn. Cut waste.

13AgileEgine

Page 14: Lean startup - 8 techniques every dev team should know

Build-Measure-Learn Feedback Loop

• Core of lean startup

• Each iteration tests a hypothesis of value or growth

• Minimize time through the loop

14AgileEngine

Page 15: Lean startup - 8 techniques every dev team should know

VISION – Experiment

• If you cannot fail, you cannot learn

• Start with hypothesis/prediction

• Test predictions empirically

• Science, not alchemy

15AgileEngine

Page 16: Lean startup - 8 techniques every dev team should know

Ready to build!

16AgileEngine

Page 17: Lean startup - 8 techniques every dev team should know

Dropbox challenge

• What to build to test if building Dropbox is a good idea?

17AgileEngine

Page 18: Lean startup - 8 techniques every dev team should know

STEER – Leap – MVP

• MVP = Minimum Viable Product

• Not a prototype – have to measure results

• Plan is based on assumptions; goal of iteration is to validate one of more of them

• Entrepreneurs dramatically overestimate how many features are need in MVP

• When in doubt – simplify

18AgileEngine

Page 19: Lean startup - 8 techniques every dev team should know

MVP examples

• Video MVP - Dropbox

• Concierge MVP – StreetCount

• Cheap MVPs allow you to test ideas quickly and iterate. Angry Birds

• Low quality is OK for startups because of extreme uncertainty – craigslist.com

• Don’t worry about patents, worry about execution

• Commit to iteration no matter what for an agreed period of time

19AgileEngine

Page 20: Lean startup - 8 techniques every dev team should know

Measure

20AgileEngine

Page 21: Lean startup - 8 techniques every dev team should know

Measure

• Actionable – must demonstrate clear cause and effect

• Accessible – easy to find and understand

• Auditable – can be reproduced and verified

21AgileEngine

Page 22: Lean startup - 8 techniques every dev team should know

VISION – Experiment – Hypothesis

• Value hypothesis tests whether a product really delivers value once users are using it

• Measure purchases, returning visitors or contributions

• Growth hypothesis tests how new customers will discover product

• Measure referrals and invitations

22AgileEngine

Page 23: Lean startup - 8 techniques every dev team should know

Measure - Cohort Testing

• Which way is this bus headed?

23AgileEngine

Page 24: Lean startup - 8 techniques every dev team should know

STEER – Measure – Split Testing

• Split Testing to determine a better of 2 versions

• Key to validating if something should have been built in the first place

• Marketing may be more important than new features

24AgileEngine

Page 25: Lean startup - 8 techniques every dev team should know

Learn

25AgileEngine

• Was your hypothesis right?

• Did metrics improve?

Page 26: Lean startup - 8 techniques every dev team should know

PIVOT or PERSEVERE

• Pivot – a structured course correction designed to test a new fundamental hypothesis

• Don’t get stuck in Zombie land

• Example: online activism platform -> The Point -> local pizza coupon -> Groupon

26AgileEngine

Page 27: Lean startup - 8 techniques every dev team should know

Lean Approach

27AgileEgine

Page 28: Lean startup - 8 techniques every dev team should know

Lean Approach

28AgileEgine

Can we improve?

• When problem is not really known, we value knowledge over working software

• Progress is measured by learning

Page 29: Lean startup - 8 techniques every dev team should know

Typical Development Process

29AgileEgine

Where is learning?

Page 30: Lean startup - 8 techniques every dev team should know

Lean Approach

30AgileEgine

Page 31: Lean startup - 8 techniques every dev team should know

Lean Approach

31AgileEgine

Page 32: Lean startup - 8 techniques every dev team should know

Lean Approach

32AgileEgine

Page 33: Lean startup - 8 techniques every dev team should know

Lean Approach

33AgileEgine

Page 34: Lean startup - 8 techniques every dev team should know

Lean Approach

34AgileEgine

Page 35: Lean startup - 8 techniques every dev team should know

Lean Approach

35AgileEgine

Page 36: Lean startup - 8 techniques every dev team should know

Lean Approach

36AgileEgine

Page 37: Lean startup - 8 techniques every dev team should know

Tendency to overengineer

• Interfaces

• IOC / DI

• Separation of layers and DTOs

• Mocks vs test data

• (Over)analyzing requirements

• Patterns

• Excessive use of frameworks

37AgileEngine

Page 38: Lean startup - 8 techniques every dev team should know

Agile vs Lean

38AgileEgine

• Solution Unknown

• Elicit stories from customers

• 2-4 week sprints

• Continuous integration

• Done = working software

• Problem Unknown

• Validate features with market

• Get through the loop as fast as possible

• Continuous deployment

• Done = validated learning

Agile Lean Startup

Page 39: Lean startup - 8 techniques every dev team should know

Conclusion

1. Define vision

2. Establish strategy

3. Start with MVP

4. Build a hypothesis

5. Measure metrics

6. Learn from data

7. Build value, cut waste

8. Pivot or persevere

39AgileEngine

Page 40: Lean startup - 8 techniques every dev team should know

Credits

1. Eric Ries, Lean Startup

2. Abby Fichter, How Development Looks Different at a Startup

3. The HackerChick Blog

40AgileEngine

Page 41: Lean startup - 8 techniques every dev team should know

41AgileEngine

Change the world!

Can one person change the world?

Page 42: Lean startup - 8 techniques every dev team should know

Company X vs AgileEngine

42AgileEngine

• “We hire the best”

• “We value our developers”

• “We work with latest technologies”

• “We innovate”

• “Lots of projects”

• “Room to grow”

• “Trips to US”

• “Good work environment”

• Pass our development test

• Pay at the top end of market

• We invent latest technologies

• Build products

• Interesting projects

• Promote from within

• Relocation to the US

• Best looking girls!

Company X AgileEngine

Page 43: Lean startup - 8 techniques every dev team should know

43AgileEngine