7. Q"684$2%0%D3"A'2%E#2
“Do whatever is required to get to product/market fit. Including:
changing out people,
rewriting your product,
moving into a different market,
telling customers no when you don’t want to,
telling customers yes when you don’t want to,
raising that fourth round of highly dilutive venture capital
—whatever is required.”
— Marc Andreessen
http://blog.pmarca.com/2007/06/the-pmarca-gu-2.html
28. Traditional Product Development
Unit of Progress: Advance to Next Stage
Waterfall
Requirements
Specification
Design
Problem: known
Solution: known
Implementation
Verification
Maintenance
29. Agile Product Development
Unit of Progress: A line of Working Code
“Product Owner” or in-house customer
Problem: known
Solution: unknown
30. Product Development at Lean Startup
Unit of Progress: Validated Learning About Customers ($$$)
Customer Development
Hypotheses,
Problem: unknown Experiments,
Insights
Data,
Solution: unknown Feedback,
Insights
33. Small Batches
IDEAS
Learn Faster Build Faster
LEARN BUILD
Customer Development Continuous Deployment
Five Whys Small Batches
Continuous Integration
Refactoring
DATA
CODE
MEASURE
Measure Faster
Split Testing
Actionable Metrics
Net Promoter Score
SEM
35. Continuous Deployment
IDEAS
Learn Faster Build Faster
LEARN BUILD
Customer Development Continuous Deployment
Five Whys Small Batches
Continuous Integration
Refactoring
DATA
CODE
MEASURE
Measure Faster
Split Testing
Actionable Metrics
Net Promoter Score
SEM
36. Continuous Deployment
• Deploy new software quickly
• At IMVU time from check-in to production = 20 minutes
• Tell a good change from a bad change (quickly)
• Revert a bad change quickly
• And “shut down the line”
• Work in small batches
• At IMVU, a large batch = 3 days worth of work
• Break large projects down into small batches
37. Cluster Immune System
What it looks like to ship one piece of code to production:
• Run tests locally (SimpleTest, Selenium)
o Everyone has a complete sandbox
• Continuous Integration Server (BuildBot)
o All tests must pass or “shut down the line”
o Automatic feedback if the team is going too fast
• Incremental deploy
o Monitor cluster and business metrics in real-time
o Reject changes that move metrics out-of-bounds
• Alerting & Predictive monitoring (Nagios)
o Monitor all metrics that stakeholders care about
o If any metric goes out-of-bounds, wake somebody up
o Use historical trends to predict acceptable bounds
I,'7%$4(26='"(%(''%3%M3#;4"'/
o Fix the problem for customers
o Improve your defenses at each level