Glossary of Terms
In XP, tests specified by the customer to check that a user story has been correctly implemented. All acceptance tests must pass for a story to be considered 'done'.
An XP role responsible for teaching the team about XP practices, monitoring the process, and intervening if necessary. Often an experienced programmer.
An XP practice where developers integrate their code into a shared repository frequently, typically multiple times a day. Each integration is verified by an automated build (including tests) to detect integration errors quickly.
(Class-Responsibility-Collaboration) Cards. A brainstorming tool used in object-oriented design to help discover and document classes, their responsibilities, and their collaborations with other classes.
An XP role, ideally an actual end-user or representative, who writes user stories and acceptance tests, prioritizes stories, and provides feedback. They are an integral part of the team.
A short (often 15-minute) daily meeting where team members briefly report what they did yesterday, what they plan to do today, and any obstacles they face. Standing up helps keep the meeting brief.
An Agile software development framework focused on improving software quality and responsiveness to changing requirements through specific engineering practices and values.
An XP practice where two programmers work together at one workstation. One (the driver) writes code while the other (the observer or navigator) reviews each line as it is typed, suggests improvements, and thinks strategically.
An XP role responsible for writing tests, designing, coding, and refactoring the software. Programmers estimate tasks and stories.
The process of restructuring existing computer code—changing the factoring—without changing its external behavior. XP encourages frequent refactoring to keep the design simple and clean.
Intentionally planning slightly less work for an iteration than the team's estimated capacity. This allows the team to finish early or absorb unexpected delays/tasks without jeopardizing the iteration goal.
Short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer. Used in XP and other Agile methods to define requirements.
(Test-Driven Development) An XP practice where developers write an automated test case *before* writing the production code needed to pass that test. This drives design and ensures testability.
An XP role responsible for helping the customer write acceptance tests and for running tests regularly. May also be a programmer.
An XP role responsible for monitoring the team's progress (e.g., tracking user story completion, acceptance tests) and communicating status, often using visible wall graphs.
The core principles guiding XP practices: Communication, Simplicity, Feedback, Courage, and Respect.
An XP planning practice where, at the start of each week, the team meets to review progress, the customer selects stories for the week, and the team breaks stories into tasks.