What Is Extreme Programming
Extreme Programming is a software development methodology that was created to address the frequent failures of software projects around the globe. Some of the reasons attributed for such failures were worst case scenario, belly up, and wash out. In the case of worst case scenarios, the projects were not being completed at all; in the case of belly up, while the budgets had overshot, the project failed to accomplish the goals. Finally, in the case of costly wash out, as the very term implies, the project got washed out after great costs had been incurred.
Some research studies such as the Standish CHAOS Report found that the longer the duration of a project, the more functional points it tries to tackle, which ultimately leads to its failure and demise. By applying shorter duration to the project and assigning smaller teams, this study further found that the failures could be lowered significantly.
Software developers found a way out to prevent the recurrence of this problem, which came to be known as Extreme Programming; it can then be defined as a methodology that applies principles of object-oriented programming. Object-oriented programming in simple terms, is a systems approach applied to the design of a software and works on the principles of communication, simplicity, feedback and courage.