XP Values

Victor Elizalde
3 min readDec 16, 2020

In this post I will be talking about Kent Beck’s Extreme Programming Explained book, specifically Chapter 4, in this chapter we will talk about XP values.

We are a team

When a group of developers join forces to develop something, they must know that they are a team and that there is no room for individualism. As a team you should all think in the same way and develop in the same style. When these things are taken into consideration by the team, you will feel how everything flows easier and you will not get constantly stuck in bugs or design problems because someone develops in a different way. XP embraces five values to guide development: communication, simplicity, feedback, courage, and respect.

Communication

In software there are some problems that produce from lack of communication, others can get resolved easily with communication from the team, maybe someone already encountered it in the past and already knows the answer. Communication from everyone is key because if the person that already knows the answer doesn’t communicate then the team will be wasting time looking for an answer that one of them already has. On the other hand, there are problems that are caused from lack of knowledge, with these there’s nothing you can do beforehand. Here, communication is key to solve it too.

Communication is important for creating a sense of team and effective cooperation. Communication, though, is not all you need for effective software development.

Simplicity

Simplicity is a key value of XP, it will help our code be easier to handle and understand. Simple solutions are far better that complex ones. Of course there are some concerns or requirements that make solutions more complex, but the goal is to try to solve it in the simplest way possible. With this, we can support each other because with simplicity, there is much less to communicate to others.

other. Improving communication helps achieve simplicity by eliminating unneeded or deferrable requirements from today’s concerns.

Feedback

Being satisfied with improvement rather than expecting instant perfection, we use feedback to get closer and closer to our goals. Feedback comes in many forms:

  • Opinions about an idea, yours or your teammates’
  • How the code looks when you implement the idea
  • Whether the tests were easy to write
  • Whether the tests run
  • How the idea works once it has been deployed

XP teams strive to generate as much feedback as they can handle as quickly as possible. They try to shorten the feedback cycle to minutes or hours instead of weeks or months. The sooner you know, the sooner you can adapt. If the feedback the team is getting is too much then the team need to slow down, until it can handle te feedback and also release new features, and in this slowing down process they need to figure out how to reduce the errors they are committing.

Courage

Courage takes a big part in software development because it is what makes a developer to have the patience to solve a problem or the initiative to attack one and solve it. Courage as a primary value without counterbalancing values is dangerous. Doing something without regard for the consequences is not effective teamwork. Encourage teamwork by looking to the other values for guidance on what to do when afraid.

If courage alone is dangerous, in concert with the other values it is powerful. The courage to speak truths, pleasant or unpleasant, strengthens communication and trust. The courage to discard failing solutions and seek new ones encourages simplicity. The courage to seek real, concrete answers creates feedback.

Respect

The previous four values point to one that lies below the surface of the other four: respect. If members of a team don’t care about each other and what they are doing, XP won’t work. If members of a team don’t care about a project, nothing can save it.

Every person whose life is touched by software development has equal value as a human being. No one is intrinsically worth more than anyone else. For software development to simultaneously improve in humanity and productivity, the contributions of each person on the team need to be respected. You are important and so am I.

--

--

Victor Elizalde

Software Engineer with a passion for sharing knowledge. Also, sports lover, musician, gamer, and a tremendous food fanatic.