Extreme programming (XP) has received the most attention of all the light methodologies. This popularity is due in large measure to Kent Beck who is the principal author of the technique. Mr. Beck also has a remarkable ability to draw attention, meant in the most positive way, and the ability to entice others to use XP in their work. The fact that he introduced XP into a large, highly visible, and troubled project (Chrysler's C3 payroll project) and saved it from near certain failure made the technique a household word, at least in the software community. To some extent, the technique has been so popular that it has overshadowed many other equally effective techniques.
XP is a very disciplined process, which is both its strong and its weak point. The discipline is its strong point because any disciplined process is better than many of the chaotic practices that too often exist in software development. The particular discipline of this technique eliminates many common problems such as risks and testing issues. The disadvantage of the methodology is that many software developers find the process too rigid and find that they cannot function as well or as creatively. Therefore, whether the technique should be applied depends on how effectively the project manager leads the effort and whether the team can operate under such rigorous guidelines.
These practices are woven into the XP process so that each supports the others. The technique, as do all these light methodologies, depends heavily on communication and feedback, especially with the customer but also with the other stakeholders. The strongest point of the technique is that it requires the developer to write test plans as he is coding and then to test the code at short intervals. This testing approach results in a continuous integration and build process that yields a very stable platform.
Extreme programming is an evolutionary process that iterates into a basic, and very stable, platform. Another key element of XP is simplicity—simplicity of design and simplicity of coding. A major objective of XP development is to incorporate the simplest programming and routines possible that will satisfy the requirements, resulting in faster development and fewer defects. In addition to being its best and best-known champion, Kent Beck has also written the best reference book on the subject—Extreme Programming Explained: Embrace Change.
Kent Beck, Extreme Programming Explained: Embrace Change (Reading, Massachusetts: Addison-Wesley Publishing Company, 1999).