Guys: I've been on vacation for a couple weeks, but I saw that there was an interesting exchange regarding XP and P5EE. I'd like to point out that using XP in the context of open source development has been covered by several writers. Perhaps they could inform your decisions. Here are a few links:
* An article on requirements solicitation in open source projects http://www.stsc.hill.af.mil/crosstalk/2000/jul/henderson.asp * A PDF document discussing distributed development using XP http://www.cs.wustl.edu/~mk1/DistributedXP.pdf * A Wiki on combining XP and OS http://c2.com/cgi/wiki?CombiningOpenSourceAndXp * An article on using XP and OS by the infamous "chromatic" http://linux.oreillynet.com/pub/a/linux/2001/05/04/xp_intro.html * An advogato article that draws some obvious parallels between XP and OS http://www.advogato.org/article/202.html I'll save you some time and summarize: While pure XP is almost impossible to use with OS, modified versions of it will work just fine. It stands to reason that this would be so. Under its surface, XP is really just a set of rules to play the software development game with. These rules create dynamic processes that cause us to create flexible, robust software. Open Source software, or more accurately, _distributed_ Open Source software development, suffers from some problems of interpersonal communications and (on occasion) lack of a true customer, but can still benefit from XP's dynamics. Also, in _A Practical Guide to Extreme Programming_, (ISBN 0-13-067482-6), the authors cover the problem of having no customer. Essentially, the person or persons who originally conceived of the product must proxy the To-Be-Determined customers. This represents a risk to theproject, as mentioned by others on this list, in that there will be less separation between the programmer team and the customer team. But if you consider the fact that P5EE's customers will be _programmers_ themselves, this risk should be minimal as long as the "visionary" can keep an objective viewpoint. What you need is a good test-bed application to prove P5EE's worth and usability, and I believe I saw that you'd started one. This would also help you enforce your standardized interfaces as your internal architecture changes. It would be rather silly to say that you must _always_ have a customer, since that would prevent software companies from creating software for sale. Just because no one asked for it, doesn't mean no one wants it. My own opinion is that you can only benefit from trying to use XP. Not pure XP, but P5EE's version of XP. Take what you can, and leave the rest. jpt
