2.3.4

Extreme Programming

Test yourself

Extreme Programming

Extreme programming is an agile methodology that is good for rapidly changing user requirements.

Illustrative background for Extreme planningIllustrative background for Extreme planning ?? "content

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.
Illustrative background for Extreme designingIllustrative background for Extreme designing ?? "content

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.
Illustrative background for Extreme programmingIllustrative background for Extreme programming ?? "content

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.
Illustrative background for Extreme testingIllustrative background for Extreme testing ?? "content

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.
Illustrative background for Acceptance testingIllustrative background for Acceptance testing ?? "content

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.

Merits & Drawbacks of Extreme Programming

Software development methodologies are suitable in different situations and all of them have positive and negatives.

Illustrative background for Merits of extreme programmingIllustrative background for Merits of extreme programming ?? "content

Merits of extreme programming

  • Like agile, extreme programming can produce a product quickly for the client to be able to sell or use.
    • The product is then quickly incremented for improvements and additional features.
  • The project is constantly refactoring in response to continuous client feedback.
    • This can save time and money for developing.
  • The project is at lower risk of failure, as the client has guided the project with their continuous feedback.
Illustrative background for Drawbacks of extreme programmingIllustrative background for Drawbacks of extreme programming ?? "content

Drawbacks of extreme programming

  • The project can be too code focused and not design focused so may not be the best possible product and extreme programing produces little to no documentation.
  • If the developers are split geographically it can cause issues when it is time for code review.
Illustrative background for UsageIllustrative background for Usage ?? "content

Usage

  • Extreme programming is best suited to projects where the client has a constantly changing set of requirements, but needs a product quickly to get to market and for the lowest possible price.

Jump to other topics

1Components of a Computer

2Software & Software Development

3Exchanging Data

4Data Types, Data Structures & Algorithms

5Legal, Moral, Cultural & Ethical Issues

6Elements of Computational Thinking

6.1Thinking Abstractly

6.2Thinking Procedurally

6.3Thinking Logically

7Problem Solving & Programming

8Algorithms

Go student ad image

Unlock your full potential with GoStudent tutoring

  • Affordable 1:1 tutoring from the comfort of your home

  • Tutors are matched to your specific learning needs

  • 30+ school subjects covered

Book a free trial lesson