Extreme Programming (XP)
When making an issue takes far more time than just doing the work itself. WIP.
TODO: Add lucide icons to mindmap
Introduction
What's Extreme Programming (XP)?
- A set of rigorous software development practices built on top of the Agile methodology.
- Rapid release cadence over tiny development cycles.
- Emphasizes Test-Driven Development (TDD), Pair Programming, Continuous Integration, and Collective Code Ownership.
Core Principles
TODO: Add color schema to mindmap
Feedback loop
TODO: Check color schema for diagram below
Key Practices
Concept | Description |
---|---|
Pair Programming | Two developers work together at one workstation, enhancing code quality and team collaboration |
Test-Driven Development (TDD) | Write tests before writing code, ensuring every piece of code works as intended |
Continuous Integration | Frequently integrate code into the main branch to detect issues early |
Small Releases | Release working software frequently, often in small increments, to get feedback and improve based on customer needs |
Refactoring | Regularly improve and optimize code without changing its functionality |
Sustainable Pace | Avoid overworking the team to maintain a consistent and sustainable workflow |
Collective Code Ownership | Everyone on the team is responsible for all the code. This encourages collaboration and reduces silos |
On-Site Customer | Have someone from the customer side available to clarify requirements and provide immediate feedback |