top of page
Search
Writer's pictureProject_Lifebelt

Extreme Programming XP

Another agile methodology besides the commonly known Scrum and Lean Software development like Kanban is extreme programming.

Whereas Scrum and Lean methods have more or less only certain rules on the process, extreme programming in its own nature also defines certain rules regarding the software development of the project as well. Since the core is programming and software development, it is also not applicable to projects that do not involve software development. Under the following circumstances Extreme Programming could be beneficial for your project:1

  • Dynamically changing software requirements

  • Risks caused by fixed time projects using new technology

  • Small, co-located extended development team

  • The technology you are using allows for automated unit and functional tests

In general, extreme programming consists of the following four main pillars:23

  1. Coding

  2. Testing

  3. Listening

  4. Designing

Coding

If you do not have anything to code, you have nothing to do. Coding is the heart of extreme programming and delivers the results for the customer. You also write your code doing pair programming, so that you ensure higher quality of the software from the beginning.

Testing

Testing is crucial, because it ensures that your developed software is great and behaves as it should. There are different kind of tests:

  • Unit tests – should be written even before starting to code

  • Acceptance tests – check the customer requirements

  • Integration tests – integration with other systems

Listening

It is very important that the software which is developed, meets the needs of the customer, because otherwise it is only waste. Therefore, extreme programming dedicates this point mainly to the customer-developer interaction. It is also important that a customer or someone speaking for the customer is available for the team all the time.

Designing

Happens regularly between the developers and allows to design the system in a future proof way, so it ensures flexibility when adding new features or changes.

Main Features of Extreme Programming

Besides the above-mentioned pair programming, there are three features that in my opinion make extreme programming a great framework after all: 4

  • Test Driven Development

  • Before a developer starts the test, he or she writes the testcase first, this increases the quality and awareness. It also relies on a rule that says that the build of the software should be maximum 10 minutes.

  • Planning Game

  • As in Scrum the developers discuss requirements together with the customer to set the scope and define the requirements

  • Continuous deployment

  • Changes are immediately tested and committed to the code base after finishing, so that you can catch on integration issues as soon as possible.

2 views0 comments

Recent Posts

See All

Brainstorming

Definition Process for generating creative ideas and solutions through intensive and freewheeling group discussion. Process Every...

Comments


bottom of page