Differences between XP and Scrum

Tami Reiss, CEO, Cyrus Innovation
248
395
75

WHAT’S RIGHT FOR YOUR TEAM?

Agile is useful if you want to develop and deliver great, work­ing products to a client quickly and efficiently.

There are tons of Agile flavors, with more constantly under development.

Which Agile flavor is right for your project or team?

Well, Scrum is the most popular. But we at Cyrus advocate for Extreme Programming (XP). Though two are pretty similar, we think the key differences make XP shine.

"Which Agile flavor is right for your project or team?"

WHAT IS EXTREME PROGRAMMING (XP)?

Just like other Agile processes, XP improves software devel­opment through collaboration between self-organized, cross-functional teams. XP focuses on small projects, with daily standups to check that everyone’s working towards the same goals.

Within XP, there’s also:
• multiple short development cycles (“iterations”) each ending with functional products
• test-driven development (TDD), continuous integration, and continuous delivery
• paired programming (one computer shared by two develop ers)
• frequent communication between the team and the customer
• planning for, expecting, and adapting to changes
• a self-regulating team with a flat management structure

HOW ARE XP AND SCRUM SIMILAR?

We wouldn’t blame you if you couldn’t tell them apart at first.

1. Focus on quality, error-free product delivery as fast as possible.
2. Short development cycles – “Sprints” in Scrum, “Iterations” in XP.
3. Rely on regular meetings throughout cycles to track the plan.

WHAT’S THE DIFFERENCE?

It might not seem like much, but these subtle differences are re­ally important. It impacts how your team functions and delivers.

1. Different development cycle times and results

XP’s iterations are usually 1-2 weeks ending in functional soft­ware, while Scrum sprints are closer to 2-6 and can often include “links to nowhere”.

2. Different ways of prioritizing tasks

In XP, the customer/product owner weighs opinions from devel­opment and design then decides on the development order for new features.

In Scrum, the product owner specifies feature priority, but the team still develops in the order they chose within the sprint. Ad­ditionally, only the features assigned can be worked on during a sprint; extra time is spent in “slack”.

3. Different change allowances/ accommodations

XP is flexible and accommodating to changes made during iteration, and often encourages changes if the improve the efficiency of the code or product.

Scrum teams do not allow changes during a sprint. If a big change is necessary, the current sprint will end and a new sprint will be­gin.

4. Different use of engineering practices

XP strongly encourages teams to use certain practices such as test-driven development, pair programming, automated testing, and continuous integration.

Scrum does not require any specific practices. Instead, teams can choose engineering methods according to project requirements.

WHY XP OVER SCRUM AND BASIC AGILE?

We think XP is a better choice for most teams, when adapted cor­rectly.

XP helps us efficiently deliver products and features, on target and on brief.

1. Functional products at every step of the way

With continuous testing, teams constantly make sure the products are working and functional. It helps avoid errors and problems, saving time and energy in the long run.

2. Better collective ownership of code

Every team member takes responsibility for code quality, and any member can take the initiative to change code to fix bugs or improve functionality. It saves time and means individuals don’t have to wait for permission to move a project forward.

3. Clarity on customer requirements

Teams are required to communicate with and involve their cus­tomer in development. Teams are clear on what the customer wants, reducing confusion.

4. Better managed expectations across teams

The constant communication within teams and with the customer means teams understand what’s expected. Concerns are addressed immediately.

5. Incremental improvements through regular retrospectives

It allows for constant improvements and helps projects move for­ward rather than stopping to look back later and correct old problems. The aim is always to check as you go to make sure things are working.

WHAT’S YOUR AGILE FLAVOR?

Cyrus specializes in helping teams scale Agile practices. We don’t believe that any one practice is required to be Agile, and we help companies work out which parts of all of the flavors will work best for their team and their project.

Before advising, we think about the following:
• How important is it that you know the software is functional?
• Is your team distributed across time zones?
• Who should be involved in the retrospectives?
• Do we only need pairing on harder problems or all the time?
• When is solo or mob programming appropriate for our needs?
• Do we need to test everything, or can we be selective about what  we test?
• How can the development team integrate with UAT or  exploratory testing teams?

Read Also

The Death of Azure Remote App: Will a Phoenix Rise from the Ashes?

Chris Ward, CTO, GreenPages Technology Solutions

Creating an Innovative Environment

Kurt Madden, CTO, Fresno Unified School District

Microsoft's Ascent into the Cloud

Sandy Jacolow, Chief Information Officer, Silverstein Properties, Inc.

On POINT with SharePoint 2010

Onyeka Nchege, VP and CIO, Interstate Batteries