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.
No comments:
Post a Comment