XP is the abbreviation, or 2-letter acronym for Extreme Programming. XP is a type of software methodology that is used today in the field of software development. "Extreme Programming is a discipline of software development with the values of simplicity, communication, feedback and courage. We focus on the roles of the customer, manager, and programmer and accord key rights and responsibilities to those in those roles." (Jeffries).
About four years ago, many software developers in the industry were frustrated with the "heavy" methodologies that were being used. They were so complex and time consuming that many of the projects they were undertaking seemed almost unattainable. This is when the paradigm in thinking switched from "heavy" methodologies to the "lightweight" methodologies. (sdmagazine article).
XP is an example of a "lightweight" methodology. It simplifies the process and also involves the customer. Both of these elements help to ensure successful projects. The customer is involved throughout the process and the project is also broken down into smaller attainable steps or goals that will aide the developer in completing the project. Not only is this plan simplistic in nature but it also allows for change throughout the process. XP is unlike other methodologies where change is considerably difficult, or almost impossible, after a certain point in the project. XP may also be used on both high and low risk projects. It factors in some risk analysis during the release-planning phase that will take into account weather the developer is working with confident or uncertain estimates. "XP empowers your developers to confidently respond to changing customer requirements, even late in the life cycle." (Wells).
Not only is XP a more simplified approach, it is also flexible in more ways than one. Software developers can change to the entire XP approach or they can incorporate some of the methods in the XP approach into the method that they are familiar with.