Extreme Programming in Agile

Extreme Programming in Agile

Table of Contents

Extreme Programming is a technique of agile software development framework whose goal is to produce higher-quality software and a higher-quality IT development team. XP will be considered as specific of the agile frameworks related to appropriate engineering practices for software development.

What are the values of Extreme Programming?

There are five values of XP that will be considered  as

  1. Communication:

Software development will be inherently a team sport that relies on communication to transfer knowledge from one team member to everyone else on the team. XP pressurizes the importance of the suitable type of communication that will be a face-to-face discussion with the aid of a whiteboard.

2. Simplicity

Simplicity means what is going on simplest thing that will work. The main purpose of this is to avoid waste and do only the absolutely necessary things like keeping the design of the system as simple as possible so that it is easy to maintain, support and also revise. Here simplicity means addressing only the requirements that we know about.

3. Feedback

The constant feedback about their previous efforts where teams can identify areas for improvement and revise their practices. Feedback will support a simple design. This team builds something which will collect feedback on the design and implementation and adjust our feedback on the design and implementation.

4. Courage

Courage is defined as effective action in the face of fear. This definition will show a preference for all the actions depending on the principles because the results will not be harmful to the team. We need the courage to accept and also act on feedback when it is difficult to accept.

5. Respect

The members of our team that require respect from one another in order to communicate with each other provide and accept feedback that honours our relationship and also work together to identify simple designs and solutions.

Extreme programming can be taken as a software development methodology, the main intention which satisfies the customer by delivering high-quality, valuable software at small intervals. Scrum framework for sustainably developing complex products that we can use with products apart from software.

How does Extreme Programming work?

Extreme programming and scrum have an approach we can use to develop software in a lightweight, iterative way. These are part of what’s collectively known as agile development methodologies or maybe simply agile. Agile development has many other methodologies like lean development and crystal clear.

The development will start and engineers start implementing the project’s features in the form of user stories. While development engineers will follow the XP engineering practices.

  • By using a pair programming when writing production code
  • By writing unit tests before the production code.
  • The pairs will integrate their code often.
  • By refactoring the code as often as possible
  • By adopting collective ownership of code.

Extreme principles considers as:

Extreme Programming in Agile

The values are significant but they are vague in the sense that it will not be possible to decide if something is valuable. For example, something simple from someone’s point of view may not be complex from someone else’s point of view. The extreme programming, the basic principles will be derived from the values so that the development practices will be checked against the principles

The basic principles of extreme programming:

  • Rapid feedback
  • Assume simplicity
  • Incremental change
  • Embracing change
  • Quality work
  1. Rapid feedback

This is to collect feedback, understand it and put the learning back into the system as soon as possible. Here developers design, implement and test the system and use that feedback in seconds or minutes instead of days, weeks or months.

  1. Assume simplicity

We can assume simplicity can be used to show every problem as is and it can be solved with simplicity. You can have a plan for the future, to design for reuse.

  1. Incremental change

There will be a large changes made at once where it just does not work. Any problem will be solved with a series of the smallest change that makes a difference. Incremental changes are applied in many ways:

The design changes a small at a time

The plan changes a small at a time

The team changes a little at a time.

  1. Embracing change

Here the best strategy that will be one of the options is actually solving our most pressing problem.

  1. Quality work

Everyone desires doing the job. We can try to produce the quality that they can be proud of. The team  always works well

It enjoys the work

It also has a good product of value.

Questions

  1. What is extreme programming and its values?
  2. How Extreme are Programming principles?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share this article
Subscribe
By pressing the Subscribe button, you confirm that you have read our Privacy Policy.
Need a Free Demo Class?
Join H2K Infosys IT Online Training
Enroll Free demo class