XP

0.0(0)
Studied by 1 person
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/44

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 8:26 AM on 11/21/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

45 Terms

1
New cards

What is the full name for ‘XP’? 

Extreme Programming

2
New cards

Who developed Extreme Programming?

Kent Beck

3
New cards

Where was it first used?

On the Crysler Comprehensive Compensation (C3) program.

4
New cards

Who was brought in to improve the system?

Ron Jeffries

5
New cards

When was Extreme Programming developed?

March 6, 1996

6
New cards

Main objective for Extreme Programming

Improve software quality and responsiveness to customer needs.

7
New cards

Extreme Programming has a relation to what?

Agile methodology

8
New cards

5 principles of XP

  1. Communication

  2. Simplicity

  3. Feedback

  4. Courage

  5. Respect

9
New cards

These 5 principles align with what?

Agile values and principles

10
New cards

First 6 core ‘XP’ Principles

  1. The Planning Game

  2. Customer Tests

  3. Small Releases

  4. Simple Design

  5. Pair Programming

  6. Test-Driven Development

11
New cards

Last 6 core ‘XP’ Principles

  1. Refactoring

  2. Collective Ownership

  3. Continuous Integration

  4. Sustainable Pace

  5. Metaphor

  6. Coding Standards

12
New cards

The Planning Game

  • Collaboration between developers and customers.

  • Determining goals and timelines.

  • Dynamic adjustment as the project evolves.

13
New cards

Customer Tests

  • Developers acceptance tests to match user stories.

  • Ensuring delivered features meet customer needs.

14
New cards

Small Releases

  • Delivering software incrementally.

  • Early and frequent releases to gain customer feedback.

15
New cards

Simple Design

  • Focusing on simplicity and avoiding overcomplication.

  • Delivering just what is necessary.

16
New cards

Pair Programming

  • Two developers working together at one workstation

  • Benefits of collaboration include code quality and knowledge sharing.

17
New cards

Test-Driven Development

  • Writing tests before coding.

  • Ensuring code quality with automated tests.

18
New cards

Refactoring

  • Cleaning up code to improve design and maintainability.

  • Removing duplication and enhancing code readability.

19
New cards

Collective Ownership

  • Encouraging any team member to modify any part of the code.

  • Promotes responsibility and shared accountability.

20
New cards

Continuous Integration

  • Frequently integrating code into a shared repository.

  • Reduces integration problems and ensures consistent quality.

21
New cards

Sustainable Pace

  • Avoiding burnout by maintaining a consistent and reasonable work pace.

  • Establishing achievable deadlines based on team capacity.

22
New cards

Metaphor

  • Using a shared metaphor to simplify the system’s design and communication.

  • Example: “The system is like a library.”

23
New cards

Coding Standards

  • Enforcing a consistent coding style across the team.

  • Ensures readability and maintainability of code.

24
New cards

What is XP?

An agile software development framework that aims to produce higher-quality software and a higher quality of life for development team.

25
New cards

‘XP’ is the most specific of what?

The agile frameworks in terms of engineering practices.

26
New cards

When is Extreme Programming applicable and name some of the general characteristics where it is appropriate?

  • When you have dynamically changing software requirements

  • Fixed-time projects using new technology

  • A small co-located extended development team.

  • The technology allows automated unit and functional tests.

27
New cards

Why might ‘XP‘ not be fully suitable in some situations?

  • ‘XP’ is quite specific when it is a set of engineering principles.

  • Many contexts may not allow full ‘XP’ usage, but you can still adopt as many of the practices as your context allows.

28
New cards

Communication

This is key because software development is a team sport and it emphasizes face2face discussion to transfer knowledge quickly among team members.

29
New cards

Simplicity

  • Means “What is the simplest thing that will work?”

  • The aim is to avoid waste, design only what is absolutely necessary, keep system design as simple as possible so it’s easier to maintain, support, revise, and avoiding trying to predict the future.

30
New cards

Feedback

  • Through constant feedback about previous efforts, teams can identify areas for improvement and revise practices and design.

  • Feedback supports simple design because you build, get feedback, and adjust going forward.

31
New cards

Courage

  • Defined as “effective action in the face of fear.”

  • Needed in ‘XP‘ to raise organizational issues, stop doing what doesn’t work, and try something else, accept and act on feedback even when difficult.

32
New cards

Respect

  • Team members must respect each other so communication, feedback, and work together on simple designs and solutions can happen.

  • Required to create a healthy team environment

33
New cards

7 refined/modern practices

  1. Sit together

  2. Whole team

  3. Informative Workspace

  4. Energized Work

  5. Team-Minute Build

  6. Ten-First Programming

  7. Incremental Design

34
New cards

Typical roles in an ‘XP‘ team

  1. Customer

  2. Developer

  3. Tracker

  4. Coach

35
New cards

Customer

Responsible for business decisions (what the system should do, acceptance criteria, how much to spend, what to do next) and is actively engaged.

36
New cards

Developer

Everyone (besides the customer and optional roles) is considered a developer; responsible for realizing stories.

37
New cards

Tracker

  • Optional

  • A developer may take this part‑time to track metrics when the team sees value.

38
New cards

Coach

  • Optional

  • Someone experienced in XP who helps mentor the team in XP practices and self‑discipline.

39
New cards

What is the lifecycle of an ‘XP‘ project in terms of cycles?

  • First

  • Release/Quarterly Cycle

  • Weekly Cycle

40
New cards

First

  • Customers define stories (feature descriptions).

  • The team estimates size and value so the customer can prioritize.

  • Spikes (time‑boxed research) may be used for unclear stories.

41
New cards

Release/Quarterly

  • The team and customer make a release plan for quarter / release

  • Stories may change.

42
New cards

Weekly Cycle

  • At start of each week, team + customer decide which stories will be delivered that week.

  • Break into tasks.

  • End of the week, team + customer progress and decide to continue or stop.

43
New cards

What is the primary contribution of ‘XP’ to software development?

The interdependent collection of engineering practices that help teams be more effective and produce higher-quality code.

44
New cards

A primary contribution of ‘XP‘ to software development is also what?

The focus on practice excellence: the method prescribes a small number of essential practices and encourages teams to perform them as well as possible (almost to the “extreme”).

45
New cards

What does “extreme” mean in Extreme Programming?

  • Taking sound engineering practices and applying them in an intense, disciplined way

  • Pushing best practices to their limits so the benefits are maximized.