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

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
Column --> ID
    Row             1

Users_CERTIFICATIONS

Validating CSV Files

What is CsvValidator ?
  A Java framework which validates any CSV files something similar to XML validation using XSD.

Why should I use this ?
  You don't have to use this and in fact its easy to write something your own and also checkout its source code for reference.

Why did I write this ?
  Some of our projects integrate with third party application which exchanges information in CSV files so I thought of writing a generic validator which can be hooked in multiple projects or can be used by QA for integration testing.

What is the license clause ?
GNU GPL v2

Are there any JUnit test cases for me checkout ?
 Yes, source

How to integrate in my existing project ?

Just add the Jar which can be downloaded from here CsvValidator.jar and you are good.

Instantiate CsvValidator constructor which takes these 3 arguements

         // filename is the the file to be validated and here is a sample         // list - defines all the fields in the above csv file ( a field has index, type, isOptional, rege…

ArrayList vs LinkedList vs HashSet Performance Comparision

ConclusionsInserting & Reading sequentially from Collection prefer LinkedList/ArrayListInserting & Reading/Deleting by Search/equals from Collection prefer HashSetInserting, ArrayList & LinkedList performs best while HashSet takes double the timeReading, HashSet performs best while ArrayList & LinkedList are marginally lessDeleting, HashSet performs 10 times better than ArrayList & ArrayList performs 4 times better than LinkedList. LinkedList is slow because of sequencial search Bottom line : unless you are not going to iterate using for(Integer i : list ) then prefer HashSet
Inserting/Reading/Deleting integer's from zero till countJDK7Collectionactioncounttime msArrayListInsert1000/1LinkedListInsert1000/1HashSetInsert1000/1ArrayListInsert100005LinkedListInsert100004HashSetInsert100007ArrayListInsert10000011LinkedListInsert10000011HashSetInsert10000021ArrayListGet/Read1000LinkedListGet/Read1000HashSetGet/Read1000ArrayListGet/Read100004LinkedListGet/Read100003Has…