Definition

Extreme Programming (XP)

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.

This was last updated in August 2008
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

  • Gray box testing and other XP practices on display at STP conference

    Agile expert Howard Deiner to explain gray box testing and other important Extreme Programming techniques that bring developers and testers together.

  • No silver bullets for software developers

    Matt Heusser challenges the idea that there are no silver bullets in software development, suggesting that new approaches to software delivery can actually change the essence of how the work is done, including examples for your team.

  • Danube's Dan Rawsthorne: Scrum teams and metrics

    Dr. Dan Rawsthorne, PhD, is a certified Scrum trainer and coach at Danube Technologies Inc. Before joining Danube, Rawsthorne spent nearly a decade working as an expert focused on agility, use cases, and object-oriented technologies for such companies as Net Objectives, AccessVia and Iconix, and as an independent contractor. One of the talks he presented at the recent Agile 2009 conference was on agile metrics, which is a central topic of his upcoming book, tentatively titled Advanced Topics in Scrum.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: