- 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 called 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 re-factoring,
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 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.