Is Agile the same as Scrum?

When you talk to people about agile and scrum, you will find the terms are being used as if they were synonyms. You might starting to suspect that agile and Scrum are two different names for the same animal. This is however not correct. When we look at the terms agile and scrum, you will find that;

 Scrum is just one of the many iterative and incremental agile project delivery frameworks. This makes Scrum is a variant of an agile approach. Scrum is a framework, agile is a methodology. Scrum does not provide detailed instructions to what needs to be done rather most of it is dependent on the team that is developing the software. Because the team developing and delivering the project knows how the problem can be solved that is why much is left on them

Cross-functional and self-organising teams are essential in case of scrum. There is no team leader in this case who will assign tasks to the team members rather the whole team addresses the issues or problems. It is cross-functional in a way that everyone is involved in the project right from the idea to the implementation of the project.

In the SCRUM framework, a Sprint is the basic unit of development. Each Sprint starts with a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made. A Sprint ends with a review or retrospective meeting where the progress is reviewed and lessons for the next sprint are identified. During each Sprint, the team creates finished portions of a Product.

In the Agile methods each iteration involves a team working through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders.

So as in a scrum Sprint you perform all the project development phases (from requirement analysis to acceptance and testing), which is the basic of an Agile way of working and provides the biggest benefits, you can say that a scrum Sprint corresponds to an agile Iteration.

This makes scrum is a specific flavour of agile, specifically it is referred to as an agile project management framework. Scrum has mainly two types of roles inside its framework, these can be defined as:

  • Main/Core Role

  • Ancillary Role

When we first start looking at the Main/Core role we can discover that scrum has three of these (when you click on the role you will find a full explanation and descriptions);

  • Scrum Master,

  • Product Owner,

  • Development and Delivery Team member.

When we start looking at the Ancillary Role, we can find the following: The ancillary roles in Scrum teams are those with no formal role and infrequent involvement in the scrum procession but nonetheless, they must be taken into account. Some examples of these roles are;

  • Stakeholders

  • Line managers

  • Subject Matter Experts (SME’s)

  • Customer representatives

The member of these role have a stake and a place in the project delivery, but are not part of the core team. The people in these roles are consultant by the core team members and can be added to scrum meetings (or ceremonies), whenever a contribution needs to be made.

When you assess the scrum framework a bit further you will find that the scrum framework defines, or makes use of, six different types of structured meetings. These meetings are called scrum ceremonies. Within the scrum framework the following ceremonies are mandatory (when you click on the ceremony you will find a full explanation and descriptions).

  1. Daily Scrum / Stand-up

  2. Backlog grooming: storyline

  3. Scrum of Scrums

  4. Sprint Planning meeting

  5. Sprint review meeting

  6. Sprint retrospective

 The advantage of working according the scrum framework is that a project’s direction to be adjusted is based on completed work (Shippable Product), not on speculation or predictions.

As I summary, what I can say is that Agile is an evolutionary methodology from Unified Process which focuses on Iterative and Incremental Development. This Iterative and incremental development emphasises the iterative development more on construction phases (actual creation of the product) and incremental deliveries (a version of the working product (shippable product) will be enhanced further with every new iteration). It wouldn't emphasise more on Requirements Analysis (Inception) and Design (Elaboration) being handled in the iterations itself. So, Iteration here is not a "mini project by itself".

In Agile, we take this Iterative and Incremental Development a bit further, adding more realities like Team Collaboration, Evolutionary Requirements and Design etc. Scrum is the tool to enable all of this by considering the human factors and building around 'Wisdom of the Group' principle. So, Sprint here is a "mini project by itself" bettering a pure Iterative and Incremental Development model.

This means that iterations implemented in the agile way are, yes, theoretically Sprints (highlighting the size of the iterations being small and deliveries being quick).  All of this lead me to see that scrum is a natural way of putting the agile principles into use.