Extreme programming
(New page: 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...) |
JaninaVoigt (Talk | contribs) (More info about XP) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | Extreme Programming (XP) is a | + | 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] | + | * [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 |
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
- Extreme Programming @ Wikipedia
- eXtreme Programming: A Practitioner's Approach Short slide about XP, illustrating a few basis