Posted on November 26, 2012

The Logic of Agile Development & Lean Start-Ups: Validation Trumps Verification

Launching a technology start-up involves two basic processes: 1) identifying customer needs and 2) creating a product which satisfies them. The “lean” start-up philosophy states that we can accelerate product development and minimize waste by viewing these two processes as interacting parts of a feedback loop. Lean Start-Ups elicit customer needs by releasing product prototypes, and then use the collected customer feedback to re-design a new iteration for re-release, which begins another cycle of the loop.  This process can be conceptualized as a 3-step sequence of build-release-revise:  build a beta prototype, release it to a small set of customers to elicit feedback, and then apply insights extracted from that feedback to revise hypotheses about customer needs and develop a new prototype.  The iterative nature of the build-release-revise cycle allows product development teams to experiment with alternative designs and gradually tailor a product to fit customer needs.

This “agile” development approach is  well-suited to the mission of start-ups: to search for a new way to satisfy customer needs. Start-ups’ main barrier to growth is not in writing the code necessary to build a working product. Rather, their main challenge is to gain a unique insight into customer needs which enables them to design a product that satisfies those needs in a novel way. The engineering approach of start-ups must be modified to reflect that the product’s design cannot be specified before development begins. In the terminology of systems engineering, this means that start-ups must focus on “validation” rather than “verification” in new product development. Validation is checking that a system satisfies customers’ actual needs. This is hard to accomplish because customer needs tend to entail nuances that are difficult to capture explicitly. Verification is the process of checking that a system functions as described in its technical specifications. It is comparatively easier to accomplish because fairly well-established procedures exist for testing software’s functionality.

The agile approach leverages the relative simplicity of coding multiple iterations in order to overcome the primary challenge of validation.  Articulating off the top of our heads what we need and want out of a new technology is so difficult that we have to assume it will require some trial and error. Allowing potential customers to interact with a functioning prototype of a system is one way to elicit feedback and quickly recognize errors. Once we validate products through this cycle, we can transition our focus to verifying the system’s conformance to technical specifications and reliability standards.

By repeating the build-release-revise cycle until product-market fit has been confirmed, we acquire the evidence we need to justify pumping cash into marketing. The lean start-up model thus allows management to be more deliberate in picking the right moment for the mass-release of a new product.