Extreme programming
Template:Infobox software development methodology
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.
History[edit | edit source]
Extreme programming was created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Beck became the C3 project leader in March 1996 and began to refine the development methodology used in the project, eventually publishing his work in the book Extreme Programming Explained in 1999.
Principles[edit | edit source]
XP is based on four simple values: communication, simplicity, feedback, and courage. These values are supported by twelve practices, which are grouped into four areas: fine-scale feedback, continuous process, shared understanding, and programmer welfare.
Fine-scale feedback[edit | edit source]
Continuous process[edit | edit source]
[edit | edit source]
Programmer welfare[edit | edit source]
Practices[edit | edit source]
Extreme programming implements a simple, yet effective, set of practices that are designed to improve the quality of software and the ability to adapt to changing requirements. These practices include:
- Pair programming: Two programmers work together at one workstation.
- Test-driven development: Writing tests before code to ensure functionality.
- Continuous integration: Integrating code into a shared repository several times a day.
- Refactoring: Restructuring existing code without changing its external behavior.
- Small releases: Releasing small, incremental updates to the software.
- Coding standards: Adhering to a set of coding guidelines.
- Collective code ownership: Allowing any team member to change any part of the code at any time.
- Simple design: Keeping the design as simple as possible.
- System metaphor: Using a simple shared story of how the system works.
- Sustainable pace: Working at a pace that can be sustained indefinitely.
Criticism[edit | edit source]
Extreme programming has been criticized for its reliance on pair programming and test-driven development, which some developers find to be inefficient. Additionally, the emphasis on frequent releases and constant feedback can be challenging to maintain in larger projects.
Related Pages[edit | edit source]
- Agile software development
- Scrum (software development)
- Lean software development
- Software development methodology
- Test-driven development
- Pair programming
Template:Agile software development Template:Software development methodologies
Search WikiMD
Ad.Tired of being Overweight? Try W8MD's physician weight loss program.
Semaglutide (Ozempic / Wegovy and Tirzepatide (Mounjaro / Zepbound) available.
Advertise on WikiMD
WikiMD's Wellness Encyclopedia |
Let Food Be Thy Medicine Medicine Thy Food - Hippocrates |
Translate this page: - East Asian
中文,
日本,
한국어,
South Asian
हिन्दी,
தமிழ்,
తెలుగు,
Urdu,
ಕನ್ನಡ,
Southeast Asian
Indonesian,
Vietnamese,
Thai,
မြန်မာဘာသာ,
বাংলা
European
español,
Deutsch,
français,
Greek,
português do Brasil,
polski,
română,
русский,
Nederlands,
norsk,
svenska,
suomi,
Italian
Middle Eastern & African
عربى,
Turkish,
Persian,
Hebrew,
Afrikaans,
isiZulu,
Kiswahili,
Other
Bulgarian,
Hungarian,
Czech,
Swedish,
മലയാളം,
मराठी,
ਪੰਜਾਬੀ,
ગુજરાતી,
Portuguese,
Ukrainian
WikiMD is not a substitute for professional medical advice. See full disclaimer.
Credits:Most images are courtesy of Wikimedia commons, and templates Wikipedia, licensed under CC BY SA or similar.
Contributors: Prab R. Tumpati, MD