Extreme Programming Practices

By | July 28, 2018

extreme programming practices

Extreme Programming (XP) is primarily a type of software development methodology used to bring about an improvement in the quality of software. This method’s ultimate objective about Extreme Programming Practices is to provide repetitive (iterative) releases during the entire project which makes it mutually beneficial for members and customers as well to be able to review it during the Software Life Development Cycle.

The key feature of this methodology which makes it different from others is the focus on the technical aspect of software development and is one of the umpteen Agile frameworks used by various IT organizations.

Why is extreme programming preferred?

The father of extreme programming, Don Wells described specific situations where it is preferred to use this methodology. Some of the factors to be considered are:

  • Extreme programming was devised in order to help software development teams for adapting themselves in rapidly changing environments.
  • These practices are efficiently implemented when teams have less than 12 members.
  • This programming methodology when applied is more likely to succeed while working on various new systems especially in case of strict deadlines.
  • Active participation of developer, customers and other integral team members of the development front can work together side by side till end of the project which saves a lot of time and wastage of resources.

Extreme Programming is based on five significant values which serve as its foundation. They are as follows:

Communication

It is imperative that each and every member of the team works together at every stage. Communicating about one’s ideas through discussions and face-to-face exchange of views cannot be overemphasized in this setting.

Simplicity

The intent is to keep the design as simple as possible while maintaining quality of the product thus avoiding wastage of time and effort. Simplicity at the same time also means fulfilling the requirements that are known instead of predicting the future.

Feedback

Developing a product for usage and getting feedback after it is delivered is an ongoing process to further make ongoing improvements as per the changing requirements.

Courage

Being courageous entails having a preference for solid action so that the ultimate results are beneficial and not harmful to the team. Being courageous and moving on with positive approach while continuing with being responsive to required changes is ideal.

Respect

Every person is a team member whose contribution is vital, so it is indeed significant that every person has mutual respect for each other’s views and ideas so that they can work together in order to arrive at solutions for moving forward. After all, the entire team works for a common goal.

XP Practices

XP entails the usage of 12 practices and is clustered into four different groups.

XP suggests using 12 practices while developing software. XP is defined by principles, its practices and can be clustered into four groups. The four groups are Feedback, Continual Process, Code Understanding and Work conditions.

We have enumerated in details about the first group – Feedback.

Pair Programming

This requires two programmers working together simultaneously on the same production code. In this situation, while one of the developers focuses on the writing part, the second team member reviews, updates and makes suggestions for further improvements. This results in higher quality. Extreme programming encourages better teamwork and it is used more frequently in carrying out partner programming for projects which last long.

On-Site Customer

As per extreme programming, the end customer need to have a full participation in the entire process. The customer surely requires to be there in-person to take care of any disputes or answer any of the questions which the team might have.

Test Driven Development

Extreme programming teams use test driven development techniques which means writing/using automated test before the code itself is written. This becomes quite useful for programmers for producing reliable software by using a quick feedback. Ultimately productive feedback comes from perfect testing.

The Planning Game

This practice is a meeting which always occurs just before an iteration cycle begins. The customer and the entire development team have a detailed discussion with each other and at the end of this planning game, the team members land up planning the majority of the project while assigning tasks for each of them.

Leave a Reply

Your email address will not be published. Required fields are marked *