Extreme programming Values:

Simplicity

Communication

Feedback

Courage

Respect

Extreme programming Rules

The first version of XP rules was proposed by Ken Auer in XP/Agile Universe 2003. In short, he said: XP's values make it agile. XP's practices do not define XP; XP is defined by its rules. Because defining XP by the practices have at least two problems:

Some practices are fuzzy in definition.
It's commonly understood we can be doing XP without doing all of the practices

He finally conclude that we should not define XP merely by its values or its practices. We should define XP by its rules. Ken Auer in his version of XP Rules defined two categories of rules Rules of Engagement which dictate the environment in which software development can take place effectively. They then discuss the Rules of Play which define the minute-by-minute activities and rules within the framework of the Rules of Engagement.

The Rules of Play are what make XP unique. 2. Following the Rules of Play is Extreme Programming. 3. Following the Rules of Play and the Rules of Engagement is Extreme Software Development.

After Ken Auer, in APSO workshop at ICSE 2008 Conference, Mehdi Mirakhorli proposed the new version of XP Rules, he had provided some changes in the firs version of XP Rules. Because he believed that the rules must satisfy the essence of agility and XP. When you choose rules for defining XP, you should be independent of any practices as much as possible. With regard to Kenís results and according to his experiences he propose a more precise and comprehensive definition for the rules of engagement and play.

-Rules of Engagement

In Mehdi Mirakhorli literature Rules of Engagement are those that make you agile, these rules are similar to agile principles:

Business people and developers Joint work

Business people and developers must work together daily throughout the project

Our highest priority is customer satisfaction

The customer must set and continuously adjust the objectives and priorities based on estimates and other information provided by the developers or other members of the team. Objectives are defined in terms of what not how.

Deliver working software frequently

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale (Timeboxing).

Working software

Working software is the primary measure of progress

Global Awareness

At any point, any member of the team must be able to measure the teamís progress towards the customerís objectives and the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

The team must act as an Effective Social Network

this means

Honest communication leading to continuous learning and an emphasis on person-to-person interaction, rather than documentation.
Minimal degrees of separation from what is needed by the team to make progress and the people/resources that can meet those needs.
Alignment of authority and responsibility.

-Rules of play

Rules of play that make XP unique are defined below these rules are based on XPís values (Communication, Simplicity, Feedback, Courage)

Continuous Testing

Work produced must be continuously validated through testing.

Clearness and quality of codes

All codes written for potential use in the software product must clearly express every concept and have clarity, contain(s) no duplication and no superfluous parts and pass all the unit tests.

Common Vocabulary

There is a sketch of the product guide all development with a simple shared story of how the whole system works. So everyone involved could grasp the essence of the project in a term universally understood.

Everybody has the authority

Everybody has the authority and at least two people have the understanding necessary to do any task