Xtreme Programming Flashcards

1
Q

What is and why XP?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the XP values?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the essence of XP?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the XP practices?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How are user requirements expressed in XP?

A

scenarios or user stories which are broken down by the development team into tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How does XP handle change?

A

XP believes that you cannot design for change since it cannot be reliably anticipated

So we propose constant code improvements (refactoring) instead

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does testing work in XP?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the role of the customer in the development process?

A

To help develop acceptance test for the stories

New code is validated with the customers needs too

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some difficulties with XP testing?

A

Programmers prefer programming to testing, i.e., shortcuts and lazy test cases will be made

Some tests can be very difficult to write incrementally

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the roles in XP?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the planning game in XP?

A

The main planning process, a meeting that occurs once an iteration and is to quickly determine the scope of the next release

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the difference between release planning and iteration planning?

A

Release: Determining what requirements are included in which near-term releases

Iteration: Plans the activities and tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly