Requirements in eXtreme Programming Flashcards
Who named XP?
Kent Beck in 1995
What is the Basic Principle of XP?
Change costs more overtime. We can flatten this cost by applying five values
- Simplicity
- Communication
- Feedback
- Respect
- Courage
What are the 12 practices of XP?
- Planning
- Testing
- Pair Programming
- Refactoring
- Simple Design
- Collective Code Ownership
- Continuous Integration
- On-site Customer
- Small Releases
- 40-Hour Week
- Coding Standards
- System Metaphor (architecture)
How does planning work in XP?
Write user stories
Release planning creates the schedule
Make frequent small releases
Start each iteration with iteration planning
Describe the overall process of XP
Review slide 2-6
User stories turn requirements into a ______. They should identify fundamental desires and be sized for _ to _ weeks
dialogue, 1, 3
User stories are written only by the ________
customers
What are 3 criteria for user stories
Sized so they can be built in one iteration
Independent of each other
Testable
What is the user story format?
As a WHO I want to WHAT so I can WHY
Instead of KLOC, we use what to estimate in XP?
Past experiences. We let team members who actually do the work make an optimistic estimate
How do we prioritize user stories?
Ultimately, the users make the final decision based on the value each user story brings. However, developers should order them by risk and relay the information to the customer
What is project velocity?
The total of estimates of the user stories done during an iteration. This value is not useful until after a few iterations. We have to guess the initial value
What is release planning?
Gathering user stories and creating a release plan that lays out the overall project. Project velocity is used to determine which stories make into which release
In XP, you should never what?
Delay releases
Give an outline of iteration planning in XP
Add to release plan (unfinished tasks, new tasks, bugs)
Use project velocity and customer to re-prioritize tasks
Use project velocity to determine stories to develop
Break down stories into tasks
Use task-level project velocity to determine how much can be done in this iteration