Extreme programming and Scrum could be two peas in a pod. If you were to look in on a XP meeting, it would look a lot like a scrum meeting. So, what's the deal? Learn the differences and similarities of Scrum and extreme programming.
Overview of XP and Scrum
Extreme Programming (XP) and Scrum methodology are a lot alike. XP is a core set of practices that are used to quickly develop quality software program to customers. The goal of this methodology is to deliver what the customer is looking for in the quickest way possible, with as few as possible or no bugs at all. XP is based on 12 software development best practices but takes these practices to the next level.
Scrum is also focused on delivering quality products as quickly as possible. Scrum is all about removing anything that causes the process to stall or cause a product to be delivered late. In their goals and methodologies, Scrum and XP are both very similar. They both use sprints and start off with a planning meeting. The difference with the meetings is that the Scrum master runs the Scrum meetings and generally the customer runs the XP meetings. Scrum has continual meetings at the end or beginning of each day. XP doesn’t.
Sprints and Prioritization
Another difference between the two is the length of sprints. XP sprints usually only last one week. After the end of the week, the programmers will provide to the customer a working system that is bug free. XP doesn’t worry about product release. These teams are more worried about delivering a working system.
In Sscrum, sprints are generally two- to four-weeks long. And, in Scrum, the end goal is to deliver a working product. So, Scrum is worried about that product release date. Another difference between Scrum and XP as far as the sprints go is flexibility. Scrum teams are not allowed to make changes during a sprint while XP teams will change their sprints. If something is needed to be done more than another feature, as long as that other feature has not been worked on, it can be switched with something else.
XP prioritizes things by customer. It’s the first come, first served motto. Scrum’s workload is determined by the Scrum product owner. He/she prioritizes the product backlog based on what’s the higher priority, then they move onto what’s the next highest priority on down.
The final major difference between XP and Scrum is that XP uses engineering principles and Scrum doesn’t. These can include the following: automated testing, test-driven development and pair programming. One thing that’s really great about something like test-driven development is that an XP developer or programmer won’t work on coding for a project until a failing test case has been done. Basically, the customer provides the acceptance test to the developers so that the developers have something to compare the feature that they are working on.
While these are major differences, Scrum and XP are very similar. If you looked in on an XP team meeting, it would look a lot like a Scrum meeting. Both methodologies are focused on defect- or error-free features and products and improving quality. XP and Scrum just take different approaches on how to get there.