I've seen a couple of mentions of XP in this thread and, while I haven't looked into too deeply, I'm not sure of its utility for certain projects.
One project that I'm currently working on requires some very difficult database design with products that have widely varying specifications. Books have bindings and a publisher, fishing lures have type of material and the type of fish they're for, clothes have sizes, etc. Because the nature of the products that we get in will change dramatically, creating separate tables for each will not be an option (not to mention that this would violate first normal form and cause us a lot of headaches). As a result, I've "conceptualized" a scheme where each attribute would be in a separate table and I would have a lookup table matching products and attributes. This seems easy, but then we wind up with display problems. How do we organize a variable number of product attributes in an aesthetically pleasing and comprehensible way for the end user. Also, we need to access information regarding the structure of the database so that when we dynamically generate input forms for our dealers, we don't need to worry about them entering a 2000 word description for an item that only takes 255 characters. This seems to imply a lot of careful design work up front, but XP seems to slough that off in favor of tests. I really don't see how one skips designing complicated systems in favor of testing it. How do you manage that?
Vote for paco!
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.