ExtremeProgramming strongly builds on customer involvement. What are the risks? ---- AlanCooper, in TheInmatesAreRunningTheAsylum (p. 220), speaks about ''the customer-driven death spiral'': * There is a big difference between ''listening to'' and ''following'' your customers. Listening is good -- following is bad. * Customer-driven products lack what FredBrooks calls ConceptualIntegrity, a single-minded vision which is the key to success. * When you are customer-driven, your product mutates from one release to the next, instead of growing in an orderly manner. The product ends up filled with mismatched parts and random features, and becomes a ''dog's breakfast''. Customers may buy it, but there will be little love in the product. -- ArieVanDeursen ---- Doesn't most XP writing focus on one-off development (for a single customer) rather than product development? Doesn't Alan Cooper's point concern product development, where you sell the same piece of software to a great many customers? In one-off development, the customer pays for the development. It's as simple as that. The customer asks for ''X,'' you develop ''X,'' you get paid for ''X,'' and you're happy. In product development, you split development costs across many customers. You develop the product, and you aren't happy unless a whole lot of customers pay for it. Consequently you have to market the product: you have to send a message to the marketplace that is so bold and simple that your potential customers will hear it over all the noise. In one-off development, you don't have that problem. A big risk for a one-off customer is that the developer will try to make the user interface as high-quality and conceptually unified as Alan Cooper could make it. For most projects, that just isn't worth it. --BenKovitz ---- There is often a substantial gap between what the customer ''asks for'' and what the customer actually ''wants''. A primary function of the analyst/designer/whatever you want to call him or her is to intelligently bridge that gap. In that regard, being able to listen to--yet not blindly follow--the customer is an important skill. This is just as true in one-off, custom projects as it is in mass-market software. --SteveSchafer ---- CategoryCustomer