About airfocus

Try for free

Extreme Programming (XP)

Contents
  • What is extreme programming?
Building better
products starts here
Join thousands of product managers and makers who already enjoy our newsletter
Join newsletter

What is extreme programming?

💬

Definition of extreme programming (XP)

Extreme programming is one of the most specific agile development frameworks, with clearly defined engineering practices. It focuses on producing high-quality software that meets customer expectations whilst improving the quality of life for the development team.

Key rules of extreme programming

In the extreme programming agile framework, there are 5 key sets of rules at the heart of an XP project.

Get our Mastering Prioritization eBook

Learn how to prioritize by making it a simple process, to build products that stand out. Learn more about how to source insight, choose the right prioritization framework and much more.

Get the eBook

Planning

  • User stories are essential, written from the perspective of the customer. They are three sentences long and avoid technical language

  • Releases should be planned, which lays out the overall project. This is then used to create a release schedule

  • Releases should be small and frequent, to get real user feedback as quickly as possible

  • The project must be divided into iterations, which are planned just before starting

Management

  • Teams should have a dedicated and open workspace

  • Each day starts with a standup

  • The pace of delivery should be sustainable

  • Velocity should always be measured

  • Staff should be trained cross disciplines and rotated to avoid having exclusive specialists for parts of the project. This is called 'Collective Code Ownership'

  • When XP doesn't work, it should be discussed in a retrospective

Designing

  • Designs should be simple

  • Use CRC cards when designing the system

  • Do 'spike solutions' to learn and explore technical problems

  • Don't add unneeded functionality

  • Refactor and change the design of the software as and when required

Coding

  • Developers should have access to the customer for feedback

  • Code must be written to agreed standards

  • Use test-driven methodology

  • Pair program all production code

  • Use source control

Testing

  • All code must have unit tests

  • All code must pass these tests before being released

  • When a bug is identified, create a test around it, then resolve the issue

General FAQ

What is extreme programming methodology?
Extreme programming methodology focuses on producing high-quality software that meets customer expectations whilst improving the quality of life for the development team.
When was extreme programming introduced?
The first extreme programming project was started on March 6th, 1996, by Kent Beck during his work on the Chrysler Comprehensive Compensation System.

Building better products starts here

Join thousands of product managers and makers who already enjoy our newsletter. Get free tips and resources delivered directly to your inbox.
Top rated
on major review platforms
Highly rated
4.3 from
74 reviews
Shortlist
Product
roadmap
Front runner
Product roadmap
& Product management
airfocus is where teams build great products. Welcome home 💙
Company
All rights reserved. contact@airfocus.com
ENDE