Agile Glossary

Customer Development

What is Customer Development?

Customer development is a four-step framework, originally identified by Steve Blank, to discover and validate that you have identified a need(s) that customers have built the right product to satisfy that customer’s need(s), tested the correct methods for acquiring and converting customers, and deployed the right resources in the organization to meet the demand for the product. The framework provides a way to use a scientific approach to validate assumptions about your product and business.

The four steps of the framework are:

  1. Customer discovery – Understand customers and their needs that you may be able to satisfy.
  2. Customer validation – You have a product that will satisfy your customer’s needs.
  3. Company creation – You determine whether your product will satisfy all the customers’ needs
  4. Company building – You can grow your organization in order to support the demand for your product.

The Lean Startup approach combines customer development, which is helpful when you don’t know the problem, and agile development, which is helpful when you don’t know the solution. Both approaches provide ways to iteratively validate assumptions and learn through feedback.

The first step of customer development, customer discovery, is the part of the framework that plays the biggest part in Lean Startup and has also been shortened to “discovery” by some in the agile community. Customer discovery helps you determine whether you understand the need you are trying to satisfy and whether you are satisfying the right need.

Customer discovery can be described as:
1. Identify the need.

You may not always immediately know the actual need you are trying to satisfy. In some cases, you start with a solution (product idea), at which point you need to work backward to figure out the need you are really trying to satisfy.

2. Hypothesize potential solutions.

Once you have an understanding of the true need, hypothesize a potential solution. If you were initially handed a solution to deliver, you can include that as a candidate, but you may find that the need you’re satisfying requires a completely different solution.

3. Identify assumptions.

Identify assumptions that are central to your hypothesized solution, including assumptions about

  • Business environment
  • Dependencies
  • Minimum requirements for a solution
  • Change management required

A helpful way to identify assumptions is to ask, “What must be true for this solution to be effective?”

4. Validate assumptions.

Talk to customers and gather data to validate your assumptions and test your solution. There are many different ways you can go about validating assumptions.

5. Start delivering.

Once you feel you have validated a sufficient number of assumptions, start delivering a minimal, yet viable, solution and get frequent feedback from your customers on whether the solution meets their needs.

6. Constantly reevaluate your solution.

Constantly reevaluate your solution to make sure it is still worthwhile based on new information that comes to light. Regularly ask whether you should commit to, transform, or kill the solution.


Also Known As

While not completely interchangeable as terms, close analogs to customer development at least with respect to the intended outcome, are the ideas of discovery, and Lean UX.


Expected Benefits

The primary benefits to customer development are that it provides a team with an approach to take to validate assumptions, and it provides a way to go about determining whether the team is delivering the right thing.


Common Pitfalls

The most common pitfall related to customer development is that teams do not use it. Instead, they fall in love with their product (the solution) without understanding which, if any, needs it satisfies. The result is a product without a market, or with a smaller market than anticipated and potential business issues.


When Applicable

Customer development was initially described in the context of technology startups, however, the idea of building a shared understanding of customers and their needs prior to creating a product is applicable to all businesses and can even be applied to more established organizations that seek to introduce new products.

The approach to validating assumptions described as customer development can also be used in internal product situations, however, the team in those cases knows there is a problem to solve, they just may not have clearly stated it or fully assessed whether the problem is worth solving.

In new product development settings, customer development is especially helpful to determine if there is a problem that needs to be solved and whether there is a product idea that can solve that problem in a valuable manner.


Origins

2005: Steve Blank introduces the concept of customer development in his book The Four Steps to the Epiphany. This book is based on actions he saw several start-ups take to launch products.

2011: Customer development sees a much broader audience when Eric Ries describes it as a key piece of Lean Startup (in conjunction with agile software development) in his book The Lean Startup


Further Reading

The Entrepreneur’s Guide to Customer Development By Brant Cooper and Patrick Vlaskovits

The Four Steps to the Epiphany by Steve Blank

The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses by Eric Ries

Add to Bookmarks Remove Bookmark
Add to Bookmarks Remove from Bookmarks
Add to Bookmarks Remove from Bookmarks

Thank you to our Annual Partners​

Join us today!

Agile Alliance offers many online and in-person events and workshops for our members. If you’re not currently a member, you can join now to take advantage of our many members-only resources and programs.

Get the latest Agile news!

  • This field is for validation purposes and should be left unchanged.

By subscribing, you acknowledge the Agile Alliance Privacy Policy, and agree to receive our emails.

Additional Agile Glossary Terms

An acceptance test is a formal description of the behavior of a software product, generally expressed as an example or a usage scenario. A number of different notations and approaches have been proposed for such examples or scenarios.
Test-driven development (TDD) is a style of programming where coding, testing, and design are tightly interwoven. Benefits include reduction in defect rates.
The team meets regularly to reflect on the most significant events that occurred since the previous such meeting, and identify opportunities for improvement.
A product backlog is a list of the new features, changes to existing features, bug fixes, infrastructure changes or other activities that a team may deliver in order to achieve a specific outcome.
An acceptance test is a formal description of the behavior of a software product, generally expressed as an example or a usage scenario. A number of different notations and approaches have been proposed for such examples or scenarios.
Test-driven development (TDD) is a style of programming where coding, testing, and design are tightly interwoven. Benefits include reduction in defect rates.
The team meets regularly to reflect on the most significant events that occurred since the previous such meeting, and identify opportunities for improvement.

Help us keep the definitions updated

Discover the many benefits of membership

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

Not yet a member? Sign up now