My first reaction was a chuckle. I've been doing this for 13 years. I've written business applications for pharmacies, youth sports organizations, in the healthcare industry and other commercial ventures. The Extreme Programming model is by far the most flexible and productive method.
XP takes the traditional practices taught by the 'computer scientists' and makes them useful in the real world.
Customers don't always know what they want, and XP allows the project to flex as the customer gets a clearer definition of what really is important for their system.
Reducing the front-end design process and folding it into the development cycle saves time and money in the long run as useless features are not implemented and new useful features can be added to the process without starting over.
Working with a second programmer is (for me) a productivity booster. Not every programmer does things the same way, a major roadblock for one person may have a simple solution produced by another. There is a certain synergy that happens when true XP programmers get together.
I now work for an extremely successful Independant Physcians Association. When the time came to buy an update to our software we had the choice of spending hundreds of thousands (or millions) of dollars on a new off-the-shelf software for claims and referral management, or develop our own. We choose the later using the XP process with positive results. Two major (national) insurance companies have been forced to pull out of our market because they couldn't make it financially. We absorbed their market and are still showing as one of the most successful organizations in our state. The XP model allows us to move with the market as the healthcare industry moves away from the HMO model and into it's next methodology. Without XP we would be looking for another off-the-shelf package to handle the changes, with XP we adapt, grow and move with the market.