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 Solution to the error “Visual Studio Code can’t be opened because Apple cannot check it for malicious software” #2 How to add Read More Read Less Button using JavaScript? #3 How to check if radio button is checked or not using JavaScript? #4 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to uninstall Cocoapods from the Mac OS?

Recently Posted

#Apr 8 JSON.stringify() in JavaScript #Apr 7 Middleware in NextJS #Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface
You might also like these
What is HTMLUnknownElement?HTMLWhat is Host Hardening and What are some Important Hardening Steps?MiscellaneousArguments in @mixin rules in SCSS (Sass)SCSSList of WordPress directories functionsWordPressPHP Login System using PDO Part 1: Create User Registration PagePHPThe difference between isFinite() method and isFinite() function in JavaScriptJavaScript