internet.com
You are in the: Small Business Computing Channelarrow View Sites +
Small Business Technology
» ECommerce-Guide | Small Business Computing | Webopedia | WinPlanet |  »Close
Webopedia.com
Enter a word for a definition... ...or choose a computer category.
 
 

menu
   Home
   Term of the Day
   New Terms
   Pronunciation
   New Links
   Quick Reference
   Did You Know?
   Categories
   Tech Support
   Webopedia Jobs
   About Us
   Link to Us
   Advertising
  

talk to us
   Submit a URL
   Suggest a Term
   Report an Error

internet.com
Developer
Downloads
International
Internet Lists
Internet News
Internet Resources
IT
Linux/Open Source
Personal Technology
Small Business
Windows Technology
xSP Resources
Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
commerce
  Be a Commerce Partner
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Extreme Programming
Last modified: Thursday, May 29, 2003 

A discipline of software development that follows a specific structure that is designed to simplify and expedite the process of developing new software. Kent Beck developed Extreme Programming to be used with small teams of developers who need to develop software quickly in an environment of rapidly-changing requirements.

XP teams design software for specific functionalities without adding any functionalities that are not specifically requested that may slow down the process, keeping the development course simple through systematic and regular testing and design improvements.

Extreme Programming is based on 12 principles:

  • The Planning Process -- The desired features of the software, which are communicated by the customer, are combined with cost estimates provided by the programmers to determine what the most important factors of the software are. This stage is sometimes called the Planning Game.
  • Small Releases -- The software is developed in small stages that are updated frequently, typically every two weeks.
  • Metaphor -- All members on an XP team use common names and descriptions to guide development and communicate on common terms.
  • Simple Design -- The software should include only the code that is necessary to achieve the desired results communicated by the customer at each stage in the process. The emphasis is not on building for future versions of the product.
  • Testing -- Testing is done consistently throughout the process. Programmers design the tests first and then write the software to fulfill the requirements of the test. The customer also provides acceptance tests at each stage to ensure the desired results are achieved.
  • Refactoring -- XP programmers improve the design of the software through every stage of development instead of waiting until the end of the development and going back to correct flaws.
  • Pair Programming -- All code is written by a pair of programmers working at the same machine.
  • Collective Ownership -- Every line of code belongs to every programmer working on the project, so there are no issues of proprietary authorship to slow the project down. Code is changed when it needs to be changed without delay.
  • Continuous Integration -- The XP team integrates and builds the software system multiple times per day to keep all the programmers at the same stage of the development process at once.
  • 40-Hour Week -- The XP team does not work excessive overtime to ensure that the team remains well-rested, alert and effective.
  • On-Site Customer -- The XP project is directed by the customer who is available all the time to answer questions, set priorities and determine requirements of the project.
  • Coding Standard -- The programmers all write code in the same way. This allows them to work in pairs and to share ownership of the code.

Often abbreviated as XP, Extreme Programming should not be confused with Windows XP.

E-mail this definition to a colleague


For internet.com pages about Extreme Programming . Also check out the following links!

Related Links

eXtreme Programming eXperienced 
This case study illustrates how a small U.K. software firm used component-based architectures supporting the XP model to rapidly execute a project.

Extreme Programming Holds Promise for Intranet Development  
This article from Intranet Journal examines the way Extreme Programming works in practice.

Using RUP for Small Projects: Expanding Upon eXtreme Programming 
A white paper from Rational explaining the different elements of RUP. (pdf)

eXtreme Programming
A list of Extreme Programming workshops, services and links.

Extreme Programming: A Gentle Introduction
An easy-to-follow explanation of Extreme Programming with diagrams that show different stages in the XP process.

XProgramming.com
News and information, publications and community resources for Extreme Programming.

related categories

Programming

Software

related terms

functional specification

programmer

refactoring

RUP

software

software entropy

SSADM


webopedia
Give Us Your
Feedback


Software
Extreme Programming Products


Shop by Top Models:
Extreme Networks ExtremeWare Full Layer 3 Upgrade Version for PC
1 store offers from $5863 - $5863

Extreme Networks ExtremeWare Full Layer 3 Upgrade Version for PC
1 store offers from $4540 - $4540

Extreme Networks ExtremeWare Advanced Edge (License Only) for PC
1 store offers from $550 - $550

Extreme Networks ExtremeWare Advanced Edge Upgrade Version (License Only) (1 Switch/es)
3 store offers from $676 - $752

Extreme Networks EPICenter 5.0 Full Version (License Only) for PC, Unix
2 store offers from $4938 - $5130



JupiterWeb networks:

internet.comearthweb.comDevx.com graphics.com

Search JupiterWeb:

Jupitermedia Corporation has three divisions:
Jupiterimages, JupiterWeb and JupiterResearch


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | Shopping | E-mail Offers