Extreme Programming (XP) is a Methodology (software engineering) for the development of software projects. It prescribes a set of day-to-day Extreme_Programming Practices for developers and managers; the practices are meant to embody and encourage particular Extreme_Programming Values.
Proponents believe that exercising these practices, which are software engineering best practices taken to “extreme” levels, leads to a development process with the qualities prized by Agile Manifesto signatories.
This makes Extreme Programming the most prominent of several agile software development methodologies used to create software. Agile methodologies prioritize adaptability for changing requirements over the project predictability valued by more traditional methodologies. Some elements of the Extreme Programming methodology are Extreme Programming Controversial aspects.
Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.
In Extreme Programming, every contributor to the project is an integral part of the “Whole Team”. The team forms around a business representative called “the Customer”, who sits with the team and works with them daily.
Extreme Programming teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be done. Focused on business process value, the team produces the software in a series of small fully-integrated releases that pass all the tests the Customer has defined.
Extreme Programmers work together in pairs and as a group, with the simple design and the obsessively tested code, improving the design continually to keep it always just right for the current needs.
The XP Programming team keeps the system integrated and running all the time. The programmers write all production code in pairs, and all work together all the time. They code in a consistent style so that everyone can understand and improve all the code as needed.
The XP Programming team shares a common and simple picture of what the system looks like. Everyone works at a pace that can be sustained indefinitely.