Extreme Programming
Computer Science: OCR A Level, topic 2.3.6
Extreme Programming
Extreme programming is an agile methodology that is good for rapidly changing user requirements.

Extreme planning
- Extreme planning is the first stage, where the client is in constant communication with the project team to establish the requirements.
- The project then goes into the 'planning game' to plan out releases and what will be in each iteration.

Extreme designing
- The project team then moves into extreme designing where they will build simple designs that implement the needed functionality.
- During this they will develop what is known as the 'project metaphor'.
- This is a way to describe the project and build it up.

Extreme programming
- The project team then move into extreme programming where they will develop the agreed items from the planning game.
- During this time the programmers work in pairs with one coding and the other critiquing the code.

Extreme testing
- Once development is completed then it moves to extreme testing where the code is tested in units.
- Integration testing is also completed to ensure it works together and the code is reviewed for efficiency and quality.

Acceptance testing
- Acceptance testing is where the client feeds back on the product in its current stage.
- This is then taken into the next iteration of extreme planning for the next release, and the progress all repeats until the project is completed.
Test yourself on Extreme Programming
Extreme Programming
Which type of testing occurs during the extreme testing phase?
How many programmers work together on each team?