0% found this document useful (0 votes)
6 views22 pages

Extreme Programming Final Version (Final)

Extreme Programming (XP) is an Agile methodology focused on enhancing code quality and rapid adaptability to changing requirements, introduced by Kent Beck in the late 1990s. It emphasizes five core values and twelve main practices, including Test-Driven Development and Pair Programming, which have proven effective in projects like Chrysler's C3. XP is best suited for small teams and projects with frequently changing requirements, delivering high quality and quick responses, but may present challenges such as higher costs and the need for customer commitment.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views22 pages

Extreme Programming Final Version (Final)

Extreme Programming (XP) is an Agile methodology focused on enhancing code quality and rapid adaptability to changing requirements, introduced by Kent Beck in the late 1990s. It emphasizes five core values and twelve main practices, including Test-Driven Development and Pair Programming, which have proven effective in projects like Chrysler's C3. XP is best suited for small teams and projects with frequently changing requirements, delivering high quality and quick responses, but may present challenges such as higher costs and the need for customer commitment.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Extreme

Programming
(XP)
GROUP: 03 DATE:2025/09/17
CONTENTS
01 Introduction & History

02 Core Values & Best Practices

03 Processes & Case Studys

04 Evaluate & Select the right fit

05 Comparison & Quick wrap-up


01
Introduction &
XP Definition
Extreme Programming
(XP)
Boost Development Speed

XP is an Agile methodology introduced by Kent Beck, highly focused on code


quality and ability to quickly to changes . It pushes best practices to the ‘extreme‘
level to maximize effectiveness.

In a world of constantly changing requirements and fast delivery pressure, XP is a


practical solution, easy to start with, and delivers visible value.
Historical context leading to XP
In the late 1990s, software projects often run late, went over budget, and failed to meet real needs.

→ 1997 - 1999: Experiment → 1999:


1996: Origins
Kent Beck and his team at Chrysler Annoucement
The Chrysler C3 project faced a The XP methodology was officially
experimented with a new approach:
crisis: tight deadlines and born, paving the way for agile
shorter cycles, more communication,
constantly changing programming.
and continuous testing.
requirements
02
Core Values &
Best Practices
Five Core Values

Communication Simplicity Feedback Courage Respect


Effective direct Keep everything as Constant feebacks from Courage to change, face Respect each other.
communication. simple as possible. co-workers and problems.
customers.
12 Main Practices

Fine-scale Feedback Continuous Process

Continuous Integration: Automation and


Test-Driven Development (TDD): Write
runs tests to catch bugs early
tests before coding.
Pair Programming: 2 programmers work Refactoring: Frequently update the code.
together at a single workstation on.

Planning Game: Plan flexibly with clients. Small Releases: Release small, regular
versions.
12 Main Practices

Shared Understanding Programmer Welfare

Simple Design: Keep design as simple Sustainable Pace: Work at a


as possible. steady, healthy speed.
System Metaphor: Shared analogy for On-site Customer: Customer available
system understanding. daily for feedback.
Collective Code Ownership: Everyone
can change any code.
Coding Standards: Common rules for
writing code.
03
Processes & Case
Study
Software Development Cycle with XP

Source:https://pma.edu.vn/blogs/extreme-programming-xp-la-gi/
Case Study: Chrsler’s C3 project
Salaray management system for 10,000 employees each
months.

Tight deadline, with frequently changing and vague


requiements.

Developed successfully in 1997. Processing time


reduced from 1,000 hours down to 9 hours.

XP can effectively solve the problem, demonstrating


the effectiveness methodology.
Test-Driven Development (TDD) In Practice

Red-Green-Refactor Process

RED
1
Write tests and let them fail.

GREEN
2 Write minimal code to make the tests pass.

REFACTOR
3 Improve and optimize code.
Test-Driven Development (TDD) In Practice

Red-Green-Refactor Process

RED
1
Write tests and let them fail.

GREEN
2 Write minimal code to make the tests pass.

REFACTOR
3 Improve and optimize code.
04
Evaluate & Select
the right fit
The outstanding advantage of XP

High Quality Quick Response Time Easy Collaboration


Reduce errors by 40% using TDD and Short development cycle (1-2 week), Effective team work, knowledge sharing.
Pair Programming. quick and easily adapt.

Quick Delivery Satisfaction Flexible


Finish early by 37%. Increase customer satisfation by40%. Easily adapt to new requirements
Disadvantage & Challenge

Higher costs Require A Good Team


Pair Programming increases 15% time. The team needs good testing, refactoring skill

Customer Commitment Small Scale


Customers must frequently take part in the process Most effective with small teams (5-12 members)

High Stress Less Documentation


Short sprints might cause stress. More focused on code.
When to apply Extreme Programming?

When When not to

 Requirements change frequently.  Large scale, complex project


 Need high code quality.  Stable requirements.
 Experienced small team.  Customers can’t participate
 Customers can also participate.  The team lacks experience about XP
 Project have high techical risk.
05
Comparison &
Quick wrap-up
XP & Scrum: Main Differences
Tiêu Chí XP Scrum

Focus Programming technique Project Management

Sprint length 1-2 weeks 2-4 weeks

Flexibility Changeable during sprints Do not change during sprints

Practices 12 practices Less prescriptive

Team size Small (5-12) Larger

Testing TDD is the main focus Less focused on testing


Summary of Keys Points

XP is an technical-oriented Agile methodology, Based on 5 values and specific 12


focused on code quality. practices.

Suitable for small projects with constantly


Success is with proven with Chrysler C3 project.
changing requirements.

We can combine XP practices within Delivers high quality and outstanding


SCRUM. performant.
Starting XP Today
Step 1: Try pair programming with small projects

Step 2: Apply TDD for new modules.

Step 3: Invite friends to role-play as customers and participate


in the daily meeting.
Step 4: Setup Continuous Integration.

“The best way to learn XP is to practice


XP.” - Kent Beck

You might also like