Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Where possible, XP uses widely accepted vocabulary. Where there are concepts in XP that are significantly different from concepts elsewhere, we highlight the differences by using new words. Here are the most important words in the XP lexicon.
A test case that runs without any human intervention. The test checks to make sure the system calculates the expected values.
A role on the team for someone who watches the process as a whole and calls the team's attention to impending problems or opportunities for improvement.
A release and a date. The commitment schedule is refined one iteration at a time, and modified through reestimation and recovery.
A role on the team for choosing what stories the system has to satisfy, what stories are needed first and what can be deferred, and for defining tests to verify the correct functioning of the stories.
One thing the programmer knows the system must do. Tasks must be estimable at between one to three ideal programming days. Most tasks will derive directly from stories.
The tendency of a system to get buggier over time, and for changes to become much more expensive.
The phase of development when the customer communicates generally what all the system could do.
A test written from the perspective of the customer.
The measure of an estimation tactic where you ask yourself, "How long would this take without distractions and disasters?"
A one- to four-week period. At the beginning, the customer chooses the stories to be implemented in the iteration. At the end the customer can run their functional tests to see if the iteration succeeded.
A pile of stories and a pile of tasks. Programmers sign up for tasks and estimate them.
The measured ratio between ideal programming time and the calendar. Typically between 2 and 4.
A role on the team for allocating resources.
A programming technique where two people program with one keyboard, one mouse, and one monitor. In XP the pairs typically change a couple of times a day.
The other person who is pair programming with you.
The XP planning process. Business gets to specify what the system needs to do. Development specifies how much each feature costs and what budget is available per day/week/month.
The phase of development when the customer is actually making money with the system.
A role on the team for someone who analyzes, designs, tests, programs, and integrates.
A planning move where the customer preserves the completion date of a release by reducing the scope of the release in response to increased estimates or decreased team speed.
A planning move where the team reestimates all the stories remaining in the release.
A change to the system that leaves its behavior unchanged, but enhances some nonfunctional quality—simplicity, flexibility, understandability, performance.
A pile of stories that together make business sense.
One thing the customer wants the system to do. Stories should be estimable at between one to five ideal programming weeks. Stories should be testable.
A story that everyone—customers, programmers, and managers—can tell about how the system works.
The number of ideal programming weeks the team can produce in a given amount of time.
An automated set of stimuli and responses for the system. Each test case should leave the system the way it found it, so tests can run independently of each other.
A role on the team for measuring progress with numbers.
A test written from the perspective of the programmer.