Extreme Programming (XP) Flashcards

Agile Method

1
Q

What is Extreme Programming (XP)?

A

It is a software development centric method of Agile

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

What are the Core Values?

A
  • Simplicity
  • Communication
  • Feedback
  • Courage
  • Respect
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the XP roles?

A
  • Coach
  • Customer
  • Programmers
  • Testers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the XP practices?

A
  • Planning Activities (Games)
  • Release Planning
  • Iteration Planning
  • Small Releases
  • Customer Tests
  • Collective Code Ownership
  • Code Standards
  • Sustainable Pace
  • Metaphor
  • Continuous Integration
  • Test Driven Development (TDD)
  • Pair Programming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are Planning Activities (Games)?

A

Meeting where team and customer work together to create and estimate user stories.

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

What is Release Planning?

A

The push of new functionality all the way to production user.

Developers estimate build difficulty; customer outlines required functionality

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

What is Iteration Planning?

A

Short development cycles with in a release conducted at the start of every iteration

Similar to Sprint Planning

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

What is a Small Release?

A

Frequent, small functional increments.

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

What are Customer Tests?

A

Automated tests built by development team to demonstrate that software is functional and meets customer standards

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

What is Collective Code Ownership?

A

Practice of whole-team responsibilty and multiple people working on all codes, resulting in:
* increased visibility
* shared knowledge of code base
* decrease in errors
* increase in quality

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

What are Code Standards?

A

Promotes consistency with common set of practices with end product looking as if it is written by a single, knowledgeable programmer.

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

What is Sustainable Pace?

A

A development pace that optimizes the delivery of long-term value and minimize burnout.

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

What are Metaphors?

A

Along with similies, metaphors are a concept used to describe designs and create shared technical vision, which helps to establish comparisons that all stakeholders can understand.

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

What is Continuous Integration?

A

Critical practice that involves merging codes to ensure they are compatible and exposing problems before more codes are built on top of faulty or incompatible designs.

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

What is Test-Driven Development (TDD)?

A

Technique that involves writing an automated test prior to developing the code, then refactoring the code until it passes the test.

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

What is Pair Programming?

A
  • Process where two developers write the code and provide real-time reviews of software.
  • Helps to spread system knowledge to team and leads to fewer defects due to transparency.
17
Q

What is Simple Design?

A

Uses the simplest method to write code that is:
* Testable
* Understandable
* Browsable
* Explainable

18
Q

What is Refactoring?

A
  • Process of removing redundancy, eliminating unnecessary functions, and rejuvenating obselete designs.
  • Saves time and inreases quality if done throughout the project life cycle. This way code is kept clean and concise.