This week the re-read of Kent Beck and Cynthia Andres’s Extreme Programing Explained, Second Edition (2005) tackles Chapters 20 and 21. Chapter 20 is a discussion of applying XP. The short version is that there is no one perfect way to apply XP, which dovetails nicely with Chapter 21 which addresses the concept of purity and certification. IF there is no one perfect way to apply XP, there can’t be a litmus test for XP purity.
Chapter 20: Applying XP
Software development is rife with waste and inefficiencies even though practitioners have been struggling for years to wring the waste out the process. Part of the issue is that people by their general nature are chaotic, therefore don’t always work in the most efficient manner. Other parts of the problem are that developing software is complex and what ends up running in production is often a result of learning and innovation. Said more simply, software development is not a result of an assembly line process. There are many paths to developing code based on context, people, and the business problem being solved, hence the potential for inefficiencies.
Many organizations make the mistake of mandating the adoption of a methodology such as XP without addressing the pre-existing problems in the organization that lead to inefficiency and waste. Organizations that have not dealt with the problems that make embracing the philosophies and principles that underpin XP viable are then shocked when individuals and teams revert to earlier practices they perceive as safer or more comfortable. Beck suggests that strong sponsorship is helpful to avoid reverting away from XP at the organization level. At a lower level, for addressing the inertia created by pre-existing problems that are slow to change Beck again suggests the idea of leading by example, adopting XP yourself and providing tangible outcomes (and stories) are a powerful tool for change.
The concept of continuous improvement connotes a smooth progression towards an ultimate goal. Any experienced practitioner or observer of organizational change will understand that idea of a smooth progression toward the future is a simplification. Rather, progress is more of series of jumps as improvements are made, tempered by feedback and then integrated into the organization. Change can be facilitated by coaching. Coaches can bring knowledge-based on a wider base of experience to the team. Coaches are also a means to change the composition of the team which can inject the energy need to motivate change.
The final word on applying XP is if your organization’s values and principles are at odds with XP, don’t apply XP to the organization until you wrestle with the pre-existing culture.
Chapter 21: Purity
How can you tell if a team or organization is practicing XP? There is no binary purity test. For example, just practicing pair programming does not mean you are practicing XP, just as being a distributed team meana you can’t practice XP. The values, principles, and practices that comprise the definition of XP in Extreme Programing Explained, Second Edition provide potential users of XP with guidance. Beck says, “Saying your team is extreme sets other people’s expectations for your style of communication, your development practices, and the speed and quality of your results.” Whether you use extreme, Agile or are an RUP practitioner, what you call yourself sets expectations based on the values and principles embedded in the methodology. In the end, purity is a matter of living up to the expectations of values and principles you espouse.
The discussion of purity in Chapter 21 evoked a rant on certification. Beck stated, “If a certifying authority isn’t willing to stand behind IT certification, it’s just printing certificates and collecting money.” The suggestion is that like board certifications in medicine unless the certification board is willing to police usage, the certification lacks value. As a member of the board of an association that tests and certifies practitioners, Beck’s comments are food for thought.
Based on the premise that XP can be implemented and practiced in many different ways, if the way you are practicing XP upholds the values and principles of XP you are “doing” XP. In other words there can be no litmus test and certification based on XP purity.
Previous installments of Extreme Programing Explained, Second Edition (2005) on Re-read Saturday:
Remember we are going to read The Five Dysfunctions of a Team by Jossey-Bass next. This will be a new book for me, therefore, an initial read, not a re-read! Steven Adams suggested the book and it has been on my list for a few years. Click the link (The Five Dysfunctions of a Team), buy a copy, and in a few weeks, we will begin to read the book together.