9 September 2008

Keeping the Customer in the Product Loop

Customer collaboration is a cornerstone of agile development, but it is also one of the more difficult aspects of implementing agile. Of course, lack of customer involvement isn't unique to agile development -- software developers have had problems in this area ever since software entered organizational life. Agile developers insist on high levels of customer involvement, but they also assist in encouraging that involvement by delivering tangible, running software each iteration. Although the problems are similar with internal IT development and software product development, the involvement of customers is different enough that I'll separate the analysis.

First, consider customer involvement in commercial software product development -- essentially development for direct sale to a market, either retail or industrial. When we discuss customer involvement, it's best first to define a few terms. The team responsible for customer involvement might be called the product team and is typically led by a product owner or product manager. The product manager/owner is usually an internal person and is responsible for involving external customers at the appropriate time in the development process. One problem product managers have is that their job is often schizophrenic -- there is an external, market-facing aspect to the job and an internal development team-facing role. The agile requirement of day-to-day product team involvement just doesn't fit with the role of most product managers, so another primarily internal-facing position is often required: a product analyst. The product team usually consists of part-time subject-matter experts as well, who help in defining requirements for the product.

Now another problem arises. The product team, as it is populated with product owners, product analysts, part-time customers, and a few well-intentioned subject-matter experts, often begins isolating the development team from the actual customer. When the customer tells the product manager something, the product manager passes it along to the product analyst, and then the product analyst passes it along to the development team; communication errors creep in. Frequent feedback to the real customer is critical in correcting problems in these situations -- in the form of demos or focus group reviews of the evolving product. However, in big commercial companies, another person also becomes involved: the sales account manager (or even the account team). The last thing many account managers want is "unsupervised" techies talking to the customer and telling them something that they did or didn't vet.

I once did a chartering session for the client of a large commercial systems house. The sales account manager sent so many account people to the meeting I had to push very hard with the senior client manager to have some of them removed. While the concerns of the account manager and the product manager (not wanting anyone to slip and tell too much about the next release, for example) are valid, these concerns can clog the communications among members of the development team (and much of the product team also) to the point where having frequent focus group reviews with the customer become difficult, if not impossible.

Given the problems of getting the end customer involved, many organizations give up and let the product team take over nearly all customer interaction responsibilities. Herein lies potential disaster. Over time, the product team itself becomes dissociated from the real customer and begins to think they know what the customer wants. Development teams have been down this road before, and know that trying to "be" the customer seldom works. No team external to the customer has the depth of understanding of the customer's business. For short periods, the product team may be on track, but lack of frequent customer feedback usually leads to problems -- in particular with complex, state-of-the-art applications.

I welcome your comments on this issue of the Cutter Edge and encourage you to send your insights on the market in general to me at jhighsmith@cutter.com.

-- Jim Highsmith, Director, Agile Product & Project Management Practice

Keeping the Customer in the Product Loop

Advice and Analysis

The Cutter Edge is a free biweekly email service that gives you information and advice that you can put to work immediately for your organization. Issues are written by Cutter Consortium's journal and Senior Consultants.

Sign Up for the Cutter Edge

Advisor Free Trial

Sign up for a free, 4-week trial to any or all of our Advisor newsletters.

Sign Up