Extreme Programming Explained (2nd edition) Readers Guide

This post exists because I was taking part in a reading club and we were unable to find a suitable readers’ guide. The questions are intended to tempt readers to consider their current environment and think of ways to try improvements.

The post will be updated with further chapters as we complete them.

Table of Contents

Overview

Kent Beck’s Extreme Programming Explained (2nd edition) was published in 2002 and is a foundational text for understanding the principles, values, and practices of Extreme Programming (XP), an agile software development methodology. The book emphasises the importance of human factors, flexibility, communication, and continuous improvement, encouraging developers and teams to embrace change in a dynamic work environment.

- 📖[**Extreme Programming Explained**,
  2nd Ed, Kent Beck](https://www.amazon.co.uk/Extreme-Programming-Explained-Embrace-Change/dp/0321278658)
  - **1 What is XP?**
    A disciplined approach to software
    development that promotes responding
    to changing customer needs.
  - **2 Learning to Drive?**
    Adopting XP is a gradual process
    that requires practice, feedback,
    and continuous improvement.
  - **3 Values, Principles and Practices**
    __Values__ are the large-scale criteria
    we use to judge what we see, think, and do.
    __Principles__ are domain-specific
    guidelines for life that guide decisions.
    __Practices__ are things you do day-to-day.
    - **4 Values**
      Communication
      Simplicity
      Feedback
      Courage
      Respect
    - **5 Principles**
      Humanity
      Economics
      Mutual benefit
      Self-similarity
      Improvement
      Diversity
      Reflection
      Flow

Chapter 1: What is XP?

This chapter introduces the concept of Extreme Programming (XP), explaining it as a disciplined approach to software development that promotes responsiveness to changing customer needs. XP emphasises short development cycles, constant feedback, and the adoption of best practices to deliver high-quality software.

Discussion Questions

  • In what ways does your team currently embrace or resist change?
  • How could XP help your team become more adaptable?
  • What do you think are the most challenging aspects of adopting XP in your organisation?

Chapter 2: Learning to Drive

This chapter uses the metaphor of learning to drive to illustrate how adopting XP is a gradual process that requires continuous practice, feedback, and adjustment. Just as with driving, becoming proficient in XP involves making small, consistent improvements over time.

Discussion Questions

  • What new skills or practices have you recently learned in your role?
  • How did the process of learning these skills compare to the metaphor of learning to drive?
  • How can your team apply the “learning to drive” approach to adopting new practices or methodologies in your current work environment?
  • What feedback mechanisms are in place in your team to help guide improvements?

Chapter 3: Values, Principles, and Practices

This chapter establishes the foundation of XP by distinguishing between values, principles, and practices. Values such as communication, simplicity, and feedback are the bedrock, while principles guide decision-making, and practices are the tangible actions teams take.

Discussion Questions

  • What values does your team currently prioritise?
    • How do these align or conflict with the values of XP?
  • Can you identify any principles your team uses that are not explicitly stated but influence your work?
    • How do they compare with XP principles?
  • Reflect on a practice your team follows. How is it shaped by your values and principles?

Chapter 4: Values

This chapter delves deeper into the five core XP values: communication, simplicity, feedback, courage and respect. Beck explains how these values drive the behaviors and decisions in XP, promoting a highly collaborative and responsive environment.

He also notes that there are other possible values:

… safety, security, predictability, and quality-of-life. Holding these values as a team would shape your practices in different ways than the XP values do.

Discussion Questions

  • Which XP value resonates most with you personally? Why?
  • How does your team facilitate communication, and where might there be gaps?
  • Discuss a recent project where simplicity was sacrificed. What were the consequences, and how could embracing simplicity have improved the outcome?

Chapter 5: Principles

This chapter expands on the XP values by introducing guiding principles such as humanity, economics, mutual benefit, self-similarity, improvement, diversity, reflection, and flow. These principles help teams interpret the values and apply them in their context to guide actions.

Discussion Questions

  • Which XP principle do you find most challenging to implement in your current work environment and why?
  • Can you think of a time when following a principle led to a better decision in a project?
  • How does the principle of “mutual benefit” manifest in your interactions with stakeholders?

To be continued …

Neil Kidd
Neil Kidd
Head of Academy

My interests include Software systems development, flow and what enables organisations and people succeed.