Do not try extreme programming at home

Extreme programming or XP was created by Kent Beck in 1996 during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. His is a software development methodology bases from the agile method, which means that it has principles from the agile like working in iterations, frequent releases from short development cycles to the customer.

One important element of extreme programming is the teamwork, where an agile technique called pair programming is used, which consists in two programmers working together in one workplace; one as the driver, who writes the code, and the other as the observer, who review each line of code written, then those programmer switch places.

Other element is that extreme programming doesn’t deliver what the customer probably wants, it only focuses on delivering the software you need, as you need it.

flickr photo by TimOve shared under a Creative Commons (BY) license

Why is it extreme?

Is not because you are risking your life or something like in extreme sports, it means that XP ignores other practices and only works on thing that matters. For example, the Big Design Up Front, which consist on creating big detailed design of methods of software, is unnecessary in XP.

What are the things that matters in this methodology?

Software is too damned hard to spend time on things that don’t matter.

From here

The important things are Listening, you have to learn what the problem is in the first place; Testing, you have to know when you are done; Coding, the code is what make software and Designing, you have to know how the client want the program to be structured.