Extreme Programming - Values


Concept

Definition

Communication

Communication is important for creating a sense of team and effective cooperation. When problems arise, most often someone else already knows the solution.

Communication, though, is not all you need for effective software development.

Simplicity

We should strive to construct the simplest thing that could possibly solve today’s - and only today’s - problem.

Achieving simplicity gives you much less hassle to communicate about.

Improving communication helps achieve simplicity by eliminating unneeded requirements from today’s concerns

Feedback

Change to our systems is inevitable, but change creates the need for feedback.

We want to get as much feedback as quickly as possible. The sooner I know, the sooner I can adapt.

Communication is often critical to get feedback. Feedback is important to achieve simplicity (how to know what to implement: discuss or try out all possibilities and compare)

Feedback comes in many forms:

  • Opinions about an idea - yours or your teammates’
  • How the code looks when you implement the idea
  • Whether the tests were easy to write
  • Whether the tests run
  • How the idea works once it has been deployed

Courage

Courage is effective action in the face of fear. If you know what the problem is, do something about it. If you know there is a problem but you don’t know what it is, it takes courage to wait for the real problem to emerge distinctly.

Encourage teamwork by looking to the other values for guidance on what to do when afraid.

  • The courage to speak truths, pleasant or unpleasant, fosters communication and trust.
  • The courage to discard failing solutions and seek new ones encourages simplicity.
  • The courage to seek real, concrete answers creates feedback.

Respect

If members of a team don’t care about each other and what they are doing, XP won’t work. If members of a team don’t care about a project, nothing can save it.

No one is intrinsically worth more than anyone else.

Examples


Appendix