Extreme Programming vs. Scrum

Mark ArntzTue, 06/05/2018 - 09:40
Subject

At the beginning of my career I became an OS/2 developer.  Windows won the head-to-head competition for the PC operating system market hands down.  Was Windows a better OS?  Many would argue the other way around.  Much of the choice likely came down to marketing.  Windows was marketed as cool for the home user and OS/2 was marketed to business.  As Windows took over the home user market, why would people in business want to learn two different OS’s?  Both operating systems sprung from the same beginning and were very similar, but Windows won.

Extreme Programming (XP) and Scrum are two quite similar Agile methodologies. 

Scrum Framework
Scrum Framework

You may not be able to distinguish all the similarities of these two pictures, but both have loops in the middle which shows iterations.  Scrum’s iteration is maximum of 4 weeks, and XP’s starts at 1 week.  When Kent Beck first created XP the iteration length was 3 weeks.  You see here that the User Story is called out on the XP diagram, but the Product Backlog above represents a list of User Stories as well.  On the diagram below you see testing.  Testing is more explicit in XP, but it is not missing from Scrum.  In fact, frequently Scrum organizations use the same testing approaches from XP to ensure quality in Scrum.

XP Framework
XP Scrum

The people who are the greatest champions of XP are technical people.  The people who are the greatest champions of Scrum tend to be more the project management type.  The foundations of XP are engineering practices that help the development team embrace change.  Automated testing and continuous integration create a safety net that facilitates change even late in development.  Doesn’t Scrum need that as well?  Of course it does, but it’s a matter of what comes first, technical engineering practices or the management approach.  Scrum starts with the management approach and then grows into the technical practices and XP begins with technical practices and the management approach more from the start.

It’s a matter of what comes first, technical engineering practices or the management approach.

Kent Beck created XP.  It was first implemented on a large, in-flight project at Chrysler.  Kent was very prepared to implement the technical practices and the team had been working together for some years on the project.  When they started doing XP (the name actually came later) they were in panic mode and they needed to prove quickly that they could make good progress towards delivering the solution.  Under Kent’s guidance this was possible.  Lacking the high technical expertise, it is doubtful that it would have been as successful.

In today’s Agile world, 75% of Agile teams are doing some flavor of Scrum.  One of those flavors is Scrum/XP, a mash-up of both Scrum and XP.  Scrum being used as the framework (again not largely different than the XP framework) and combined with the XP technical practices to create feedback loops that act as safety nets that facilitate change.  XP at the begin of this century was the more well known Agile methodology (Agile wasn’t really a name for it yet). 

But Scrum has accelerated forward and passed XP in popularity for some of the reasons mentioned above.