Running Lean Startup with Agile [email protected] [email protected] SIPA Angel in The City Aug 10, 2013
Aug 20, 2015
http://vizualize.me/kulawat
Agile Coach Goes EntrepreneurFound Proteus Agility Eidos, Humane Software for Human
Agile66 Founder
Dad of a 3-Year-Old Rebellious Son
Warm Up● Line up based on How much you know
about Agile?○ 1 - Never heard of it○ 5 - I should teach this class
● Write down and read aloud○ Nickname○ Team○ What is your pain point in software development?
● Count to 3, Go!
Outline● Why Lean Startup needs Agile? (1h)● Agile Lego Workshop (2h)
● Lunch Break (1h)
● Practical Agile Management Practices for Startup (1.5h)● Agile Technical Practices for Scalable Startup (1.5h)● Feedback Tools for Startup (0.5h)
● Wrap-Up
Note Before We Start● It takes me 3 years to start to “get” Agile● Interrupt me to ask questions any time● The more you ask, the more you get● Focus on WHY, not HOW
What is a Startup?
“A startup is an organization formed to search for a repeatable and scalable business model”
[Steve Blank]
“A startup is a human institution designed to deliver a new product or service under conditions of extreme uncertainty”
[Eric Ries]
The Lean Startup Video by Joone Studios
(2:29m)
http://www.youtube.com/watch?v=WAdikBfKeD8
Problem & Solution
Problem
KnownKnown
Unknown
Solution
KnownUnknownUnknown
Product Manager
Product Owner
Customer Development
Waterfal
Agile
Agile
12 Agile Principles
Customer is PriorityWelcome Change
Deliver FrequentlyBusiness & Dev Together
Trust the TeamFace-to-Face
Measure with Working SoftwareSustainable Pace
Good DesignSimplicity
Self Organized TeamRetrospect Regularly
http://agilemanifesto.org/
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to changeover following a plan
http://agilemanifesto.org/“The Agile Manifesto”
Agile Lego● To build “a city” as a product to sell to a
customer● Work as a team
○ Pre-Game - 45m■ Organize Your Team (5m)■ Customer Interview (15m)■ Release Plan (25m)
○ 3 Iterations - 60m■ Build - Iteration Plan (3m) & Build (7m)■ Measure - Iteration Review (5m)■ Learn - Retrospective (5m)
Agile Lego Rules
Buildings MUST be built by LEGO bricks
Customers will pay for your product with LEGO bricks
Organize Your Team - 5m● 3 teams based on “the number”● Roles?● Process?● Team Name? Join hands and shout it!
Customer Interview - 15m● Write these basic requirements on sticky
○ House 1○ House 2○ House 3○ School○ Hospital○ Fire Station○ Park
● All teams ask the customer more questions to find out more about what he wants.
● Each team should have around 12-15 cards
Park
blank square
you can take
some note here
Release Plan (25m) Estimation
fruit 1 fruit 2 fruit 3 fruit 4
5
● Pick Five Fruits● Pick Second Smallest Story● 1,2,3,5● Hand Vote● Write Down
Estimation Wall
Release Plan (25m) Prioritization
release
backlog
iteration 1
iteration 2
iteration 3
sum = x
x
1 2 3
● sum total points● pick stories for 3 i● estimate velocity● draw burndown● draw projection
to do doing done learned
toppriority
Build - Iteration Plan (3m)
release
backlog
iteration 1
iteration 2
iteration 3
sum = x
x
1 2 3
to do doing done learned
Measure - Iteration Review(5m x3)● Present your city to the customers, one team
at a time● Find out if your customer will pay for any of
your card● Decide if each card is “learned” and update
burndown accordingly
● Daily Standup Meeting● User Story● Hypothesis● Planning Poker● Iteration ● (Retrospective)
Practical Agile Management Practices
Daily Standup● Pattern
○ What did I do?○ What will I commit to do?○ Will problems are blocking me?
● Typically○ 15 min○ In front of the board or just form circle○ works with remote team (with TC, e-board)
Daily Standup● When it is done right
○ Fun○ Team Building○ Rhythm○ Happen with or without the boss
● Watch Out For○ Status Report - “Avoid Eye Contacts”○ Talking Too Long - “Take It Off-Line”
4 Volunteers &
Observers
5m
● 4 volunteers + 2 coach○ talk about real work○ pretend it is the same project
● other observes○ take it offline○ avoid eye contacts
User Story - exercise
5m Write the story of adding the Twitter registration
● write story● pick the best one from the group● read it out loud
User Story - example
As a potential user, I want to register using twitter so that I don’t have to fill out
a registration form.
http://www.infoq.com/presentations/Questions-Stories
User Story - exercise
5m In group, write high-level test cases for this story
● write test cases● read it out loud
User Story - AcceptanceAcceptance Criteria● testable condition● manual test steps● or even better be automated (BDD, ATDD)● just free style ● or a Template
○ Given [initial context], ○ when [event occurs], ○ then [ensure some outcomes]
User Story - AcceptanceAcceptance Criteria Example● Twitter registration icon is the same size as Facebook● Given a new user, when the user register with their
Twitter account, then the user should be able to register● Given existing user, when the user register with their
Twitter account with associated existing email, the user account should be linked with this Twitter account
● Given existing Twitter linked account, when the user register with the same Twitter account, the user should be alerted with “duplicated account” message
User Story - Characteristic
IndependentNegotiableValuableEstimable
SmallTestable
http://emmottontechnology.com/wp-content/uploads/2012/06/cut-cake-de-5170669.jpg
http://www.agilemodeling.com/artifacts/userStory.htm
http://theeidos.com/
http://nigelshaw.files.wordpress.com/2010/04/042710_0014_nowonderagi121.png?w=540 http://theeidos.com/
User Story - Benefits
Independent -> PrioritizationNegotiable -> Flexibility
Valuable -> Customer FocusEstimable -> PredictabilitySmall -> Early Feedback
Testable - Clear
Who write User Story?● Traditional Agile
(Scrum) relies heavily on Product Owner or “specific” small number of customers.
● What about Startup with mass customers?
http://corradosimeoniparis.files.wordpress.com/2010/07/christ-in-the-crowd-2005-oil-on-panel-cm-50-x-40.jpg
Hypothesis● Value of the user (WHY) in User Story does
not necessary mean value for business!● Customers may like it but will it make
money?● Everything in Startup is Hypothesis● Turn Story to Hypothesis in 3 steps
STEP 1 : Add ?
As a potential user, I want to register using twitter so that I don’t have to fill out
a registration form?
http://www.infoq.com/presentations/Questions-Stories
STEP 2 : Ask Whys● Increase # registrations?● More social media penetration for
marketing?● Allow notification features?
http://www.infoq.com/presentations/Questions-Stories
STEP 3 : What’s our hypothesis?
Allowing users to register with twitter
will <do something measurable>
http://www.infoq.com/presentations/Questions-Stories
STEP 3 : What’s our hypothesis?
Allowing users to register with twitter will drop abandoned registrations by 5%
http://www.infoq.com/presentations/Questions-Stories
Paradigm Shift
TO DO DOING DONE (HYPOTHESIS)VALIDATED
Working software over comprehensive documentation
LEARNING over
Agile Estimating● Accurate Estimation is Oxymoron
English!
● Plans are worthless, but planning is everything” Dwight D. Eisenhower
● “Creative processes are not easily planned, and so predictability may well be an impossible target.” The New Methodology ,Martin Fowler
Agile EstimatingStory Point ● Measure Relative Complexity ● Include Entire Team Efforts ● Avoid Precision ● Prevent “Manager Math”
Planning Poker● Tool for Estimating ● Encourages Full Team Participation ● Builds Rapid Consensus ● Quick on Easy Story ● Fun!
Sequence which prevents arguments over a tiny estimate difference. ○ Fibonacci : 1, 2, 3, 5, 8, 13, 21, etc… ○ Mike Cohn's : 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ? ○ Simple : 0, 1, 2, 3, 5, 8, BIG
Agile Project Rhythm
Plan Code & TestReview
&Retro
0.5day
0.5day
9days
a 2-Week Iteration
Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6
a 3-Month Release
more than iterative- prioritized
- welcome change- inspect & adapt
Release Planning
http://www.mountaingoatsoftware.com/uploads/blog/Index-Card-Stack.jpg
i1 i2 i3 i4 i5
100 pts
Release Burndown Charti6
top priority more detail
Iteration● Shorten Feedback Loop● Focus● Reduced Risk● Inspect and Adapt● Done-Done, not just a phase
traditionalagile
Effort
Time
AndroidWinXPWin7
Mac M
ini Server
OS X M
ountain Lion (10.8)
VMware Fusion
Android Developer
Tools
Feedback ToolsQualitative● Customer Interview● DIY Usability Test
Quantitative● Google Analytic● MixPanel
DIY Usability Test● Easy & Cheap● A Morning A Month● Start earlier than you think makes sense● Test other people’s sites● Tester does not have to match your target● Three testers is enough for each test● Make the tasks into scenarios● Give your tester small thanking you gift
Test Script● Welcome (4m)● Pre-Test Questions (2m)● The Home Page Tour (3m)● The Tasks (35m)● Probing (5m)● Wrapping Up (5m)● Prepare For The Next Test (10m)
DIY Usability Test● Volunteer 1 tester● Eidos Usability Test
a. Sign up at http://theeidos.com/b. Create a projectc. Add [email protected] and [email protected] to
your projectd. Create a story on the storyboard of your iteration 1
10m
Vanity vs Actionable Metric
http://practicetrumpstheory.com/2010/07/3-rules-to-actionable-metrics/
Vanity vs Actionable Metric
http://practicetrumpstheory.com/2010/07/3-rules-to-actionable-metrics/
Retrospective● Critical to Agile team● Easily ignored● Easy to do● Challenging for team with blame-culture
5m Pretend you are the trainersand do retrospective for this course
Final Thought
http://answers.bettor.com/images/Articles/thumbs/extralarge/UAB-women-volleyball-team-receive-two-more-players-for-2012-season-Volleyball-news-162802.jpg