Xtreme Programming Flashcards
What is and why XP?
Conceived and developed to address the specific needs of software development conducted by, small teams, in the face of vague and changing requirements
It’s a lightweight methodology with the aim to enhance the software quality and responsiveness to changing customer requirements
Frequent releases and new versions may be built several times a day and delivered to customers every 2 weeks, all tests must be run for every build and every test has to pass before the build is accepted
What are the XP values?
1) Communication - must be enforced positively
2) Simplicity - create simplest product to meet needs
3) Feedback - must obtain feedback from cx, from the system and each other too
4) Courage - be ready to make hard decisions
What is the essence of XP?
- Work is performed by small teams with cx on-site
- XP starts with planning game where requirements are turned into stories on index cards
- System concept is captured as a metaphor for single vision of success
- Short cycle time is no more than 3 weeks
- Technical process assumes collective ownership
- Coding standards are established by team
- Sustainable pace is achieved through 40hr week
What are the XP practices?
1) Incremental Planning
2) Small Releases
3) Simple Design
4) Test-first Development
5) Refactoring
6) Pair Programming
7) Collective Ownership
8) Continuous Integration
9) Sustainable Pace
10) On-site Customer
How are user requirements expressed in XP?
scenarios or user stories which are broken down by the development team into tasks
How does XP handle change?
XP believes that you cannot design for change since it cannot be reliably anticipated
So we propose constant code improvements (refactoring) instead
How does testing work in XP?
Test-first development (write tests before code) with users involved in dev and validation
Automated tests are used to run all components each time a release is built
What is the role of the customer in the development process?
To help develop acceptance test for the stories
New code is validated with the customers needs too
What are some difficulties with XP testing?
Programmers prefer programming to testing, i.e., shortcuts and lazy test cases will be made
Some tests can be very difficult to write incrementally
What are the roles in XP?
- Developer: just a programmer
- Customer: they know what the thing should do
- Coach: who watches everything
- Manager: who schedules meetings
- Tracker: who goes around a time or two a week
- Tester: who implements and runs functional tests
What is the planning game in XP?
The main planning process, a meeting that occurs once an iteration and is to quickly determine the scope of the next release
What is the difference between release planning and iteration planning?
Release: Determining what requirements are included in which near-term releases
Iteration: Plans the activities and tasks