Skip to main content

The Lean Startup by Eric Ries - Notes

Process to turn product insights into a great company?

Is determination, brilliance, great timing and above all great product is the mantra for fame and fortune?

Often a promising start leads to failure.
Most startups fail
Most new products are not successful
Most new ventures do not live up to their potential

Argues - assumption if we build it, they will come. When we fail, we have a ready made excuse:
 1. We didn't have the right stuff
 2. We weren't visionary enough
 3. Weren't in the right place at the right time.

Author rejects the above line of thinking and argues its the boring stuff what matters the most.
 ** Entrepreneurship is a kind of management. i.e. its dull, serious and bland.

IMVU model AKA Lean Startup model
Instead of spending years perfecting the product. Build a minimum viable product, an early product that is terrible, full of bugs and crash-your-computer yes really stabilty problems. Then ship it to customers way before its ready. And lastly ship/change product every day. Customer feedback was viewed as only one source of information about the product and overal vision. Preferred running experiments on the customers than to cater to their whims.

LS model is build on lean manufacturing, design thinking, customer development and agile development.
** LS represents new approach to creating continous innovation.

LS is catagorized by an
 1. extremely fast cycle time
 2. focus on what customer wants (without asking them)
 3. scientific approach to making decisions.

When products fail, engineers view these as technical problems that require technical solutions
 1. Better architecture
 2. Better engineering process
 3. Better discipline
 4. Focus
 5. Product vision
** These suppose fixes let to still more failures.

Business and marketing functions of a startup should be considered as important as engineering and product development and therefore deserve an equally rigorous methodology to guide them. (Customer Development)
  -- Steve blank

Lean Manufacturing - Innovated at Toyota is the bases for LS.

Lean Startup's five principles
 1. Entrepreneurs are everywhere   (Big org, garage)
 2. Entrepreneurship is management (Startup is institution not just product)
 3. Validated learning (Startups exists to learn how to build sustainable business)
 4. Build-Measure-Learn  (Idea-product, customer response-pivot/perservere)
 5. Innovation Accouting (hold innovators accountable)

 Why Startups Fail
  1. Allure of good plan, solid strategy and thorough market research.
     In earlier eras, these things were indicators of likely success.
     But startups work under uncertainty (don't know customers/product)

  ** More uncertainties mean un predictability.
  ** Chaos is not an answer.

 Book is divided into 3 sections.
 Vision     - gauge if they are making progress
 Steer      - Method to decide pivot/presevere
 Accelerate - Power of small batches.









Comments

Popular posts from this blog

Access multiple Databases in JPA

According to JPA specification we can define multiple "persistence-unit" elements (i.e. like below) in persistence.xml file and can easily refer them inside Dao layers as this. public class PolarDaoImpl {     @PersistenceContext(unitName="PolarPU")     protected EntityManager entityManager; -- } public class BearDaoImpl {     @PersistenceContext(unitName="BearPU")     protected EntityManager entityManager; -- } Checkout sample persistence.xml <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">     <!-- Database 1 -->     <persistence-unit name="PolarPU" transaction-type="RESOURCE_LOCAL">         <

JPA 2 new feature @ElementCollection explained

@ElementCollection is new annotation introduced in JPA 2.0, This will help us get rid of One-Many and Many-One shitty syntax. Example 1: Stores list of Strings in an Entity @Entity public class Users implements Serializable {     private static final long serialVersionUID = 1L;     @Id     @GeneratedValue(strategy = GenerationType.AUTO)     private Long id;     @ElementCollection     private List<String> certifications = new ArrayList <String> ();     public Long getId() {         return id;     }     public void setId(Long id) {         this.id = id;     }     public List <String> getCertifications() {         return certifications;     }     public void setCertifications(List <String> certifications) {         this.certifications = certifications;     } .. }         Users u = new Users();         u.getCertifications().add("Sun Certified Java Programmer");         em.persist(u); Generated Tables    Users    Co

Reuse JPA Entities as DTO

Note : Major design advantages of JPA Entities are they can detached and used across tiers and networks and later can by merged. Checkout this new way of querying entities in JPA 2.0 String ql = " SELECT new prepclass2.Employee (e.firstname, e.lastname) FROM Employee e "; List<Employee> dtos = em.createQuery(ql).getResultList(); The above query loads all Employee entities but with subset of data i.e. firstname, lastname. Employee entity looks like this. @Entity @Table(name="emp") public class Employee implements Serializable {     private static final long serialVersionUID = 1L;     @Id     @GeneratedValue(strategy = GenerationType.AUTO)     private Long id;     @Column     private String firstname;     @Column     private String lastname;     @Column     private String username;     @Column     private String street;     @Column     private String city;     @Column     private String state;     @Column     private String zipc