What is Extreme Programming?

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

 

Extreme Programming - Practices

There are four basic practices in Extreme Programming. Which are:

·         Coding

·         Testing

·         Listening

·         Designing

These four basic activities need to be structured in the light of the Extreme Programming principles. To accomplish this, the Extreme Programming practices are defined.

These 12 Extreme Programming practices achieve the Extreme Programming objective and wherever one of the practices is weak, the strengths of the other practices will make up for it.

Defined 12 Extreme Programming practices are as follows −

·         The Planning Game

·         Short Releases

·         Metaphor

·         Simple Design

·         Testing

·         Refactoring

·         Pair Programming

·         Collective Ownership

·         Continuous Integration

·         40-hour Week

·         On-site Customer

·         Coding Standards

The Extreme Programming practices if implemented in isolation can be weak and thus, can fail. In Extreme Programming, all the practices need to be considered as a whole, so that they support each other. The weakness of one is covered by the strengths of others.

What XP practices did you find surprising, unusual, or interesting?

I found followings two Extreme programming practices more supervising and interesting.

·        Planning Game:

The planning game begins with the first-release planning meeting and ends with the final release.

You must define the rules of the Planning Game in line with the Extreme Programming practices before the first release planning meeting and familiarize the rules to the business and the team.

·        Testing

The developers continually write unit tests, which need to pass for the development to continue. The customers write tests to verify that the features are implemented. The tests are automated so that they become a part of the system and can be continuously run to ensure the working of the system. The result is a system that is capable of accepting change.

 

Why Some Extreme Programming practices would not work Individual?

Many of these practices may not work individually. Like Collective Ownership require Pair Programming because you are less likely to break the code, and developers learn faster what they can profitably change. And with Coding Standards, you will not have conflicts on the code. Similarly, Continuous Integration require Collective ownership to ensures that whoever changes the code and integrates will have a whole view of the system.

Comments

Popular posts from this blog