Friday, March 30, 2007

Waterfall, Market Research, and Requirements

Over at the Product Management View, Joel St-Denis recently wrote:

My personal opinion is that the Waterfall approach to development is better aligned with the responsibilities of solid product management, as it provides more reasonable periods of time to properly research your market and better define your requirements.
While I agree that dedicating sufficient time to market research and requirements definition is important, I do not agree with Joel that a waterfall approach to product development is advantageous. In fact, I believe that a waterfall approach hinders valuable market research and requirements definition.

Waterfall approaches assume a phase-by-phase sequence to product development. Your product manager researches the market and defines the requirements, and the development team analyzes the requirements and domain, designs the product, implements it, and tests it. By definition, once the team finishes a phase, it moves on to the next phase and does not revisit previous phases.

Agile approaches, by contrast, assume an iterative approach. The team performs the same activities as in waterfall but iterates on them (revisits each phase repeatedly and incrementally produces a demonstratable version of the product). The assumption is that, after some initial research, the best way to learn about the needs of the market and the challenges in meeting them is to put something in front of the customer.

Go here for more details on the difference between waterfall and agile approaches to product development.

I suspect Joel is unaware of the primary rationale for an agile approach. The main reason to use an agile approach is precisely so the product manager has an opportunity to "test" the market and thereby better understand its needs. To the extent the product manager dedicates less time researching the market up front (BUFR), she spends more time getting valuable feedback after each iteration of development.

Market research is notoriously unreliable when it focuses on abstractions or hypotheticals. A truly innovative product is by definition a hypothetical before it is developed. If they are dormant, even the market problems that the product solves may be too abstract to research reliably and comprehensively.

The way to make market research reliable is to make it more concrete and more real. Your product manager should research the market before product development begins. After a point, however, the best research tool at her disposal is a demonstration of a working product. A demonstration makes the research concrete and real.

By arming her with concrete and real product demonstrations after each iteration, an agile approach to product development enables your product manager to conduct reliable, comprehensive market research.

No comments :