Want to know if Scrum is a framework or methodology? This is a common question and a confusion point for many people. This article will explain what Scrum is, how it works, and why it is a framework, not a methodology.
Scrum is a popular approach for agile software development. It was created by Ken Schwaber and Jeff Sutherland (with help from Mike Beedle and James Coplien).
Scrum is a simple, lightweight framework for product development. It borrows many of the ideas and values from the agile manifesto. While the agile manifesto just provides some values and principles, Scrum provides a framework for how to put those into action.
Scrum is based around a small cross-functional team, that delivers small product increments, in a short timebox called a sprint. A sprint is one to four weeks long.
Every sprint, the team pulls some backlog items from a Product Backlog, and builds a short plan for how to complete them – the Sprint Backlog. They work with a Product Owner to define a goal for the sprint. The team work together to complete the backlog items and achieve the sprint goal.
The only roles recognized in Scrum are Developer, Scrum Master and Product Owner.
At the end of the sprint, the team shows its work to stakeholders (in a Sprint Review), and discusses how they have worked and how they can improve (in a Sprint Retrospective). There are also some Scrum artifacts: Sprint Backlog, Product Backlog and Product Increment.
Scrum is most definitely a framework. This isn’t even a question or a matter of opinion. We know this because the Scrum Guide itself tells us so!
In the Scrum Definition section, it says clearly:
Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.Ken Schwaber & Jeff Sutherland, Scrum Guide
Scrum is a framework because it doesn’t tell you exactly what to do, or how to do it. It provides a general set of roles, rules and artifacts. And it is supported by three pillars (transparency, inspection and adaptation) and five values (courage, respect, openness, focus, commitment).
Within those roles, rules and artifacts, teams can find their own best ways of doing things. Some say that Scrum is “deliberately left incomplete”. That is, it does not tell you how or when to do integration testing. It does not tell you how or when to do code reviews.
There are a few reasons why Scrum is not a methodology. And was “deliberately left incomplete”. Let’s go through those now.
Scrum is meant to be agnostic of any particular programming method, or technology. In fact, it doesn’t even have to involve technology at all!
There are people that are using Scrum to start a business, make a movie, or manage their home life and affairs. For that to work, Scrum has to be very general. It has not mandate or describe any specific technology tools or practices.
This is very different than some other agile frameworks, like Extreme Programming. Which mandates that everyone does Test Driven Development and Pair Programming, for example.
Everyone is working in different contexts. Some people are working in small startups. Some are working in huge corporations or government departments. Some people are making mobile games. Some people are making medical diagnostic software or drugs. Some people are inventing new technologies. Some people are doing infrastructure work.
There are so many different contexts that defining a strict methodology would be hard. Or maybe impossible or foolish. Some processes that work well for certain teams would be awful for other teams.
Scrum recognises that people are creative and like finding their own way. Product development is special in that every product built is unique and different from any other product. Why would you make a product that was just an identical copy of another product? That is manufacturing, not product development.
So product development is a unique creative activity, that involves exploration, innovation and original thinking. Giving people a framework rather than a strict process to follow helps that come alive. It gives people a space to think outside the box and find their own answers.
Which is what agile is all really about.
So in summary, Scrum is definitely a framework, not a methodology. This is confirmed in the Scrum Guide. And is pretty obvious from looking at how Scrum works.
It provides a lightweight structure within which people can explore and find their own processes and practices. This is difficult for some firms to understand, but is crucial to succeeding with Scrum.
Do you have any other ideas or questions on this topic? I would love to hear about it in the comments. I will read and reply to every single one!