Victor Elizalde

Jan 7, 2021

3 min read

Timeless Way of Programming in XP

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

Client Needs

Kent Beck explains that in the older times, it was really common for people to build their own houses, since the person building the house was the one that was going to live there, they knew exactly what to do and how they wanted the house. The client needs are critical and should be taken into consideration in all matters.

After some time, architects started designing houses instead of each person that was going to live in a new house, a new problem appeared. Architects started to design in a selfish way, not taking in count the client needs, they would only focus on making the job quickly and win awards for their designs. But, even if the design was cool, maybe it was not what the client needed or wanted, because not all clients have the same needs even if a product is amazing.

A similar problem was happening in the software industry, the focus back then was, “We’ll give you need even if you don’t know you need it”. Software written this way tends to be long on technical virtuosity and short on utility. There was also a case in which the business concerns dominated development. Deadlines and scope set only for business reasons do not maintain the integrity of the team. The concerns of users and sponsors are important, but the needs of the developers are also valid. All three need to inform each other.

Same problem as the architects, the client needs take a crucial role here, we need to find the correct balance between client needs and doing the software project correctly or in the architects example, keep the rain out of the house too.

Aiming of XP

Originally the bias of writing XP was towards the programmers, but after some years of experience, Kent Beck learned that software development is not only the programmers and a bunch of other people. If the goal is excellence, there should be a balance between the concerns of everyone involved in the project. We should bring the technical and business concerns together in harmony, that’s the key. Even if someone doesn’t develop, their views are important to the team’s success.

Harmony and balance are the aims of XP. Writing tests is good, but the big task is to foster strong relationships between the diverse people who come together to make money with software. We all need to have a true purpose and change of heart because without them, we will only produce small, short-term gains. You and the rest of your team share a fate. Act like it and you may come to believe it.

XP relies on the growth of powerful programmers; able to quickly estimate, implement, and deploy reliable software. These programmers turn over business decision making to the business-oriented part of the team.

XP is teamwork, we are all important, there’s no pride. A team working together can accomplish more than the sum of its members’ separate efforts. Sharing power is pragmatic, not idealistic.

We have had 50 years of computing and they have gone pretty well. There’s a prediction that the next century will be the century of biology and that computing will be relegated to a supporting role. If software continues to be developed badly, this will come true. That’s why XP is encouraging a deep change in programmers because tools and techniques change often, but people change slowly but deeply.

The challenge of XP is to encourage deep change, to renew individual values and mutual relationships to give software a seat at the table for the next fifty years. Unleashing the potential of the human spirit will lead to a future for computing that we can’t yet imagine.