Friday, August 11, 2006

Extreme Product Management (XPM)

In the latest issue of productmarketing.com, Barbara Nelson and Stacey Mentzel wrote about extreme product management (XPM). I'm glad to see respected product management folks write about this topic.

Nelson and Mentzel spell out many of the reasons that developers have opted for agile development methods. Some of these reasons are reactions to poor product management, such as unreadable requirements documents and constantly-changing requirements. And the authors explore various ways that a product manager can work constructively with teams that practice agile development.

Nonetheless, I have a couple of issues with the article.

First, the article defines XPM as:

XPM is using the minimum process and creating the minimum artifacts to deliver products people want to buy.
I find this definition unfortunate. The choice of words "extreme product management" renders it an obvious analog to extreme programming (XP). While part of XP is to generate minimal formal artifacts, it is much more. XP involves the application of many practices, including writing tests first, small iterations instead of a waterfall approach, frequent integration, and frequent releases. Any definition of XPM that fails to incorporate these concepts is misleading.

Second, the article seems to endorse an "agile waterfall" approach:

With a solid roadmap in place and stable market requirements, we should be able to review and complete market and functional requirements at the start of a project. Then, Development can iterate through implementation and testing while Product Management is preparing for the next release cycle. Since Development reaches a point where the entire release is designed, they can set a good target date and free Product Management to focus on promotions and the next big thing.
This approach fails to engage the product manager in one of the most important lessons of agile: requirements are almost never stable or completely understood. Product managers must iterate on the requirements in the same manner as developers iterate on the implementation. The end of each iteration yields the product manager something of tremendous value - a demonstratable version of the product that can reveal gaps in the requirements.

The product manager shouldn't just hand off the market requirements to the development team and re-engage after development has finished its iterations. Instead, after eliciting and documenting an initial set of requirements, the product manager should engage, at a minimum, after each iteration. She should revisit and update the requirements to reflect new discoveries. She should also recalibrate the requirements to reflect more educated estimates of how long it will take to implement them.

Read more about how and why we at Cauvin, Inc. practice agile (though not necessarily "extreme") product management here.

UPDATE: You may read a followup on this topic here.

No comments :