Introduction to Extreme Programming (XP)Muhammad Zeeshan Ali, PMP, PMI-ACP
Extreme Programming, also popularly known as XP, is type of Agile methodology which believes in good coding practices with high emphasis on quality by doing things once only and is considered to be the originator of stories. The customer defines features as “User Stories” in an initial meeting and then the team members break down stories into “Story Points”. The main theme of extreme programming is that software developers work together in pairs with one person as developer and second as reviewer and they swap positions regularly.
“Velocity” of the team or a resource is the number of story points completed by team in an iteration. Iterations are used in XP which are same as the Sprints used in Scrum. XP iterations is 1-3 weeks and are shorter than Scrum iterations 1-4 weeks and each iteration might not have a release. “Spikes” are periods of work undertaken to reduce risks and “Architectural Spikes” are the iterations used to prove technological approach.
The XP Project Lifecycle
The core practices of XP revolves around the 12 points;
- Planning Game
- Small Releases
- Simple Design
- Pair Programming
- Collective Code Ownership
- Continuous Integration
- Sustainable Pace
- On-Site Customer
- Code Standards
The core values of XP revolves around 5 Items; Simplicity, Communication, Feedback, Courage and Respect. Unlike Scrum, XP has 5 main roles; XP Coach (Project Manager), XP Customer (Product Owner), XP Programmer (Development Team), XP Tracker (Project Coordinator) and XP Tester (QA Team).