Extreme programming

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(More info about XP)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
Extreme Programming (XP) is a methodology in software engineering. It includes pair programming and code tests. In contrast to the [[Waterfall process]], the development of the software is done in short cycles with many releases.
+
Extreme Programming (XP) is a software development process. In contrast to the [[Waterfall process]], extreme programming is an agile development process where software is incrementally developed in short iterations with many releases.
 +
 
 +
Extreme programming introduces many interesting practices including:
 +
*Timeboxed iterations
 +
*Pair programming
 +
*Customer involvement
 +
*Test-first development
 +
*Extensive code reviews
 +
*Unit testing for all code
 +
*[[You ain't gonna need it]]
 +
*Flat management structure
 +
*Overtime limits
 +
*User stories
 +
 
 +
Extreme programming was first proposed by OO gurus including [[Kent Beck]] and [[Ward Cunningham]].
 +
 
 +
The idea of extreme programming and agile software development in general may have originated from the works of architect [[Christopher Alexander]] (see [[The Alexander conspiracy]]). Alexander for example suggested that users of a building should be directly involved in the design process because they know better than the architect what needs they have for the building. This is similar to XP where customers play a central role in the development process. Alexander philosophy of incremental, organic, coherent design is also evident in agile development processes.
  
 
== See Also ==
 
== See Also ==
[http://en.wikipedia.org/wiki/Extreme_Programming Extreme Programming @ Wikipedia]
+
* [http://en.wikipedia.org/wiki/Extreme_Programming Extreme Programming @ Wikipedia]
[http://www.slideshare.net/tsg.developer/extreme-programming-a-practitioners-approach-presentation eXtreme Programming: A Practitioner's Approach] Short slide about XP, illustrating a few basis
+
* [http://www.slideshare.net/tsg.developer/extreme-programming-a-practitioners-approach-presentation eXtreme Programming: A Practitioner's Approach] Short slide about XP, illustrating a few basis

Latest revision as of 03:49, 22 July 2009

Extreme Programming (XP) is a software development process. In contrast to the Waterfall process, extreme programming is an agile development process where software is incrementally developed in short iterations with many releases.

Extreme programming introduces many interesting practices including:

  • Timeboxed iterations
  • Pair programming
  • Customer involvement
  • Test-first development
  • Extensive code reviews
  • Unit testing for all code
  • You ain't gonna need it
  • Flat management structure
  • Overtime limits
  • User stories

Extreme programming was first proposed by OO gurus including Kent Beck and Ward Cunningham.

The idea of extreme programming and agile software development in general may have originated from the works of architect Christopher Alexander (see The Alexander conspiracy). Alexander for example suggested that users of a building should be directly involved in the design process because they know better than the architect what needs they have for the building. This is similar to XP where customers play a central role in the development process. Alexander philosophy of incremental, organic, coherent design is also evident in agile development processes.

See Also

Personal tools