Extreme programming practices

The pairs are not fixed; programmers switch partners frequently, so that everyone knows what everyone is doing, and everybody remains familiar with the whole system, even the parts outside their skill set.

Instead of predicting the exact dates of when deliverables will be needed and produced, which is difficult to do, it aims to "steer the project" into delivery using a straightforward approach.

They also categorize into three piles: low, medium and high risk user stories.

The exploration phase of the iteration planning is about creating tasks and estimating their implementation time.

Within the commitment phase of the iteration planning programmers are assigned tasks that reference the different user stories.

Because XP doctrine advocates programming only what is needed today, and implementing it as simply as possible, at times this may result in a system that is stuck.

XP doctrine says that when this occurs, the system is telling you to refactor your code by changing the architecture, making it simpler and more generic.

The delivery of the software is done via frequent releases of live functionality creating concrete value.

The small releases help the customer to gain confidence in the progress of the project.

This helps maintain the concept of the whole team as the customer can now come up with his suggestions on the project based on real experience.

The Code Conventions for the Java Programming Language, recommended by Sun), or custom defined by the development team.

Extreme Programming backers advocate code that is self-documenting to the furthest degree possible.

A key enabler to achieve sustainable pace is frequent code-merge and always executable & test covered high quality code.

The constant refactoring way of working enforces team members with fresh and alert minds.

The intense collaborative way of working within the team drives a need to recharge over weekends.

Well-tested, continuously integrated, frequently deployed code and environments also minimize the frequency of unexpected production problems and outages, and the associated after-hours nights and weekends work that is required.