From the course: Agile Foundations

Extreme programming

From the course: Agile Foundations

Extreme programming

- Another popular framework for agile teams is Extreme Programming, the creators of Extreme Programming or XP were also a key part of the group that wrote the manifesto. Some agile experts believe that most of what teams think of as agile actually came from XP. XP allows software teams to work quickly and embrace changes. These teams can quickly pivot to take advantage of new information. They call the methods Extreme because they thought to deliver software effectively, you needed to make extreme changes to the software development process. At first glance, scrum shares a lot of the same ideas as extreme programming. In fact, the very first scrum book said that you should use scrum to implement XP. But scrum took a slightly different path. It broke away from XP and became a looser framework that you could use with any product. XP is still only focused on software development. That means if you're an agile software development team, you should probably consider using many of the XP practices. A few of these practices are agile planning, continuous integration, software refactoring and test driven development. Most agile teams already use some form of XP's agile planning. One of the most popular are agile user stories. User stories are a short description of a feature that's written in the language of the customer. So a customer might create a user story that says something like, "I want the user to be able to input their address." You can see that this isn't technical. You don't talk about databases or web forms. Instead, it's just a simple description of what the customer wants. Agile teams will use these stories as a way to start their planning process. They'll create estimates and decide how many stories they can deliver in each sprint. XP also encourages something called continuous integration. In the past, software development teams might work on some code and then try to integrate it all at the end. XP teams continuously integrate their code. They do this to make sure that it will work with the whole product. They'll also refactor the product. That means instead of trying to finish the software all at once, they'll refine it and improve it over time. An XP team isn't satisfied when the software's finished. They always look to improve the code through constant refactoring. Finally, XP teams try to create tests for their software before they actually start development. This is called test driven development or TDD, and it helps developers understand how the software will work before they actually start coding. So in a sense, they'll know how to finish before they get started. If you're a software development team, there's a lot of value in these XP practices. That's why many software teams use a combination of scrum and XP to help them embrace an agile mindset.

Contents