Yogesh Chauhan's Blog

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

in Miscellaneous 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


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 add Read More Read Less Button using JavaScript? #4 How to uninstall Cocoapods from the Mac OS? #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to Use SQL MAX() Function with Dates?

Recently Posted

#Aug 15 Is PHP still good for back-end programming? #Aug 10 How to create a multisite network in WordPress? #Aug 3 How to create a circle that follows a cursor using JavaScript and CSS? #Aug 3 How to make a curtain slider using jQuery and CSS? #Aug 2 How to progressively load images and add a blurry placeholder? #Aug 1 How to create a placeholder loader (throbber) using CSS?
You might also like these
What is a “promise” in JavaScript?JavaScriptHow to control file extensions with an .htaccess file?MiscellaneousPre-defined DatePipe format options in Angular 9AngularWhat is HTMLUnknownElement?HTMLAll different methods for accessing elements in the DOM using JavaScriptJavaScriptIntroduction to Angular modules Part 3: NgModules vs JavaScript modules and Angular librariesAngular