XP describes a set of principles as additional guidelines:
Providing basic safety for individuals and an equal voice in the team for all – in other words, all things are conducted using a human-centric approach
Focus on the return on investment trying to maintain a low cost of development with a high return of customer value
Try to use an approach that will prove beneficial to all concerned – developers, testers, users, customers and the business.
As new problems are encountered, it may help address them using an approach that is self-similar to the way previous problems were dealt with. In software development, if it is assumed that basic problems at a low level are basically the same at higher level, it is possible that the same approach may be useful at the different levels.
Focus on continual improvement and refinement based on regular feedback and learning rather than trying to be perfect first-time
Ensure the team has diverse skills, perspectives and attitudes
Time should be set aside to formally review the progress being made (or lack of it). Informal reflection within the team is also something to be encouraged.
The whole development process should be a continuous steady flow of activities, rather than a set of discrete phases.
Treat issues as opportunities rather than as problems.
Try to approach problems in more than one way.
Do not be afraid of failures. Experiments and prototypes are meant to be “straw men” that can be knowcjked down and rebuit. There is little point in them if they are only meant to succeed 100%.
Ensure that there is the ability to build quality into the product and recognise that there is a positive economic impact of improved quality. Quality should not be used as a control variable. Lowering quality will not ultimately result in reducing overall project time or cost.
When introducing XP into an organisation it is better not to do using a “big-bang” approach – add processes and tools incrementally.
There is an understanding that every member of the team accepts responsibility for the products the team creates. The individual accepting responsibility for implementing a story is responsible for design, implementation and testing. They are also responsible for estimating how long it will take to complete.