extreme programming | has definition A process model and methodology that provides a disciplined approach to highly incremental and user-centred development of small projects | ![2001-08-30 14:55:34.0](facet.gif) |
has philosophy software developers should not need to be overworked, so overtime should not be needed | ![2001-08-30 14:55:34.0](facet.gif) |
has principles - The development team includes all the stakeholders
- Large requirements documents are replaced by short user stories which dictate project planning
- Releases are small and frequent
- Planning takes place just before the start of each iteration
- Scope, resources and time are the three project variables that can be changed. Management can only dictate two of these; the developers determine the third
- Quality should not be sacrificed
- In order to ensure high quality, design for testability is emphasized: Automated test cases are written before the software is developed
| ![2001-08-30 14:55:34.0](facet.gif) |
has web site www.extremeprogramming.org ![](url.gif) | ![2001-08-30 14:55:34.0](facet.gif) |
is popular for small projects that involve uncertain, changing requirements and other sources of high risk | ![2001-08-30 14:55:34.0](facet.gif) |
is a subtopic of 11.2 - Software Process Models | ![2001-08-30 14:55:34.0](facet.gif) |
is an instance of methodology | ![2001-08-30 14:55:34.0](facet.gif) |
is an instance of process model | ![2001-08-30 14:55:34.0](facet.gif) |
promotes the use of CRC cards, a focus on simplicity, creation of 'spike' throwaway prototypes when difficult technical issues are encountered, merciless restructuring of code, frequent integration, programming in pairs, and continual improvement | ![2001-08-30 14:55:34.0](facet.gif) |
methodology | describes detailed sequences of steps for performing analysis and design | ![2001-08-30 14:56:35.0](facet.gif) |
is often supported by tools developed by the author of the process, or others | ![2001-08-30 14:56:35.0](facet.gif) |
usually describes aspects of project management | ![2001-08-30 14:56:35.0](facet.gif) |
usually requires the use of a particular notation and the production of documentation in particular formats | ![2001-08-30 14:56:35.0](facet.gif) |
process model | functions as an aid to thinking, not as a rigid prescription of the way to do things | ![2001-08-30 14:57:05.0](facet.gif) |
helps the project manager and his or her team to decide what work should be done and in what sequence to perform the work | ![2001-08-30 14:57:05.0](facet.gif) |