Wednesday, October 05, 2005

"Delivering Product"

In a previous entry, I mentioned that, when you use an agile product development process, you deliver "a working version of the product for review" at the end of each iteration. I mentioned in a later entry that Alistair Cockburn criticizes organizations that claim to use agile methods but don't deliver product at the end of their so-called iterations.

What does it mean to deliver a working version of your product to customers? What is the point of iterating if you "deliver product" after the first iteration?

The crux of the matter is that you should be able to demonstrate at the end of an iteration how a customer would use your product to address customer problems. So "working version" doesn't mean one that is ready for sale to the customer, but just one that is ready for demonstration. For a software product, that demonstration might include showing some hard-coded mock-ups in place of screens developers haven't yet implemented.

2 comments:

Scott Sehlhorst said...

The key here is that you deliver something which enables learning. That could be product to customers, betas or prototypes to select customers, or something to stakeholders.

Regardless, the litmus test is - did you learn something which caused you to change what you're doing (or how you're doing it)?

Roger Cauvin said...

Exactly. Learning and nimble adjustments based on what's learned.

As I mentioned in the previous blog entry, Agile Product Management developers can learn from discoveries during design and implementation. Perhaps more importantly, product managers can discover requirements they hadn't previously considered (particularly requirements corresponding to problems to avoid, not just problems to solve).

This learning can take place regardless of whether we deliver the product to internal or external stakeholders. The feedback or behavior of external stakeholders that are actual target users can in many cases be more reliable. But it's not always necessary.

With lean startup methods, we cast a wider net: a learning loop that encompasses the entire product strategy (including marketing and sales).