michaela-damm.jpg
blocshop
September 02, 2021
0 min read

Scrum vs. Extreme Programming (XP): What's the difference?

Scrum vs. Extreme Programming (XP): What's the difference?.png


We've covered the Software Development Life Cycle (SDLC) and the Agile development framework. Now it's time to look at different methodologies and approaches to their implementation. There are several, but we'll focus in this article on just two of them, Scrum and Extreme Programming (XP). We'll look at the differences between them and how they can even be used together for even better results.

What is Scrum?

Scrum is a lightweight approach to Agile software development. It helps teams and organizations create value through flexible and cooperative development and problem-solving. It breaks down complex projects into logical and manageable chunks.

Scrum uses a Scrum Master to build and maintain an environment where:

  1. The Product Owner orders the work for a complex problem into a Product Backlog;

  2. The Scrum Team turns part of that work into an ‘increment of value’ during a Sprint;

  3. The Scrum Team and its stakeholders review the results and adjust for the next Sprint;

  4. Repeat.

The Scrum 'pillars' are transparency, inspection and adaptation. These pillars are expressed and addressed through all 'events' during any particular 'Sprint'. The 'events' in a Scrum are:

The Sprint

The 'Sprint' contains all of the Scrum events. They are the manageable chunks that make up the entire project. It is during the Sprint that ideas are turned into value. Through a series of 'sprints', the project is finished. A Sprint cycle in Scrum will consist of a month or less of development time.

During the Sprint:

  • No changes are made that would undermine the Sprint Goal;

  • Quality does not suffer;

  • The Product Backlog is adjusted as needed; and,

  • The scope of the Sprint may be refined and redefined with the Product Owner as more is learned.

The Sprint is further divided into the following events:

Sprint Planning

Sprint Planning kicks off the Sprint by defining the work to be performed in the Sprint. The resulting plan is created by the collaborative work of the entire Scrum Team.

Sprint Planning asks (and answers!) the questions Why? What? And how? Why are we setting these particular goals for this Sprint? What do we plan to do? How will we achieve the(se) Sprint goal(s). While this happens at the beginning of every Sprint, it is reinforced (and/or modified) at each ‘daily scrum’. This allows for both inspection and adaptation.

Daily Scrum

The Daily Scrum is a 15-minute stand-up meeting of the entire Scrum Team. Its purpose is to inspect (assess) progress toward the Sprint Goal(s). It's also an opportunity to adapt the Sprint Backlog as necessary, adjusting the day’s upcoming (previously-planned) work. This creates focus and improves self-management.

Daily Scrums promote better communication, help to identify stumbling blocks, allow for quick decision-making, and eliminate further and needless meetings.

Sprint Review and Sprint Retrospective

Sprint Review involves the presentation of all of the work accomplished during the Sprint. Sprint Retrospective identifies what went well, what went wrong and how the development process may be improved for the next Sprint. The next Sprint begins the following day and this cycle repeats until the project is finished. Learn more about the topic in Sprint Reviews and Sprint Retrospectives blog post.

What is Extreme Programming (XP) and how is it different from Scrum?

In an XP project, work happens in short(er) iterations that can last from one to three weeks. Before each iteration, the development team and all relevant stakeholders decide how much work can be done during that period. The customer prioritizes the work that needs to be done, and the team members commit to the amount of work they estimate they can deliver during that particular iteration.

As opposed to Scrum, development ‘sprints’ (iterations) are much shorter, so production is quicker and the feedback loop is tighter. While Scrum relies more on self-management, XP is much stricter in its engineering practices. XP engineers must:

  • write unit tests before the production code (Test-Driven Development);

  • use pair-programming when writing production code;

  • pairs must integrate their code often (continuous integration);

  • refactor the code as often as possible;

  • adopt 'collective ownership' of the code (this allows for better collaboration and integration = fewer bugs and cleaner code).

Related post: Agile vs. Scrum: Which is better for your project?

The Difference is in the details:

Scrum and XP are both approaches to and methodologies of Agile software development, so they have a lot in common. While the differences may be subtle, they're very important:

  1. Scrum teams usually develop in iterations (called Sprints) that are from two weeks to one month long. XP teams tend to develop in iterations that are one to two weeks long.

  2. Scrum teams do not allow for any major changes in their Sprints. Once the Sprint Planning meeting is completed and a commitment made to delivering a set of Product Backlog items, that set of items is set in stone. XP teams are much more flexible within their iterations and can easily swap out a major requirement, provided work has not yet begun on it.

  3. XP teams work in a strict priority order. Features are prioritized by the customer (Scrum’s Product Owner) and the team works on them in that particular order. By contrast, it’s the Scrum Product Owner who prioritizes the Product Backlog. But it's the team that determines the sequence in which they will develop those items.

  4. Scrum doesn’t prescribe any engineering practices; XP does - a lot (see above).

Both approaches provide flexibility and adaptability, but at different points and levels of the development cycle. See the table below:

Aspect / Practice

Scrum

XP

Cycle (iteration):

2 – 4-week ‘Sprints’

1 – 2-week iterations

Priority determined by:

The Team (loose)

The customer (strict)

Changes to Backlog:

Not allowed

Flexible

Validation:

End of the Sprint (Review)

Before any code is written

Prescribed Engineering Practices:

None

Many

Ultimate responsibility:

The Scrum Master

Any developer (collective)

Both frameworks have a lot to offer, so which to choose? Well, that depends on the project and the team, but the good news is you don’t have to choose! You can apply the best practices and approach of both; perfectly-suited to each individual project! Here at Blocshop, we rely mostly on Scrum for our projects, as we feel it provides the greatest flexibility and freedom to our developers while still focusing on outcomes. But we also apply aspects of other methodologies depending on project and customer requirements. We are always open to fashioning an individual, per-project, hybrid methodology to overdeliver, early and under budget, the cleanest code and maximize customer value.


Learn more from our insights

hybrid ERPs.png
March 21, 2024

Hybrid ERP: An Innovative Approach to Enterprise Resource Planning

Hybrid ERP is a blend of cloud and on-premise solutions. With expertise in both, Blocshop is uniquely positioned to help you with hybrid ERP development and implementation.

0-4 cover.png
October 03, 2023

IT Staffing: Individual Hiring vs. Specialized Developer Teams

Should you hire individual developers or go for a specialized, custom-built developer team?

chatgpt-35-limitations.jpg
July 17, 2023

ChatGPT-3.5: An Overview and Limitations

In this article, we'll take a closer look at the capabilities and limitations of ChatGPT-3.5, providing you with a comprehensive overview of what it can do and what its boundaries are. So, let's delve into the inner workings of this large language model.

gpt4 vs gpt3-5 and the key differnces.png
June 15, 2023

A Deep Dive into GPT-4 vs GPT-3.5 Differences and Ability to Revolutionize Software Development

There are key differences between ChatGPT-3.5 and ChatGPT-4 that software developers and companies procuring software solutions alike should be aware of. Let's see how these differences affect the output generated by these models on specific examples.

ai-development-cto-2023.jpg
May 09, 2023

AI-powered software development: What CTOs need to know in 2023

As technology continues to evolve at a rapid pace in 2023 and beyond, CTOs must stay ahead of the curve by utilizing predictive analytics, automated testing processes, and deployment solutions.

ai-web-development.jpg
May 05, 2023

How Artificial Intelligence is changing web development

AI technology is now being used in many different industries, including web development. It’s important to understand the impact that AI can have on web development as it can help companies to create more efficient and user-friendly websites.

cto-ai-software-development.jpg
May 05, 2023

How AI-powered software development is changing the role of the CTO

As AI-powered software development becomes increasingly commonplace, CTOs must prepare themselves to take on a new set of responsibilities that require more than just technical know-how.

build-mvp.jpg
April 17, 2023

How to build a minimum viable product (MVP)

The MVP is the version of a new product that allows Blocshop and your team to collect the maximum amount of validated learning about customers with the least amount of effort. The essence of your core idea is delivered as a barebones solution. The solutions is, however, sufficient for usage by early adopters. As a product, it has tangible qulities that express a look and feel.

ai-tools-developers.png
March 21, 2023

10 AI tools for developers you should know about in 2023

For developers, programmers, and data scientists, AI coding solutions can free up thinking time, allowing such professionals to focus on the fundamentals of their projects, and complete such projects much faster.

web-app-ideas.png
February 14, 2023

17 Ideas for Web Apps in 2023

Gazillions of web apps and ideas for web apps are floating around the metaverse - so creating one that properly represents a unique brand is a huge challenge. Our list provides a number of areas of simple app ideas to help businesses transform their online presence through a web app.

Top 15 micro-SaaS ideas for your startup in 2023.png
December 06, 2021

Top 15 micro-SaaS ideas for your startup in 2022

What exactly do we mean by micro SaaS? Micro Saas solutions use a web browser or mobile app interface. Micro SaaS solutions usually come about through the effort of an individual or very small team. It aims to solve precise problems. Micro SaaS projects have small budgets and overhead. Customers use Micro SaaS solutions on a monthly or yearly subscription basis. Micro SaaS projects target a small niche of the consumer market.

Software engineer hourly rates in 2021 (based on experience and location).png
November 22, 2021

Software engineer hourly rates in 2022 (based on experience and location)

Region influences salary more than any other factor. Taxes rates, cost of living, and government benefit programs affect the rates software developers charge. Software developers in the USA  and Canada earn more than software developers in other countries.

The best programming languages for app development in 2022.png
November 15, 2021

The best programming languages for app development in 2022

Software developers usually have three main ways to create an app. They can choose to code a native app, a hybrid app or a progressive web app. Developers create native apps to function on one specific platform, usually either iOS or Android. They create these apps using Swift or Objective C for iOS. For Android they use C++, Kotlin or several other languages. 

Cross-platform mobile app development: Tools & frameworks for 2022.png
November 09, 2021

Cross-platform mobile app development: Tools & frameworks for 2022

The cross-platform development project aims to create apps compatible with several operating systems. Cross-platform apps work on iOS, Android, and Windows. Cross-platform apps look and feel like apps developed specifically for the operating system.

App development cost breakdown in 2022.png
November 08, 2021

App development cost breakdown in 2022

Your business needs an app, but you aren’t sure about the cost of creating an app. Without some figures, you can’t even begin to estimate the potential budget, so let’s get you sorted with the information you need to make your app a reality.

unnamed.png
November 04, 2021

Web app development: a detailed guide

The best web apps give a responsive and engaging user experience through a browser instead of a single application. Think of web app development as a super-charged website. Web apps have many features of mobile apps coded for iOS or Android without the need to code for specific platforms. Developers create web apps using HTML, javascript, Python and CSS.

15 useful web app development tools for 2021.png
October 29, 2021

15 useful web app development tools for 2022

Web development vs app development: Choose the best for your business.png
October 19, 2021

Web development vs app development: Choose the best for your business

Outsource web development in 2021 and beyond: benefits & tips.png
October 15, 2021

Outsource web development in 2021 and beyond: benefits & tips

8 IT outsourcing trends in 2022.png
October 11, 2021

8 IT outsourcing trends in 2022

More and more firms choose to outsource their IT operations and functions. IT outsourcing grows each year. The Gartner report announced that firms spent $3.8 billion dollars on IT outsourcing in 2019. They expect that the trend will continue. Companies aiming for digital transformation need partners and tools. They need tools that they cannot build in-house with speed and accuracy.