Extreme programming (XP) is basically a methodology of software development that maximizes programming efficiency. It can be used in any project by almost anyone, but is perhaps best suited for "small groups of programmers." This site offers a very thorough overview of the techniques involved in XP, beginning with a general introduction and explaining what it is and why it is beneficial. Then,...