There’s a lot of confusion about “What Is Agile” and “What Is Scrum?”. This article provides a very brief explanation. Loose terminology is a big source of this confusion. For example, many people use the word “Agile” when they really mean “Scrum”.
Difference Between Agile and Scrum
For that reason, it is important to clearly understand the difference between Agile and Scrum. Here’s the difference:
- Agile is a philosophy that is based on the Agile Manifesto Values and Principles
- Scrum is a specific approach for implementing that philosophy
If you want to learn more about Agile, check out this article on “What Is Agile – How Would You Define It? – What Does It Really Mean?”
What is Scrum?
Here’s the official explanation for “What is Scrum” from the Scrum Alliance:
“Scrum is a process framework used to manage product development and other knowledge work.
Scrum is empirical in that it provides a means for teams to establish a hypothesis of how they think something works, try it out, reflect on the experience, and make the appropriate adjustments.
That is, when the framework is used properly, Scrum is structured in a way that allows teams to incorporate practices from other frameworks where they make sense for the team’s context.” – Agile Alliance
What Is a Framework?
Many people will say that it is inaccurate to call Scrum a “methodology” and that it really is a “framework”. What’s the difference? Here are a two key differences:
- A “framework” is not very prescriptive and is normally adapted to fit a situation
- A “methodology” is more prescriptive and provides a specific and well-defined approach for arriving at a solution
Empirical versus Defined Process Models
A related factor to understand the difference between a “framework” and a “methodology” is the difference between an “empirical” process model and a “defined” process model:
Defined Process Control Model
A “Defined Process Control Model” attempts to define every piece of work in advance in order to develop a detailed plan for completing the work. There are two very important characteristics of a Defined Process Control Model:
- Repeatable – A Defined Process Control Model will produce the same outputs every time for the same set of inputs
- Predictable – The results of a Defined Process Control Model are predictable in advance
For example, the diagram below shows a figurative depiction of a defined process control model using a well-defined methodology that is repeatable:
Defined Process Control Model
A traditional plan-driven project management approach as defined in PMBOK and a Waterfall model are examples of methodologies that follow a Defined Process Control Model.
Empirical Process Control Model
An “Empirical Process Control Model” is a style of work that leverages the principles of inspection, adaptation, and transparency. For that reason, an Empirical Process Control Model works best where the result that is needed is uncertain and the process to produce the result may also be not well-defined.
The diagram below shows a figurative depiction of how an empirical process control model works. Basically, the process is not as well-defined and uses an incremental and iterative process based on some level of experimentation to try to arrive at an optimum solution.
Empirical Process Control Model
A key point is that in an empirical process control model, you’re not really sure exactly what the solution will be and you’re also not exactly sure of what the optimum process for arriving at a solution is. Scrum is an example of an empirical process control model.
The key difference between the two process control models is related to the level of uncertainty in the project:
Low Level of Uncertainty
With a relatively low level of uncertainty, a defined process model might work best especially if there is a goal of being predictable because it is a predictable and repeatable model.
- To achieve predictability, you would typically use a Defined Process Model because all of the work can be planned in advance
- A Defined Process Model may also be more efficient because the work can be planned and organized in advance
For example, you would be very likely to use a Defined Process Model if you were building a house where it is important to have some predictability over the costs and schedule for completing the house.
Higher Level of Uncertainty
With a higher level of uncertainty, an empirical process model might work best because it provides a more adaptive approach for arriving at an optimum solution.
- It may be less efficient than a Defined Process Model because it may require more trial-and-error but
- It is much more likely to produce a more optimum solution, especially in an uncertain environment.
For example, if you set out to find a cure for cancer or some other disease that has no known cure, the solution is probably not well-known when you start the project and it likely requires some level of experimentation to arrive at at an optimum solution.
How Does Scrum Work?
Scrum uses an empirical process model that continuously refines both the product and the process to produce the product as the project is in progress. For that reason, Scrum works best in an uncertain environment.
Scrum Is Incremental
A Scrum process breaks up all the work into short development increments called “sprints”
- Sprints are limited to a fixed-length that is normally 2-4 weeks long
- The Product Owner prioritizes all work based on business value. That enables the team to deliver value as quickly as possible
Scrum Is Also Iterative
At the end of each sprint, the Product Owner and any important stakeholders review the results of the sprint and provide feedback and inputs
- Providing direct feedback and inputs is essential to optimize the solution
- Reviewing the results at the end of each sprint enables rapid learning for ongoing continuous improvement
You can find related articles on the topic of “Choosing the Right Approach” here:
You will find much more detail on this in my Online Agile Project Management Training.