“Here is the harsh truth. I never met with a team or a person who used practices of XP [such as TDD, pair programming, small releases] for a longer time and after they got back to the other way of working. Never.”
—Daniel Moka
XP considered Best Practice
Daniel: “XP consists of a group of practices. You don’t need to follow all of them, but they overlap in ways that increase productivity. I don’t think EXTREME is the best name for these practices. Once you get hooked to it it becomes common sense.”
Traditional 🔜 XP starts early and is permanent
Many of us were lucky in that we got exposed to Extreme Programming early on in our career. We got to test it on hard problems, saw the benefits and never looked back.
I think we’re a vast minority in the industry.
🚀 Let’s change that.
🔮 I help tech leads adopt the best practices you saw us discus on this episode. Whenever you’re ready, you can find me on MentorCruise for 1-on-1 and LinkedIn for team-wide coaching.
🍪 For those of you who want pure strategic advice on how to address business problems from the highest level, I suggest you reach out to Adrian and his CTO Fellowship.
Collaboration
Daniel: XP is about social change which is difficult. It’s easier to teach someone how to name a function or how to use hexagonal architecture than telling someone to adopt how they are working with their team members who are slower than them or different.
XP pushes the idea that Software Engineering should be a Social Activity.
Denis: “Solve the problem together rather than talking about planning and analyzing the problem.”
“Happy and competent developers make great products.“
Testing
Daniel: If you don’t do TDD or don’t test early, you need to suffer later. The non-practitioner feels frustrated and continuously hassled to go back to neglected work that was avoided and is resistant to change. It is demotivating.
The emotional state of the team, especially when it comes to RESISTANCE, is the driving factor for quality. Extreme programming is one of the rare engineering processes that actively incorporates emotions and the state of the team into the craftsmanship and planning process.
Adrian: If you have happy developers, it is unlikely they’ll experience burnout.
“TDD and Pair Programming together make a powerful combo. They are the core part of Extreme Programming.” —Daniel Moka
Refactoring and Trunk-based Development
Denis: The way I coach TDD is to separate refactorings and feature changes into spearate commits inbetween steps. Refactorings have to be EXPEDITED TO MASTER [main branch] as soon as possible. Should follow the hotfix procedures. Ideally, everything should be following hotfix procedure if the team is practicing [continuous integration].
If refactoring commits do not get expedited past the berauocracy then developments will feel terrible and anxious refactoring because they are worried about breaking something in a separate long-lived branch.
“If you work alone on a feature, you get the best work one person can do.
If two people work on the feature, you get the best work of two.
If the whole team works on a feature, you get the best work the whole team can do.”
—Daniel Moka
Mob Programming
Daniel: Mob Programming is pair programming on steroids. Mob Programming solves a problem that pair programming introduces: isolated groups/pairs and exhaustion.
Mob Programming fixes this, if you’re tired just go. Let’s have a break. It allows the team to adapt to someone having to leave the room without stopping work.
Books Mentioned
Extreme Programming Explained
Planning Extreme Programming
Clean Code
Test-Driven Development
And that was only the first 45 minutes! Check out the full episode. Let us know your experience and share it with your friends.
—P.S.: Our book club chose Kent Beck’s book for January and February 2024. Kent was generous enough to join us for our closing call in January. Having the author join our reading group is a great honor, setting a high standard. Proud of all of our Tech Leaders’ Guild readers. Next week we kick off reading Planning Extreme Programming. Link below
Share this post