YogeshChauhan . com

What is XP (Extreme Programming) and When should it be used?

in Misc on April 18, 2020

Definition

As mentioned on the agile alliance, Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team.

XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

It is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. Emphasize on the phrase "changing customer requirements".

It has frequent "releases" in short development cycles, which is intended to improve productivity and in every cycle new customer requirements are adopted, allowing both team members and customers to examine and review the project’s progress throughout the entire SDLC.

Kent Beck created extreme programming and it's an agile project management methodology. Some of these practices and values are from other project management methodologies.

Traditional software engineering practices are taken to "extreme" levels and that's why they call it, Extreme Programming.

Communication is very frequent between the customer and among the programmers.

When should Extreme Programming be Used?

Keep this phrase in mind: "requirements change".

You should use XP in all the following cases:

1. If your customers may not have a firm idea of what the system should do. OR You may have a system whose functionality is expected to change every few months.

2. Risk: If your customers need a new system by a specific date the risk is high. If that system is a new challenge for your software group the risk is even greater. If that system is a new challenge to the entire software industry the risk is greater even still. The XP practices are set up to mitigate the risk and increase the likelihood of success.

3. If you have a small team. XP is set up for small groups of programmers. Between 2 and 12, though larger projects of 30 have reported success. You can not use XP on a project with a huge staff.

4. If the communication is very frequent between the team and customer. XP requires an extended development team. The XP team includes not only the developers, but the managers and customers as well, all working together elbow to elbow. Asking questions, negotiating scope and schedules, and creating functional tests require more than just the developers be involved in producing the software.

5. Testability. You must be able to create automated unit and functional tests. It will give a push to XP and overall software development.

Sources

dreamhost

Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to uninstall Cocoapods from the Mac OS? #4 How to add Read More Read Less Button using JavaScript? #5 How to Use SQL MAX() Function with Dates? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

May 7 How to disable right click and drag and drop of images using jQuery? May 7 How to render Lists in React? May 7 What’s the difference between variables in CSS and SCSS (Sass)? May 7 How to define variables in SCSS (Sass)? May 7 How to show and hide an element on click in React? May 5 Use inline if to make a shorter conditional syntax in React

You might also like these

Revisiting variable scope in JavaScriptJavaScriptHow to remove special characters (dash, asterisk etc) from any string in PHP?PHPThe Difference Between the echo and print Commands in PHPPHPCREATE DATABASE in PostgreSQLPostgresComponents and Props in ReactReactHow to Write Complex Search Queries in SQL?SQL/MySQL