Extreme Programming popularly called XP is based on a set of engineering practices. XP focuses on technical aspects of software development. The 1st extreme programming project happened in 1996 before the Agile Manifesto was created.
The core of Extreme Programming
- Customer Satisfaction – Empower developers to confidently respond to changing customer requirements, even late in the life cycle.
- Teamwork – Managers, customers, and developers are all equal partners in a collaborative team.
- Self-organizing team – Focus on the problem and solve it as efficiently as possible as a team.
- Communication – Extreme Programmers constantly communicate with their customers and fellow programmers.
- Simplicity – Keep the design simple and clean
- Feedback – Extreme Programmers get feedback by testing their software starting on day one. They deliver the system to the customers as early as possible and implement changes as suggested.
- Respect and Courage – Every small success deepens their respect for the unique contributions of each team member.
Extreme Programming Practices
- Test Driven Development
- Customer with the team
- Pair Programming
- Code Refactoring
- Continuous Integration
- Small Releases
- Simple Design
- Coding Standards
- Collective Code Ownership
Extreme Programming (XP’s) primary focus is on the technical aspects of development and it puts great emphasis on software engineering practices. XP is all about programming, hence it is fair to say that XP is a set of practices and not a framework. Irrespective of the framework, a team can follow XP practices.