- Extreme Programming (XP) is a pragmatic approach to program development that emphasizes business results first and takes an incremental, get-something-started approach to building the product, using continual testing and revision.
Kent Beck, author of Extreme Programming Explained: Embrace Change, developed the XP concept. According to Beck, code comes first in XP. However, Beck emphasizes that in order to write the code, you have to write a test for it first so that you will know when your code succeeds. Beck also introduces the relatively novel idea that code should be written by pairs of programmers, forcing the main programmer to describe the code to the other programmer and perhaps to stimulate further ideas.
Beck calls Extreme Programming a "lightweight methodology" that challenges the assumption that getting the software right the first time is the most economical approach in the long run. Beck's fundamental idea is to start simply, build something real that works in its limited way, and then fit it into a design structure that is built as a convenience for further code building rather than as an ultimate and exhaustive structure after thorough and time-consuming analysis. Rather than specialize, all team members write code, test, analyze, design, and continually integrate code as the project develops. Because there is much face-to-face communication, the need for documentation is minimized.
 |
Learn more about Extreme Programming (XP) |
| Better software through debugging and unit testing: Bugs plague software project big and small, and today's complicated software makes debugging more difficult than ever. Let these tips, tutorials, podcasts and articles help you. |
| Better software through debugging and unit testing -- Other useful resources: Here is a list of books, blogs and Web sites that can offer you more information on debugging, unit testing, XP and test-driven development. |
| Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD: Unit testing is a key element of Extreme Programming (XP) and test-driven development (TDD). These tips, tutorials and articles will help you further understanding unit testing. |
| Addressing software quality issues with development models, methods: Each development model has its own practices for building quality software. The challenge is determining which one fits your needs. The resources here can help you decide. |
| Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?: Agile software development calls on developers to write clean code, according to Robert "Uncle Bob" Martin. This free chapter introduces the concepts and methods of clean code. |
| CONTRIBUTORS: |
Torsten Mohrin |
| LAST UPDATED: |
14 Aug 2008
|
 |
Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com
|

 |
More resources from around the web:
|


');
// -->


 |
 |
|  |
RELATED GLOSSARY TERMS
| Terms from Whatis.com − the technology online dictionary |
 |
continuous integration
(SearchSoftwareQuality.com)
Continuous integration (CI) is a software engineering practice in which developers integrate their work frequently. The practice is thought to enable...
|
 |
JUnit
(SearchSoftwareQuality.com)
JUnit is an open source framework designed for the purpose of writing and running tests in the Java programming language... (Continued)
|
|

|