What Extreme Programming taught me
It's nice to have top-notch engineers, but how we work together matters more.

Just a guy who loves to write code and watch anime.
Search for a command to run...
It's nice to have top-notch engineers, but how we work together matters more.

Just a guy who loves to write code and watch anime.
No comments yet. Be the first to comment.
Qualities that make outstanding builders.

Bipedal vs quadrupedal: how many legs This is about the number of legs the creature walks on. Bipedal. Two legs. Humans, ostriches, T-rex, kangaroos, most fantasy humanoids. Quadrupedal. Four legs. Do

Intro You hear "lerp" and "smoothstep" everywhere in game dev. They sound like math jargon. They're not. Both are small tools that do the same job: smoothly move from one value to another. The problem

What is Kinematics Kinematics is the math field. It's the study of how things move without worrying about forces (which would be dynamics). FK and IK are the two branches: forward kinematics and inver

Intro Textures are usually the biggest cost in a 3D scene. Memory, bandwidth, and load time all get eaten by them. Resizing them is the obvious lever. There's more. This post is about the less obvious

The book Extreme Programming Explained: Embrace Change by Kent Beck is one of the best books I have read. I even wrote an article on Extreme Programming: What is Extreme Programming?
It changed my view on one of the aspects of software engineering.
In my younger days, I thought what made a good software engineering team, is them having amazing, talented and experienced engineers on the team. I saw engineering teams as a group of individuals. A group of engineers, and each engineer is a resource. Each resource has its abilities and powers, and in the end, that adds to the sum of the team's capabilities and strengths.
This is how I sort of saw good software engineering teams, thinking of the engineers as resources.
When I look back, I find it weird that I was thinking like that, maybe it is because of my background in anime, or the lack of experience when you have zero experience.
Extreme programming is about social change.
It's about changing the way we work together as a team and the way we work with our customers.
Extreme programming is a discipline that addresses risk at all levels of software development. It is simple, you only do the necessary work to deliver value to the customer. It can work with both small and large teams. It adapts to quickly changing requirements.
It is about people coming together to develop software, you being a part of the team, working together, to grow and improve both your relationships and skills.
It was fascinating. I got excited.
Extreme programming mentions, by collaborating and working well together, by applying its discipline, a team that's not doing so well, can do way better.
Going back to my initial perception, I thought for a team to do better you had to replace the existing engineers with better and more talented engineers. However, that's not the case.
Teamwork, collaboration, building great relationships, focusing on the customers...
This is what we need, as for the technical skills, those are always something we can train people to improve in.
My view changed. Extreme programming is also the reason why I'm obsessed and passionate about always finding ways how software engineering teams can work better together.
It opened my eyes. Software engineering is a team sport, and the difference between good and bad teamwork is huge.
Since remote work has exploded, I still feel like we're on a journey together, to find better ways to collaborate and work remotely. Remote work is here to stay, and in my opinion, the benefits outweigh the downsides.
I wouldn't say all teams are struggling with this, but most teams surely are.
This is something I contemplate a lot on. How remotely my team and teams, in general, can improve the ways they work.
In conclusion, Extreme Programming is an amazing discipline that utilizes the team and human side of things, the things we already have in place but need to change to perform better together.
It changes your perspective on software engineering and makes you realize that this is a team sport.