Skip to content

Latest commit

 

History

History
96 lines (89 loc) · 4.95 KB

File metadata and controls

96 lines (89 loc) · 4.95 KB
title Extreme Programming
description An Agile software development methodology that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments.
tags
Risk Frameworks
Agile
Extreme Programming
featured
class element
c
<image-artifact imgsrc="/public/templates/risk-first/posts/xp.svg">XP</image-artifact>
method
practices
tag reason use
Pair Programming
XP encourages two developers working together at one workstation, which improves code quality and facilitates knowledge sharing.
Collective Code Ownership
tag reason use
Automated Testing
XP emphasizes writing tests before coding, ensuring that the software meets its requirements from the start.
Test Driven Development (TDD)
Unit Testing
tag reason use
Integration Testing
XP practices include integrating code into a shared repository frequently, which helps in identifying integration issues early.
Continuous Integration
tag reason
Refactoring
XP encourages continuous refactoring to improve the design of existing code and maintain its quality.
tag reason
Coding
Coding is a core activity in XP, with an emphasis on clear, simple code.
tag reason
Release Delivery
XP focuses on frequent, small releases to ensure the software is always in a shippable state.
tag reason use
Stakeholder Management
XP involves customers directly in the development process to ensure the software meets their needs.
Customer Involvement
On-Site Customer
tag reason use
Retrospectives
XP relies on continuous feedback from tests, customers, and developers to improve the software.
Continuous Feedback
tag reason use
Automation
XP emphasizes the use of automated tests to ensure the software works as expected.
Automated Testing
tag reason
Documentation
XP values communication, which can include necessary documentation, but prioritizes working software and direct communication.
tag reason use
Requirements Capture
XP captures requirements through user stories and continuous dialogue with the customer.
User Stories
tag reason
Debugging
Debugging is an essential part of the development process in XP.
tag reason use
Estimating
XP uses practices like planning games to estimate the time and resources needed for tasks.
Planning Game
tag reason use
Monitoring
Monitoring progress through daily stand-ups and frequent releases is integral to XP.
Daily Stand-ups
tag reason
Version Control
Version control is a best practice in software development, including in XP.
tag reason use
Tool Adoption
XP teams often adopt specific tools to manage the backlog, tests, and collaboration.
Coding Standards
tag reason
Training
XP teams engage in continuous learning and improvement, often through practices like pair programming.
tag reason
Performance Testing
Ensuring the software performs well under expected workloads is a practice within XP.
tag reason
Review
XP includes regular reviews to assess progress and make necessary adjustments.
tag reason
Approvals
XP involves customer approval during frequent releases and continuous customer involvement.
tag reason
Configuration Management
Configuration management helps maintain the consistency of the product's performance in XP.
tag reason use
Design
XP emphasizes the simplest design that works, avoiding unnecessary complexity.
Simple Design
Metaphor

Description

"Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent 'releases' in short development cycles, which improves productivity and introduces checkpoints at which new customer requirements can be adopted." - Extreme Programming, Wikipedia

Extreme Programming (XP) is an Agile framework that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments. Key practices in XP include pair programming, test-driven development, continuous integration, refactoring, and simple design. XP focuses on improving software quality and responding to changing customer requirements through frequent releases and continuous feedback.

In addition to the practices described above, XP promotes a sustainable work pace to avoid burnout, encouraging a maximum of 40-hour work weeks and avoiding overtime as much as possible.

See Also