Appling Lean Startup Principles to Agile Projects Webinar

advertisement
Applying Lean Startup
Principles to Agile Projects
Mike Hall
Three Beacons
mike@threebeacons.com
214.783.3936
www.synerzip.com
Webinar Series 2015
0
Lean Startup
www.synerzip.com
Webinar Series 2015
1
Applicability
It’s for everyone: startups, new product development, new features, etc.
www.synerzip.com
Webinar Series 2015
2
Mantra
“What if we found ourselves building something that nobody wanted? In
that case, what did it matter if we did it on time and on budget?”
The goal of any project is to figure out the
right thing to build.
www.synerzip.com
Webinar Series 2015
3
Thinking
Question at the start of a typical project:
• Can we build a solution for that problem?
Lean Startup questions at the start:
• Do consumers recognize they have a
problem?
• If there was a solution, would they buy it?
• Would they buy it from us?
• Can we build a solution for that problem?
• Can we build a sustainable business
around this product/service?
Ask “Should it be built?” instead of “Can it be built?”
www.synerzip.com
Webinar Series 2015
4
Framework
• Adaptable framework
• Based on scientific methods
• A journey of “discovery”
-
Subject the vision to constant
hypothesis testing
-
React to customer feedback
-
Bypass work that does not lead to
learning
-
Adapt to what the data is telling you
“Successful entrepreneurs had the foresight, ability, and tools to discover
which part of their plans were working brilliantly and which were misguided,
and adapt their strategies accordingly.
www.synerzip.com
Webinar Series 2015
5
Lean Startup - Principles
www.synerzip.com
Webinar Series 2015
6
Assumptions as Hypotheses
• Identify your project/feature assumptions (continuously)
• Reword them as hypotheses
“The XYZ change will prove that customers want to ...” (value)
“The ABC feature will increase new customers by at least 15%.” (growth)
Avoid:
•
•
•
Acting as if assumptions are true and proceeding anyway! – Leaps of Faith
Taking statements for granted
Reports from anyone other than the customer
www.synerzip.com
Webinar Series 2015
7
A Tale of Two Teams
• What to build?
• Clear baseline metric
• Passionate debates
• Hypothesis on how to improve metric
• Suits decide
• Experiments to test hypothesis
• Implement several features at a time
• Empirical data from customer usage
• Celebrates any positive perception
• Celebrates learning
www.synerzip.com
Webinar Series 2015
8
Experiments
• Think of your project as a set of small experiments
• Break business plan down to its component parts – and test them
• Define experiments to test each hypothesis
• Results of the experiments guide decisions about product direction
Case Study: Zappos
Experiments allow us to transition from guesses to knowledge.
www.synerzip.com
Webinar Series 2015
9
Validated Learning
• The result of the experiments
• Can be positive or negative changes
• Empirical data from the customer
• “Learn lessons early” rather than “build
features and fix bugs”
• Faster and more accurate than market
forecasting and classical business planning
The measure of an effective team is how much validated learning did we
achieve (as opposed to how much did we build).
www.synerzip.com
Webinar Series 2015
10
Small Batch Size
• Allows us to identify quality problems sooner
• Pull – each step pulls the parts needed from
the previous step, Toyota JIT production
• As soon as we formulate a hypothesis, run the
experiment as quickly as possible using the
smallest batch size to get the job done!
“Large batch sizes can create a death spiral of re-doing work.”
www.synerzip.com
Webinar Series 2015
11
Build – Measure - Learn
Decision!
from the data
Minimize time
through loop
the smallest
batch possible
qualitative and quantitative
www.synerzip.com
Webinar Series 2015
12
Minimum Viable Product
www.synerzip.com
Webinar Series 2015
13
Minimum Viable Product
• The resultant output of successive Build – Measure – Learn loops
• Remove/Avoid any effort that does not lead to learning
• Goal of MVP – test your hypotheses, achieve validated learning
• Decision after learning: pivot/persevere/quit
• Iterate toward launchable product
“The only way to win is
to learn faster than
anyone else.”
www.synerzip.com
Webinar Series 2015
14
Case Study: Dropbox
• Very popular web-based file-sharing service
• Initial MVP: a YouTube video
• Targeted to early adopters
• Beta waiting list went from 5,000 to 75,000 overnight
• Company now worth over $1B
www.synerzip.com
Webinar Series 2015
15
MVP Patterns
• Concierge MVP – personalized service as a learning activity
• Wizard of Oz MVP – behind the scenes humans doing the work
• Case Study: Aardvark
• Low-quality MVP
• Case Study: Craigslist
• Case Study: IMVU avatar teleportation
• Smoke test - marketing materials
• UI mockups
• Etc.
www.synerzip.com
Webinar Series 2015
16
Pivot, Persevere, or Quit
• Based on the validated learnings of an MVP, decide!
• Pivot – structured course correction designed to test new hypotheses
• Persevere – continue on with next set of hypotheses
• Quit – cancel the project and move on to the next one
“There is no bigger destroyer of creative potential than the
misguided decision to persevere.”
www.synerzip.com
Webinar Series 2015
17
Case Study: Potbelly Sandwiches
• Started out as an antique store
• Began selling sandwiches to drive traffic to the stores in
the hopes of selling more antiques
• Lines formed out the door
• Pivoted to a sandwich store
• Today over 280 sandwich stores nationwide
www.synerzip.com
Webinar Series 2015
18
Pivot Types
• Zoom-in pivot – refocus product on what was previously considered one feature
• Zoom-out pivot – single feature is inadequate, so add features
• Customer segment pivot
• Customer need pivot (Potbelly)
• Platform pivot
• Business architecture pivot
• Value capture pivot
• Engine of growth pivot
• Channel pivot
• Technology pivot
Pivots take courage!
www.synerzip.com
Webinar Series 2015
19
Others
• Innovation Accounting
• Engine of Growth
• Adaptive Organization
www.synerzip.com
Webinar Series 2015
20
Application to
Agile Projects
www.synerzip.com
Webinar Series 2015
21
Case Study: NAV-API
• Navigation platform supports 3rd-party apps integration
• Goal is to accurately measure usage analytics
• Measurement messages are
- Start/Stop driving
- Route to destination
- Travel guide viewing, etc.
• Approach 1: downloadable SDK integrated into apps
- Caches measurements, sends every 5 minutes to server
- Re-issue app when SDK changes, re-certify
- SDK execution can crash 3rd-party app
• New product: web service to receive measurement messages
- Defined RESTful API called NAV-API
www.synerzip.com
Webinar Series 2015
22
Get Started: Hypotheses-Driven Vision
• Develop a classic vision board
• List assumptions
• Continue to identify assumptions as you go
• Translate implicit assumptions into explicit testable hypotheses
• List hypotheses
www.synerzip.com
Webinar Series 2015
23
NAV-API Vision Board
Vision Statement
For clients who have a need for capturing usage analytics on their connected applications, Navigation API (NAV-API) is a cloud-based
service that provides a simple easy-to-understand way of reporting measurements.
Unlike classic embedded SDK approaches, the NAV-API will provide a direct reporting experience based on web service calls.
Target Group
3rd-party app customers
• Yelp
• Trip Advisor
• TripIt
• Travefy
• AAA
• Tripomatic
• Hertz
• Avis
• TouristEye
• TripCase
• WorldMate
Needs
• Ease of measurement reporting
• One solution for all digital
• Increase revenues
• Use of familiar programmatic
• Cloud-based
• Satisfy pent-up
• Transparent evolution
approach
• Less software development
• No need to download/integrate
• Linear scaling as demand
Assumptions
• Customers will prefer NAV-API over the
• Increase digital
• 1-stop-shop
• Fault tolerant
SDK
demand
footprint
grows
Hypotheses
• > 80% of all customers will prefer NAV-API
• NAV-API can be self-certified by customers
embedded SDK
• NAV-API will make it easier to certify apps
• NAV-API can handle large amount of users
• NAV-API can handle 50K simultaneous
sessions
• NAV-API will need a super-fast DB
• Redis is the best DB for NAV-API
• An early release to friendly customers will
• An initial release can be built with limited (but
provide good feedback
www.synerzip.com
Value
Product
Webinar Series 2015
24
valuable) functionality for early adopters
Get Empathetic: Knowledge Broker Personas
• A special form of persona
• But emphasizes the knowledge sharing that each can bring
• Customer Archetype – humanizes the proposed target user
Knowledge Sharing
• Can explain why certain features are more important
• Can describe his previous SUVs and what he liked/disliked
• Will give an opinion on our new Sync+ system
• We can determine how likely he will upgrade to a full-size SUV in
the future
www.synerzip.com
Webinar Series 2015
25
Get Organized: Learning Maps
• Create a story map on a wall
• But organize and prioritize it by
Hypothesis from left to right
• Which will deliver the most learning?
• Which learnings are most crucial?
• Which learnings reduce risk?
• Which are most crucial in answering
“Are we building the right product?”
• For each hypothesis, name the user
stories and/or work items
• Prioritize the user stories top to bottom
www.synerzip.com
Webinar Series 2015
26
NAV-API Learning Map
Hypotheses
Experiments:
Stories, Work Items
www.synerzip.com
Webinar Series 2015
27
Tee It Up: Experiment Backlogs
• Similar to Scrum product backlog
• But is learning-based prioritization
• List of all experiments 1..n
• Stories, work items, research, etc.
• Tagged with Hypothesis name/description
www.synerzip.com
Webinar Series 2015
28
NAV-API Experiment Backlog
Epics + User Stories (Digital Engineering)
Displaying 86 issues at 14/Apr/15 1:15 PM.
Project
Key
Summary
Cloud API NMAPI-76 API Issues
Issue Type Status Resolution
Epic
Open Unresolved
Created
3/13/2015 19:09
NAV API
NAVAPI-4 Start session
Story
Open
Unresolved
3/13/2015 14:17
NAV API
NAVAPI-5 Start drive
Story
Open
Unresolved
3/13/2015 14:17
Updated
Description
3/19/2015 14:24 Hypothesis: NAV-API is resilient enough to appropriately handle session id and data value errors.
3/23/2015 9:00 As an application, I want to start a session, so that I can begin reporting metrics to the downsteam
systems.
• When I request a session, I expect that my session is started by NAV-API.
• When I request a session, I expect to receive a successful return code from NAV-API.
• When I request a session, I expect to receive a unique session id that I can use in subsequent NAVAPI calls. I also expect to receive an opt-out URL that I can display in my Privacy page.
• When I request a session and NAV-API is unable to start my session, I expect to receive an error
code that indicates the reason.
• When I request a session and my device/application is opted-out, I expect to receive an error code
that indicates opted-out as the reason.
• When I request a session, I expect NAV-API to read in my config file from the Config system. The
Config file contains variable name mappings that allow me to use my own defined variables instead of
the defaults.
3/19/2015 16:09 As an application, I want to signal start drive, so that I can begin collecting information about the trip.
Acceptance Criteria
• When I start driving. I expect to receive a successful return code from NAV-API
• When there is an error in the data transmission to NAV-API, I expect to receive an error response
code.
NAV API
NAVAPI-8 Stop drive
Story
Open
Unresolved
3/13/2015 14:18
3/23/2015 8:59 As an application, I want to report when I stop driving, so that I can complete information regarding a
trip.
• When I am stop driving, I expect NAV-API to accept the data as defined in the API such as event,
UTC time, and type.
• When I am stop driving, I expect NAV-API to accept the data as defined in the API such as event,
offset time, and type.
• When I stop driving, I expect an OK response code.
• When there is an error in the data transmission to NAV-API, I expect an error response code.
NAV API
NAVAPI83
Route to destination
Story
Open
Unresolved
3/16/2015 10:25
3/20/2015 12:14 As an application, I want to report when a route destination is in progress, so that I can complete
information regarding a routed trip.
• When I am routing, I expect NAV-API to accept the data as defined in the API such as event, UTC
time, and type.
• When I am routing, I expect NAV-API to accept the data as defined in the API such as event, offset
time, and type.
• When I start routing, I expect an OK response code.
• When there is an error in the data transmission to NAV-API, I expect an error response code.
NAV API
NAVAPI16
View travel guide
Story
Open
Unresolved
3/13/2015 14:20
3/23/2015 9:02 As an application, I want to report when a travel guide is viewed, so that I can complete information
regarding a view session.
• When I am view a travel guide, I expect NAV-API to accept the data as defined in the API such as
event, UTC time, and type.
• When I am view a travel guide, I expect NAV-API to accept the data as defined in the API such as
event, offset time, and type.
• When I start viewing, I expect an OK response code.
• When there is an error in the data transmission to NAV-API, I expect an error response code.
NAV API
NAVAPI15
Stop session
Story
Open
Unresolved
3/13/2015 14:19
3/23/2015 9:52 As an application, I want to stop a session, so that I can close out metrics to the downsteam
systems.
• When I stop a session, I expect that my session is stopped by NAV-API.
• When I stop a session, I expect to receive a successful return code from NAV-API.
• When I stop a session and NAV-API is unable to stp my session, I expect to receive an error code
that indicates the reason.
• When I stop a session and my device/application is opted-out, I expect to receive an error code that
indicates opted-out as the reason.
www.synerzip.com
Webinar Series 2015
29
Get Focused: Minimum Learning Product (MLP)
• Similar to MVP, but much smaller
• Learning-based, not viable productbased
• Smallest chunk of the Learning Map
that can be developed to learn
something important
• Real or mock form
• Goal is to get just enough learnings
- Then pivot, persevere, or quit
• Choosing the MLP replaces classic
Scrum sprint planning
- Break into tasks if it helps
www.synerzip.com
Webinar Series 2015
30
NAV-API Minimum Learning Product
MLP
www.synerzip.com
Webinar Series 2015
31
Experiment Test Iteration
• Experiment Test Iteration (ETI)
• Similar to Scrum sprint but variable time length
- Depends on size of experiment
- Get through Build/Measure/Learn as quickly as possible!
Scrum: fixed iteration length
ETI: variable iteration length
ETI 1 ETI 2
3 days 5 days
www.synerzip.com
ETI 3
9 days
ETI 4
17 days
Webinar Series 2015
ETI 5
6 days
ETI 6
7 days
32
Build It: ETI
• Build out the MLP
• Measure progress based on validated learning
• Use modified storyboard showing Validated column
Story
www.synerzip.com
To Do
In Work
Done
Webinar Series 2015
Validated
33
Get More Data: Learning Results Period
• Obtaining results from knowledge brokers
• Sometimes the validation takes longer than the ETI
• Run this in parallel with the next ETI
- Defer pivot/persevere/quit decision until this data is in
Pivot/Persevere/Quit
ETI3 Learning
Results Period
ETI 1 ETI 2
3 days 5 days
www.synerzip.com
ETI 3
9 days
ETI 4
17 days
Webinar Series 2015
ETI 5
6 days
ETI 6
7 days
34
Demo It: ETI Review
• Dev team demos their progress
• Discuss learnings obtained from the Learning Results Period
• Experiment findings are discussed with stakeholders
• Decision: pivot, persevere, or quit
www.synerzip.com
Webinar Series 2015
35
Think About It: ETI Retrospective
• Team discusses
- What went well, what did not go well
- How to get better
• A spirit of “continuous improvement”
• Plus:
- How is the team feeling about the assumptions?
- Are there any not identified previously?
www.synerzip.com
Webinar Series 2015
36
Rinse & Repeat: MLPs
• Build series of MLPs to reach final launchable product
• Use innovation accounting to “tune the growth engine”
• Be courageous in pivot/persevere/quit decisions
www.synerzip.com
Webinar Series 2015
37
Team Dynamics
• Scrum team becomes a small “innovation factory”
- Responsible for code and/or artifacts that prove/disprove a hypothesis
- Continuous innovation
• Practicing the art of “genchi genbutsu”
- “Go and see”
- The only way to truly understand the requirements is to get out of the
office and spend time with the customer
- Gemba – the real place
- Don’t rely on information from other sources
www.synerzip.com
Webinar Series 2015
38
Gemba Walk
• Gemba Walk
- Go see the actual process
- Purposeful attempt to learn what is really going on
- Direct customer interaction
- Ask questions
- Show respect
- Learn
www.synerzip.com
Webinar Series 2015
39
Team Dynamics (cont)
• ScrumMaster becomes “shusa”
• Chief engineer responsible for guiding the product to success
• Guides team on experiments and MLPs to product
www.synerzip.com
Webinar Series 2015
40
Conclusion
www.synerzip.com
Webinar Series 2015
41
Conclusion
• Lean Startup principles can and should be used in
Agile projects
- To help insure we build the right thing
• Approximately 10 techniques presented, but there
are probably even more
• This could be the next major evolution of Agile!
“If we stopped wasting people’s time, what
would they do with it?
We have no real concept of what is possible.”
www.synerzip.com
Webinar Series 2015
42
Introducing: Gemba
• Gemba: a validated learning Agile method
Gemba
Scrum
www.synerzip.com
Lean Startup
Webinar Series 2015
Lean
43
Gemba Manifesto
We value
• Validated learning over reasonable assumptions
• Data-driven decisions over plausible-sounding arguments
• Building minimum learning products over additional features
• The courage to build the right thing over something that might work
www.synerzip.com
Webinar Series 2015
44
Three Beacons
Agile Training
Scrum team training
Lean Startup training
Intro to Agile
User Stories
Extreme Programming
Agile Consulting
Onsite
Skype-based
© Three Beacons LLC, 2015
www.synerzip.com
Webinar Series 2015
45
THE END
Mike Hall
Three Beacons
mike@threebeacons.com
214.783.3936
www.synerzip.com
Webinar Series 2015
46
Backups
www.synerzip.com
Webinar Series 2015
47
Innovation Accounting
• Measure the progress of innovation
towards validated learning – instead of
burn rate or $
• Three steps
•
•
•
Use MVP to establish real data
Tune the engine from baseline towards ideal
Pivot, persevere, or quit
• Use actionable metrics – clear
cause&effect
•
•
•
Split-test of a feature caused 20% increase in
sales
Per-customer metrics
Cohort metrics – groups of customers
• Avoid vanity metrics
•
•
Number of hits to a website
Action to take is not obvious
www.synerzip.com
“If you are building the wrong thing,
optimizing the product or its marketing
will not yield significant results.”
Webinar Series 2015
48
Engine of Growth
• Use a small set of actionable metrics
•
•
•
•
•
Customer acquisition cost
Activations
Retention
Revenue
Referrals
• Consider viral coefficient
• How many friends will each customer bring?
• Case Study: Hotmail
• “Tune” the engine every time learning occurs
www.synerzip.com
Webinar Series 2015
49
Adaptive Organization
• Auto-adjust process and performance based on
current learnings
• Andon cord – anyone can stop the production line!
• Slow down – invest in preventing issues
• Ask “Why?” 5 times to get to root cause
Avoid
•
Handoffs and approvals
•
Making decisions on plausible-sounding arguments
•
Low quality products
•
Defects
www.synerzip.com
Webinar Series 2015
50
www.synerzip.com
Hemant Elhence
hemant@synerzip.com
469.374.0500
www.synerzip.com
Webinar Series 2015
51
•51
84
Synerzip in a Nutshell
 Software product development partner for small/mid-sized technology
companies
•
•
•

Dedicated team of high caliber software professionals for each client
•
•
•

Seamlessly extends client’s local team offering full transparency
Stable teams with very low turn-over
NOT just “staff augmentation, but provide full management support
Actually reduces risk of development/delivery
•
•


Exclusive focus on small/mid-sized technology companies, typically venturebacked companies in growth phase
By definition, all Synerzip work is the IP of its respective clients
Deep experience in full SDLC – design, dev, QA/testing, deployment
Experienced team – uses appropriate level of engineering discipline
Practices Agile development – responsive yet disciplined
Reduces cost – dual-site team, 50% cost advantage
Offers long-term flexibility – allows (facilitates) taking offshore team
captive – aka “BOT” option
www.synerzip.com
Webinar Series 2015
52
Synerzip Clients
www.synerzip.com
Webinar Series 2015
53
Join Us In Person
Agile Texas 2015 Tour
Presented by
Hemant Elhence & Vinayak Joglekar
www.synerzip.com
Webinar Series 2015
54
Next Webinar
Technical Topic: From Hadoop to Spark
Complimentary Webinar:
Wednesday, August 19, 2015 @ Noon CST
Presented by: Mark Kerzner
Co-Founder,
Elephant Scale
www.synerzip.com
Webinar Series 2015
55
Connect with Synerzip
@Synerzip_Agile
linkedin.com/company/synerzip
facebook.com/Synerzip
Hemant Elhence
hemant@synerzip.com
469.374.0500
www.synerzip.com
Webinar Series 2015
56
Download