The document summarizes the key principles of the Lean Startup methodology for building startups. It discusses two tales of startups, one that failed spending $40M over 5 years by making assumptions without customer validation, and one called IMVU that shipped frequently and earned $10M in revenue in 2007. The Lean Startup methodology advocates continuous deployment, rapid A/B testing to validate hypotheses, and using the "Five Whys" technique to understand root causes of problems. Adopting these principles can help startups iterate quickly and reduce the risk of expensive failures.
Demand for software testers has grown manifold in recent years. Here is a list of reasons as to why it is a great career option for the youth or young IT enthusiasts
Gain a deeper understanding of what Exploratory Testing (ET) is, the essential elements of the practice with practical tips and techniques, and finally, ideas for integrating ET into the cadence of an agile process
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
Metrics - You are what you measure (DevOps Perth)Rob Crowley
DevOps is no longer just the concern of cutting edge start-ups in Silicon Valley and is gaining wide scale adoption within established industries. This session focuses on the Metrics pillar of DevOps and explores how we can leverage metrics to drive the software delivery process based on data rather than gut feel and opinions.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Demand for software testers has grown manifold in recent years. Here is a list of reasons as to why it is a great career option for the youth or young IT enthusiasts
Gain a deeper understanding of what Exploratory Testing (ET) is, the essential elements of the practice with practical tips and techniques, and finally, ideas for integrating ET into the cadence of an agile process
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
Metrics - You are what you measure (DevOps Perth)Rob Crowley
DevOps is no longer just the concern of cutting edge start-ups in Silicon Valley and is gaining wide scale adoption within established industries. This session focuses on the Metrics pillar of DevOps and explores how we can leverage metrics to drive the software delivery process based on data rather than gut feel and opinions.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Over the past couple of years we've migrated from a traditional, waterfall development process to more of an iterative one. At the same time we've moved from structured to object oriented programming languages. These are big transitions and we are proud to say that we've released our first .NET product built on an object oriented framework.
We have recently adopted the Lean Start-up Process first introduced by Eric Ries. This is a presentation I gave at our customer advisory board meeting that was adapted from Eric's presentation found here:
http://www.slideshare.net/startuplessonslearned/eric-ries-lean-startup-presentation-for-web-20-expo-april-1-2009-a-disciplined-approach-to-imagining-designing-and-building-new-products
Find us at http://exumatech.com or @ExumaTech
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
AgileCamp Dallas: Unpacking Business Value (Mironov)Rich Mironov
From the development side, we often think of Business Value as accurate, one-dimensional, and easy to auto-sort. We unpack this a bit, and try to get back to real customer value. Core analogy: is freeze-dried astronaut ice cream really ice cream? Do our paying customers care about business value points, or only real improvements they can directly experience?
A keynote at AgileCamp Dallas, 19 Oct 2015
ADDO19 - Automate or not from the beginning that is the questionEnrique Carbonell
ALLDAYDEVOPS 2019
Track: Cultural Transformation
Title: Automate or NOT from the beginning, that is the question...
Description:
The DevOps cultural movement, from its definition, has emphasized the importance of preserving order among the 3 pillars: "people → processes → technologies"; But is it feasible to follow this sequence and how can we put it into practice? Where to start the transformation of the ways of doing and generating value in the organization? Is there a golden rule to transform and achieve the adoption of DevOps in organizations? These are recurring questions when you start to implement something that everyone wants, but not everyone knows how achieve it.
Many bet to include tools, others for the organizational vision of the processes; but "where we want to go" is the key. The focus of this presentation is to begin with the definition of the business objectives and refine and correct them under the continuous feedback supported by the tasks of collaboration and automation. Some cases of our experiences will be shared about the DevOps services that are usually requested by clients and some of the points of failure of customer requirements that demonstrate that with measurement and continuous experimentation we can improve business metrics.
Lean is having an increasingly pervasive presence in the software world these days. Lean Software Development has its seven principles and seven wastes and promises to improve efficiency and quality. Many of the most innovative software development companies profess to have their philosophical home in Lean Startup's 'Build-Measure-Learn' approach, rather than Agile. But is Lean the same as Agile? And what about the proponents of Lean UX who are challenging the emerging orthodoxy of Agile SDLC frameworks with slogans like "Agile doesn't have a brain"?
In this session, we will explore the basic ideas of Lean thinking, similarities and differences between different flavors of Lean, how Lean can be applied to software development, and finally how Lean concepts can be used to expand the built-in 'inspect and adapt' cycles of Scrum to include learning about customer value.
DevOps: Using Metrics and QA Practices That MattersNetCom Learning
Join this session to delve into a detailed analysis of DevOps Metrics and QA Practices and demystify the most important quality metrics that separate DevOps and agile experts from their less advanced peers.
This presentation gives you an introduction on practices and habits associated with DevOps while sharing personal experience on starting a DevOps journey inside a large project team.
Over the past couple of years we've migrated from a traditional, waterfall development process to more of an iterative one. At the same time we've moved from structured to object oriented programming languages. These are big transitions and we are proud to say that we've released our first .NET product built on an object oriented framework.
We have recently adopted the Lean Start-up Process first introduced by Eric Ries. This is a presentation I gave at our customer advisory board meeting that was adapted from Eric's presentation found here:
http://www.slideshare.net/startuplessonslearned/eric-ries-lean-startup-presentation-for-web-20-expo-april-1-2009-a-disciplined-approach-to-imagining-designing-and-building-new-products
Find us at http://exumatech.com or @ExumaTech
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
AgileCamp Dallas: Unpacking Business Value (Mironov)Rich Mironov
From the development side, we often think of Business Value as accurate, one-dimensional, and easy to auto-sort. We unpack this a bit, and try to get back to real customer value. Core analogy: is freeze-dried astronaut ice cream really ice cream? Do our paying customers care about business value points, or only real improvements they can directly experience?
A keynote at AgileCamp Dallas, 19 Oct 2015
ADDO19 - Automate or not from the beginning that is the questionEnrique Carbonell
ALLDAYDEVOPS 2019
Track: Cultural Transformation
Title: Automate or NOT from the beginning, that is the question...
Description:
The DevOps cultural movement, from its definition, has emphasized the importance of preserving order among the 3 pillars: "people → processes → technologies"; But is it feasible to follow this sequence and how can we put it into practice? Where to start the transformation of the ways of doing and generating value in the organization? Is there a golden rule to transform and achieve the adoption of DevOps in organizations? These are recurring questions when you start to implement something that everyone wants, but not everyone knows how achieve it.
Many bet to include tools, others for the organizational vision of the processes; but "where we want to go" is the key. The focus of this presentation is to begin with the definition of the business objectives and refine and correct them under the continuous feedback supported by the tasks of collaboration and automation. Some cases of our experiences will be shared about the DevOps services that are usually requested by clients and some of the points of failure of customer requirements that demonstrate that with measurement and continuous experimentation we can improve business metrics.
Lean is having an increasingly pervasive presence in the software world these days. Lean Software Development has its seven principles and seven wastes and promises to improve efficiency and quality. Many of the most innovative software development companies profess to have their philosophical home in Lean Startup's 'Build-Measure-Learn' approach, rather than Agile. But is Lean the same as Agile? And what about the proponents of Lean UX who are challenging the emerging orthodoxy of Agile SDLC frameworks with slogans like "Agile doesn't have a brain"?
In this session, we will explore the basic ideas of Lean thinking, similarities and differences between different flavors of Lean, how Lean can be applied to software development, and finally how Lean concepts can be used to expand the built-in 'inspect and adapt' cycles of Scrum to include learning about customer value.
DevOps: Using Metrics and QA Practices That MattersNetCom Learning
Join this session to delve into a detailed analysis of DevOps Metrics and QA Practices and demystify the most important quality metrics that separate DevOps and agile experts from their less advanced peers.
This presentation gives you an introduction on practices and habits associated with DevOps while sharing personal experience on starting a DevOps journey inside a large project team.
Slides from the talk at BLN CEO Tales by Eric Ries, The Lean Startup, 16th January 2012.
Also includes supporting material including: 'The myths of lean'.
Thanks to DFJ Esprit, TechCity, Brown Rudnick, Fidelity Growth Partners, Microsoft BizSpark, Red Gate and Springboard - for making such an excellent evening possible.
For more information about BLN events in the UK and US: http://thebln.com
Eric Ries sllconf keynote: state of the lean startup movementEric Ries
Presentation by Eric Ries to kick off the 2011 Startup Lessons Learned conference #sllconf. Livestream here: http://www.justin.tv/startuplessonslearned
Similar to Ericriesleanstartuppresentationforweb2 (20)
Personal Brand Statement:
As an Army veteran dedicated to lifelong learning, I bring a disciplined, strategic mindset to my pursuits. I am constantly expanding my knowledge to innovate and lead effectively. My journey is driven by a commitment to excellence, and to make a meaningful impact in the world.
What are the main advantages of using HR recruiter services.pdfHumanResourceDimensi1
HR recruiter services offer top talents to companies according to their specific needs. They handle all recruitment tasks from job posting to onboarding and help companies concentrate on their business growth. With their expertise and years of experience, they streamline the hiring process and save time and resources for the company.
Improving profitability for small businessBen Wann
In this comprehensive presentation, we will explore strategies and practical tips for enhancing profitability in small businesses. Tailored to meet the unique challenges faced by small enterprises, this session covers various aspects that directly impact the bottom line. Attendees will learn how to optimize operational efficiency, manage expenses, and increase revenue through innovative marketing and customer engagement techniques.
As a business owner in Delaware, staying on top of your tax obligations is paramount, especially with the annual deadline for Delaware Franchise Tax looming on March 1. One such obligation is the annual Delaware Franchise Tax, which serves as a crucial requirement for maintaining your company’s legal standing within the state. While the prospect of handling tax matters may seem daunting, rest assured that the process can be straightforward with the right guidance. In this comprehensive guide, we’ll walk you through the steps of filing your Delaware Franchise Tax and provide insights to help you navigate the process effectively.
Attending a job Interview for B1 and B2 Englsih learnersErika906060
It is a sample of an interview for a business english class for pre-intermediate and intermediate english students with emphasis on the speking ability.
Falcon stands out as a top-tier P2P Invoice Discounting platform in India, bridging esteemed blue-chip companies and eager investors. Our goal is to transform the investment landscape in India by establishing a comprehensive destination for borrowers and investors with diverse profiles and needs, all while minimizing risk. What sets Falcon apart is the elimination of intermediaries such as commercial banks and depository institutions, allowing investors to enjoy higher yields.
Remote sensing and monitoring are changing the mining industry for the better. These are providing innovative solutions to long-standing challenges. Those related to exploration, extraction, and overall environmental management by mining technology companies Odisha. These technologies make use of satellite imaging, aerial photography and sensors to collect data that might be inaccessible or from hazardous locations. With the use of this technology, mining operations are becoming increasingly efficient. Let us gain more insight into the key aspects associated with remote sensing and monitoring when it comes to mining.
The world of search engine optimization (SEO) is buzzing with discussions after Google confirmed that around 2,500 leaked internal documents related to its Search feature are indeed authentic. The revelation has sparked significant concerns within the SEO community. The leaked documents were initially reported by SEO experts Rand Fishkin and Mike King, igniting widespread analysis and discourse. For More Info:- https://news.arihantwebtech.com/search-disrupted-googles-leaked-documents-rock-the-seo-world/
Affordable Stationery Printing Services in Jaipur | Navpack n PrintNavpack & Print
Looking for professional printing services in Jaipur? Navpack n Print offers high-quality and affordable stationery printing for all your business needs. Stand out with custom stationery designs and fast turnaround times. Contact us today for a quote!
1. The Lean Startup
#leanstartup
Eric Ries (@ericries)
http://startuplessonslearned.blogspot.com
2. Thank You!
• Scholarship Donors
– KISSmetrics
– Bill Braasch
(@billmelater)
– Bob Aniello
(@CornOnTheBob)
• Customer Advisory
Board
– Hiten Shah
– Jared Goralnick
– Siqi Chen
– Andrew Meyer
– Simon Newstead
– Jeffrey Barman
– Sean Heywood
3. Most Startups Fail
• But it doesn’t have to be that way. We can do
better. This talk is about how.
4. The Lean Startup and You
• Thinking of starting a new company, but
haven’t taken the first step
• In a startup now and want to iterate faster
• Want to create the conditions for lean
innovation inside a big company
7. A good plan?
• Start a company with a compelling long-term
vision.
• Raise plenty of capital.
• Hire the absolute best and the brightest.
• Hire an experienced management team with tons
of startup experience.
• Focus on quality.
• Build a world-class technology platform.
• Build buzz in the press and blogosphere.
8. Achieving Failure
• Company failed utterly, $40MM and five years
of pain.
• Crippled by “shadow beliefs” that destroyed
the effort of all those smart people.
12. A good plan?
• Start a company with a compelling long-term
vision.
• Raise plenty of capital.
• Hire the absolute best and the brightest.
• Hire an experienced management team with tons
of startup experience.
• Focus on quality.
• Build a world-class technology platform.
• Build buzz in the press and blogosphere.
15. New plan
• Shipped in six months – a horribly buggy beta
product
• Charged from day one
• Shipped multiple times a day (by 2008, on
average 50 times a day)
• No PR, no launch
• Results: 2007 revenues of $10MM
16. Lean Startups Go Faster
• Commodity technology stack, highly leveraged
(free/open source, user-generated content,
SEM).
• Customer development – find out what
customers want before you build it.
• Agile software development – but tuned to
the startup condition.
17. Commodity technology stack
• Leverage = for each ounce of effort you invest
in your product, you take advantage of the
efforts of thousands or millions of others.
• It’s easy to see how high-leverage technology
is driving costs down.
• More important is its impact on speed.
• Time to bring a new product to market is
falling rapidly.
18. Customer Development
Continuous cycle of customer
interaction
Rapid hypothesis
testing about market,
pricing, customers, …
Extreme low cost, low
burn, tight focus
Measurable gates for
investors
http://bit.ly/tpTtE
19. A tale of two startups, revisited
• Mirrors the changes in development
methodologies over the past few years.
• Let’s look at those changes schematically.
• These examples are drawn from software
startups, but increasingly:
– All products require software
– All companies are operating in a startup-like
environment
20. Traditional Product Development
Unit of progress: Advance to Next Stage
Waterfall
Requirements
Design
Problem: known Solution: known
Implementation
Verification
Maintenance
21. Unit of progress: a line of working code
“Product Owner” or
in-house customer
Agile
Problem: Known Solution: Unknown
22. Product Development at Lean Startup
Unit of progress: validated learning about customers ($$$)
Problem: Unknown Solution: Unknown
24. How to build a Lean Startup
• Let’s talk about some specifics. These are not
everything you need, but they will get you
started
• Continuous deployment
• Split-test (A/B) experimentation
• Five why’s
25. Continuous Deployment
IDEAS
LEARN BUILD
DATA CODE
MEASURE
Code Faster
Continuous
Deployment
Measure Faster
Rapid Split Tests
Learn Faster
Five Whys Root
Cause Analysis
26. 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
• Work in small batches
• At IMVU, a large batch = 3 days worth of work
• Break large projects down into small batches
27. 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
When customers see a failure:
o Fix the problem for customers
o Improve your defenses at each level
28. Rapid Split Tests
IDEAS
LEARN BUILD
DATA CODE
MEASURE
Code Faster
Continuous
Deployment
Measure Faster
Rapid Split Tests
Learn Faster
Five Whys Root
Cause Analysis
29. Split-testing all the time
• A/B testing is key to validating your
hypotheses
• Has to be simple enough for everyone to use
and understand it
• Make creating a split-test no more than one
line of code:
if( setup_experiment(...) == "control" ) {
// do it the old way
} else {
// do it the new way
}
30. The AAA’s of Metrics
• Actionable
• Accessible
• Auditable
31. Measure the Macro
• Always look at cohort-based metrics over time
• Split-test the small, measure the large
Control Group (A) Experiment (B)
# Registered 1025 1099
Downloads 755 (73%) 733 (67%)
Active days 0-1 600 (58%) 650 (59%)
Active days 1-3 500 (48%) 545 (49%)
Active days 3-10 300 (29%) 330 (30%)
Active days 10-30 250 (24%) 290 (26%)
Total Revenue $3210.50 $3450.10
RPU $3.13 $3.14
32. Five Whys
IDEAS
LEARN BUILD
DATA CODE
MEASURE
Code Faster
Continuous
Deployment
Measure Faster
Rapid Split Tests
Learn Faster
Five Whys Root
Cause Analysis
33. Five Whys Root Cause Analysis
• A technique for continuous improvement of
company process.
• Ask “why” five times when something
unexpected happens.
• Make proportional investments in prevention
at all five levels of the hierarchy.
• Behind every supposed technical problem is
usually a human problem. Fix the cause, not
just the symptom.
34. There’s much more…
IDEAS
LEARN BUILD
DATA CODE
MEASURE
Code Faster
Unit Tests
Usability Tests
Continuous Integration
Incremental Deployment
Free & Open-Source Components
Cloud Computing
Cluster Immune System
Just-in-time Scalability
Refactoring
Developer Sandbox
Measure Faster
Split Tests
Clear Product Owner
Continuous Deployment
Usability Tests
Real-time Monitoring
Customer Liaison
Learn Faster
Split Tests
Customer Interviews
Customer Development
Five Whys Root Cause Analysis
Customer Advisory Board
Falsifiable Hypotheses
Product Owner Accountability
Customer Archetypes
Cross-functional Teams
Semi-autonomous Teams
Smoke Tests
Funnel Analysis
Cohort Analysis
Net Promoter Score
Search Engine Marketing
Real-Time Alerting
Predictive Monitoring
35. The Lean Startup
• You are ready to do this, whether you are:
– Thinking of starting a new company, but haven’t
taken the first step
– Are in a startup now that could iterate faster
– Want to create the conditions for lean innovation
inside a big company
• Get started, now, today.
36. Thanks!
• Startup Lessons Learned Blog
– http://startuplessonslearned.blogspot.com/
• Webcast: “How to Build a Lean Startup, step-by-step”
– May 1, 2009 at 10am PST
– http://www.oreillynet.com/pub/e/1294
• The Lean Startup Workshop
– An all-day event for a select audience
– May 29, 2009 in San Francisco
– Sign up at: http://bit.ly/a5uw8
Editor's Notes
Hi, I’m Eric Ries. I wan to talk to you today about one simple fact: that the vast majority of high-tech startups fail.
It does not have to be that way.
Read the stories of successful startups and, if the founders are willing to be honest, you will see this pattern over and over again. They started out as digital cash for PDAs, but evolved into online payments for eBay. They started building BASIC interpreters, but evolved into the world's largest operating systems monopoly. They were shocked to discover their online games company was actually a photo-sharing site.
Each of these companies were fortunate to have enough time, resources, and patience to endure the multiple iterations it took to find a successful product and market. The premise of the lean startup is simple: if we can reduce the time between these major iterations, we can increase the odds of success.
… remember that a startup is not a shrunken-down big company.
Start a company with a compelling long-term vision. Don't get distracted by trying to flip it. Instead, try and build a company that will matter on the scale of the next century. Aim to become the "next AOL or Microsoft" not a niche player.
Raise sufficient capital to have an extended runway from experienced smart money investors with deep pockets who are prepared to make follow-on investments.
Hire the absolute best and the brightest, true experts in their fields, who in turn can hire the smartest people possible to staff their departments. Insist on the incredibly high-IQ employees and hold them to incredibly high standards.
Bring in an expert CEO with outstanding business credentials and startup experience to focus on relentless execution.
Build a truly mainstream product. Focus on quality. Ship it when it's done, not a moment before. Insist on high levels of usability, UI design, and polish. Conduct constant focus groups and usability tests.
Build a world-class technology platform, with patent-pending algorithms and the ability to scale to millions of simultaneous users.
Launch with a PR blitz, including mentions in major mainstream publications. Build the product in stealth mode to build buzz for the eventual launch.
By hiring experts, conducting lots of focus groups, and executing to a detailed plan, the company became deluded that it knew what customers wanted. I remember vividly a scene at a board meeting, where the company was celebrating a major milestone. The whole company and board play-tested the product to see its new features first hand. Everyone had fun; the product worked. But that was two full years before any customers were allowed to use it. Nobody even asked the question: why not ship this now? It was considered naive that the "next AOL" would ship a product that wasn't ready for prime time. Stealth is a customer-free zone. All of the efforts to create buzz, keep competitors in the dark, and launch with a bang had the direct effect of starving the company for much-needed feedback.
Even though some aspects of the product were eventually vindicated as good ones, the underlying architecture suffered from hard-to-change assumptions. After years of engineering effort, changing these assumptions was incredibly hard. Without conscious process design, product development teams turn lines of code written into momentum in a certain direction. Even a great architecture becomes inflexible. This is why agility is such a prized quality in product development.
This is the most devastating thing about achieving a failure: while in the midst of it, you think you're making progress. This company had disciplined schedules, milestones, employee evaluations, and a culture of execution. When schedules were missed, people were held accountable. Unfortunately, there was no corresponding discipline of evaluating the quality of the plan itself. As the company built infrastructure and added features, the team celebrated these accomplishments. Departments were built and were even metrics-driven. But there was no feedback loop to help the company find the right metrics to focus on.
Do our actions live up to our ideals?
After our crushing failure, the founders of my next company decided to question every single assumption for how a startup should be built. Failure gave us the courage to try some radical things.
Based on that experience, and the experience of the other startups I have worked for, I now strongly believe there is a better way to create startups. I’ve called this vision the Lean Startup. It combines three key trends.
Ladder of inference
20
21
This is the core feedback loop that powers startups. Their goal is not to optimize the time it takes to do any one of these steps.
There are many specific practices that can power lean startups, and we’ll cover a few in this presentation. But more important than any specific practice is this core idea: startups should be built to learn.
Run tests locally:
-- Sandbox includes as much of production as humanly possible (db, memcached, Solr, Apache).
-- Write tests in every language. We use 8 different test frameworks for different environs. Otherwise you get fear and brittle.
-- Example kind of problem is that AJAX updater for site header. Seemingly innocuous change would break shopping experience.
CIT/BuildBot:
-- Simply don’t push with red tests. Even if the site is in trouble. Example Christmas site outage with memcache sampling.
-- Give an idea of the scale. 20 machine cluster, runs 10000 tests and 100,000’s of thousand of assertions on every change.
Incremental deploy:
-- Catch performance bugs and gaps in test coverage
Slow query in free tags. This started to drive database load higher on one MySQL instance due to contention and data size. Detected and rolled back before it affected users and before the database was hosed due to high load.
Changed transaction commit logic in foundation of the system. This passed all tests but caused registrations to fail in production due to subtle difference between sandbox and production. System detected drop in business metric in 1 minute and reverted the change
Alerting and Predictive Monitoring
Example: Second tier ISP to block our outbound email
Example: Rooms list performance time bomb
Example: Registration quality, second tier payment methods, invite mail success rates by service
Story: Anything that can go wrong will, so just catch it then fast.
When something goes wrong, we tend to see it as a crisis and seek to blame. A better way is to see it as a learning opportunity. Not in the existential sense of general self-improvement. Instead, we can use the technique of asking why five times to get to the root cause of the problem.
Here's how it works. Let's say you notice that your website is down. Obviously, your first priority is to get it back up. But as soon as the crisis is past, you have the discipline to have a post-mortem in which you start asking why:
1. why was the website down? The CPU utilization on all our front-end servers went to 100%
2. why did the CPU usage spike? A new bit of code contained an infinite loop!
3. why did that code get written? So-and-so made a mistake
4. why did his mistake get checked in? He didn't write a unit test for the feature
5. why didn't he write a unit test? He's a new employee, and he was not properly trained in TDD
So far, this isn't much different from the kind of analysis any competent operations team would conduct for a site outage. The next step is this: you have to commit to make a proportional investment in corrective action at every level of the analysis. So, in the example above, we'd have to take five corrective actions:
1. bring the site back up
2. remove the bad code
3. help so-and-so understand why his code doesn't work as written
4. train so-and-so in the principles of TDD
5. change the new engineer orientation to include TDD
Webcast: May 1
Workshop: May 29
Fliers up front
Discussion in web2open
Take a moment to close your eyes…
This is the core feedback loop that powers startups. Their goal is not to optimize the time it takes to do any one of these steps.
There are many specific practices that can power lean startups, and we’ll cover a few in this presentation. But more important than any specific practice is this core idea: startups should be built to learn.