Review of Extreme Programming Explained Second Edition
I'd like to do a bit of review and what I learned.
"Extreme Programming Explained" consists of two sections.
- Exploring XP
- Philophy of XP
Featured image by Damien Pollet
Exploring XP talks about "Values, Principles, and Practices."
- Values - This is your view of the world, a philosophy.
- Practices - It's the "things you actually do" daily.
- This is what connects XP values with practices, sort of like a bridge.
- It's a "domain-specific guidelines for life."
- Without principles, you wouldn't know how to apply your values to practices.
- Suppose that a situation arises, which is not mentioned in the book. Understanding XP principles would empower you to apply the values into the unforeseen situations.
"Practices" is probably what most of people will be interested in since it talks about what comprises XP, such as pair programming, weekly/quarterly cycles, CI (Continuous Integration), Test-First Programming (TDD), and etc. as well as how XP team should be organized and what each member of the XP team should do.
Many people are concerned that XP would not scale but Kent Beck explains how XP can scale out (in Chapter 15, "Scaling XP"). But he also mentions when XP should be adopted and when not (in Chapter 20, "Applying XP").
Philosophy of XP deals with how idea of XP development was conceived. Kent Beck makes connections between existing concepts from different industries with XP to help readers understand where XP is coming from.
There was one part that many people have trouble digesting, Pair Programming. I consider that it not easy to adopt this practice unless you get a backing from a executive sponsor. And also Ken Beck consider developers as "people" and many people have different values and principles in life. Unless someone in managerial position steps and implement this, no matter how much you try to change and improve yourself, this would would be a moot point.
"Extreme Programming Explained" deals with solid philosophies on how development should be done and Kent Beck backs up his ideas with real world experiences.
I found something very surprising about XP. It's like Slight Edge principles translated into Software Development!