Saturday, January 21, 2012

The Lean Startup

As a firm follower of the Agile methodologies, I strongly believe in its fundamental premises: Get feedback within the same process.

Adopting Agile to drive our processes, we are in the road to deliver a high quality product to customers that will match their expectations, within aggressive time frames.  There is some essence in this philosophy that could be applied to many other fields: the continuous feedback loop. I am talking about driving a Startup based on Agile principles.

When I refer to startup, I mean the kind of company based on product development in which everything is uncertain: the customers, the market penetration, the acceptance by the community, etc...

So how agile methods and a startup could work together to achieve success?

In Eric Ries' "The Lean Startup", there is a remarkable central idea: the build-measure-learn loop. Sounds familiar? In Agile with Scrum, we used to have 'sprints', short-iterations in which we start by defining some specs to delivered, then comes the design, development and testing in the same time-frame. In this way, the process guarantees that if somethings goes wrong within the development of our product, according to customer expectation, we simply adjust the product in the following sprints, instead doing all the effort and  ending up with a waste of product.

So what happen when we don't have any defined customer who guide our product development. In the context of a startup, we still have to find who our customers are. We have a vision of a product to solve certain need, but we still don't know if our customers will be glad to pay for, or will be willing to use it, and if they will be recurrent users.

So a Lean Startup is what I call an Agile Startup, which is basically translating the same feedback mechanism. To do this, in Lean Startup we develop a product based on experiments. And experiment is like a sort of marketing research but more effective, in the sense that is real. We envision something: A new way of doing programming interviews by testing coding skills, but, without the need of an interviewer. We propose an hypothesis: Will recruiters accept the results given by this product with the same weight than a traditional human interview?

We have to test our hypothesis in a way we actually get feedback from users fast. We have to develop an MVP (minimum-viable-product), than in other worlds is known as a 'Demo' or a Trial, if this sounds too fancy, and give a try to potential customers (first-adopters), so that we can test our hypothesis, and adjust accordingly to customer feedback.

In an analogy, in programming we have specs, development and unit-testing. The specs are in a form of user-stories, we pick up one of them, we design a suitable architecture, we develop and write unit-tests and acceptance tests. When we refactor our code, our tests give us immediate feedback about any breaking changes. We deliver some specs and customer gives us feedback.

In Lean Startup, we have ideas (specs), build a product (development) and we measure the impact on customer by driving experiments (testing) to collect data and learn from it (feedback), so what we can adjust or ideas (specs) about the product.

Every term could be used interchangeably within the context of Agile software development and Lean Startups. Thus, I strongly believe that using Agile principles in a Startup will help us to steer our energies to what matters: To develop a successful product that will change the world.

A passion to innovate

I am a Software Engineer, a passionate fellow of the state-of-the-art technologies, the most modern practices and tools. I am 24, and as well as many other people, I pursue economical independence to dedicate myself to the things I really like to do, to spend valuable time with my friends and my young wife.

I believe that anything that we do should be driven by passion. Having long-term goals, and being so miserable in the road to achieve them, is not likely the way I want to choose. Accomplishing goals this way in exchange of 'recognition', will be granted for a small fraction of time, while in the middle I sacrificed everything: time, energy, money and friends.

To achieve our goals, the process should be as equal as enjoyable. It has to be a constant learning process, a true motivator.

I think, among others, that the most rewarding work is running your own company. You can innovate, you keep in touch with partner that become your friends, you share your vision with other people, you defend your ideals, and you hard work to see your idea coming true.