Ways to proactively instill XP in your team
No one in my team knows about XP and I’d like to see these practices widely adopted by them? What can I do? Don’t think about others. Think about you, now, later, and your customer as well. The rest will follows.
There is something valuable when approaching the practices of eXtreme Programming, and as Software Professional, it’s easy to get completely sucked into when we have the chance to work in a team where the XP values, principles, and practices are deeply integrated as part of the daily work. The same might apply when observing someone that uses these practices to write software, and get all the benefits of doing so.
That’s happened to me, the first time I joined and worked in an XP team.
But, what happens when we find ourselves working for a company, a team, or a person that never had the opportunity to explore and absorb these practices? And what happens when the desire of using these practices is burning inside of us?
The simple thing to do is QUIT! And this is what the majority of people do. This is also what I did when I had to work with clients who were not aware of XP. I was not mature enough to deal with situations like these.
Then I realized that these are the perfect moments to transmute a problem into an opportunity and start planting the seed of curiosity. One of the first thing I do is to accept the fact that not so many companies are familiar with XP, as they are with their “agile processes”. And second, I have to accept the fact that people see, learn and understand things differently.
So, keeping these two facts in mind, I avoid trying to convince others, and most important I try to be really careful to not find myself into an “ego’s fight”. It’s not worth the deal, and even if we “win” we’ll still leave an emotional wound between the parts.
“… Mutual benefit in XP is searching for practices that benefit me now, me later, and my customer as well. Win-win-win practices are easier to sell because they relieve some immediate pain. … - XP Explained 2nd Edition”
Mutual Benefit is one of the most influential principles of XP. Instead of trying to convince others to adopt some sort of “alien” practices, try to start from yourself. Do not think about others.
A practical opportunity to instill XP is presented to us when we are at writing code. Either if we have to work on a bug fix, or introduce a new feature, we could consider to embrace the practice of the Test-first Programming, and the principle of the Mutual Benefit will manifest its consequences:
- Have a clear scope for the code change.
- Have a better understanding of the code itself.
- Have clearly expressed the intention through an automated test.
- Have instilled a rhythm for your development process.
Eventually, someone in your team or in your organization will notice the way you approach things, and understand the benefits of working this way. You can even go with some “show & tell” sessions to share your experience with others. Most important, everything should start from you. Do not expect your team will start adopting XP just because you told them to do.
Be the change you want to see in your team.
Next time you believe the team you are working in may benefits from applying XP practices, start from you. Start from the current task you have to deal with. Search for practices that may benefit you now, you later, your team and your customer as well.
Focus more on the Principles and their consequences, rather than the Practices. Practices are just a vehicle for Principles. And vehicles may change over time!
Keep a copy of eXtreme Programming Explained book always available for you and for your team. Consult its principles from time to time, and based on your current context think about the consequences your team will benefit the most from, search and apply the appropriate practice that will allows you to better vehicle the consequences.