Agility & Extreme Programming Flashcards

1
Q

Agile Development

A
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Agile Development Principles

A

Agile development is a mindset, not a framework. Key principles include:
1. Satisfy customers with early, continuous delivery.
2. Embrace changing requirements.
3. Frequently deliver working software.
4. Build around motivated individuals.
5. Keep it simple.

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

XP - Practices: Planning game

A
  • Customers decide the scope and timing of releases based on estimates made by programmers
  • Programmers implement only functionally demanded by stories in this iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

XP - Practices: Small releases and short release cycles

A
  • Working system early
  • Releases anywhere from daily to monthly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

XP - Practices: Metaphor

A

A story that customers, programmers, and managers can tell about how the system works

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

XP - Practices: Test driven development

A
  • Programmers write unit tests
  • Customers write functional tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

XP - Practices: Refactoring

A
  • System evolves though transformations of existing designs
  • A change that leaves system behavior unchanged, but enhances its quality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

XP - Practices: Pair programming

A

All code is written by two people at one screen, keyboard, mouse

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

XP - Practices: Continuous integration

A

Not more than one day between code integration

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

XP - Practices: On-site customer

A

A customer sits with the team full-time

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

XP - Practices: Collective ownership

A

Every programmer improves any code anywhere in the system at any time if he sees the opportunity

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

XP - Practices: Coding standards

A

Sign up to follow team rules

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

XP - Practices: 40-hour weeks

A

No one can work a consecutive week overtime

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

XP - Benefits

A
  • Changing requirements are handled
  • A useful system version is developed early
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

XP - Problems

A
  1. Lack of central and important documents
    - Requirement specification, system design:
    a) Are test cases able to substitute requirements
    b) The architecture is only in the heads of the architects
  2. Traceability
    - Changing requirements and new design decisions imply modified and new test cases
  3. Test cases have to be maintained very well
    - expensive!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly