Skip to content

Exercises "Agile Method Extreme Programming"


Values (XP)

Five values to improve the work of the project team:

  • Communication
  • Courage
  • Feedback
  • Respect
  • Simplicity

Principles (XP)

15 principles which derive from the values and serve the basic understanding of Extreme Programming.

Practices (XP)

Complementary to the values and principles, these techniques are intended to help developers behave according to the principles.
They can be categorised as follows:

  • Management practices
  • Team practices
  • Programming practices

Test yourself

Please answer the following questions independently. Take your time and think carefully about what you want to answer before having a look at the solutions.

Where did Extreme Programming originate?

It originated in the "Comprehensive Compensation System" project of the former Daimler Chrysler group and is based on the application of proven methods (best practices).

What is Extreme Programming based on?

This agile working method is based on values, principles and practices.

What are the roles in Extreme Programming?

The roles are the customer (client), the product owner (internal, often project manager) and the development team.

What are the five values in Extreme Programming?

Communication, Courage, Feedback, Respect, Simplicity

What are the 15 principles of Extreme Programming?
  • Accepted responsibility
  • Assume simplicity
  • Concrete experiments
  • Embracing change
  • Honest measurement
  • Incremental change
  • Local adaptations
  • Open, honest communication
  • Play to win
  • Quality work
  • Rapid feedback
  • Small initial investment
  • Teach learning
  • Travel light
  • Work with people's instincts, not against them
How can the practices in Extreme Programming be subdivided?

Management practices, team practices and programming practices.

What are spikes?

Spikes are deeper, time-limited analyses of user stories, which cannot be estimated by the developers due to unclear technical implementation. Spikes can occur before the start of an iteration or in parallel to iterations that are already in progress.