Table of Contents
Agile: a brief history and definition
According to the definition by Atlassian, Agile “is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches”. It can also be defined as a philosophy that explains how to successfully deliver software to a client.
This methodology was officially introduced in 2001 with the creation of the Agile Manifesto, signed by 17 developers, including Martin Fowler, Jeff Sutherland, Jon Kern, and others. The main idea behind Agile was to find an alternative to existing software development processes that were perceived by many as complex, unresponsive, and too focused on unnecessary documentation.
Being a philosophy, Agile does not provide developers with specific guidelines on how to organize their work processes. Instead, it outlines what should be paid attention to, what should be prioritized, and what values should be considered. There are four fundamental values:
- Individuals and interactions over processes and tools;
- Working software over comprehensive documentation;
- Customer collaboration over contract negotiation;
- Responding to change over following a plan.
As you can see, the whole idea behind Agile is being responsive, proactive, and flexible. This methodology also lists 5 desired outcomes of a successful software delivery which are:
- Better
- Value
- Sooner
- Sample Item
- Safer
- Happier
The 12 principles of the Agile Manifesto
Though it might seem different, the Manifesto is surprisingly concise and consists of less than 300 words. It includes 12 principles that describe how a work process should be approached. The principles are based on this idea because Agile is focused on continuous delivery. Examples of these principles are:
- Creating processes that promote sustainable efforts.
- Having the team reflect at regular intervals on how to become more effective, then tuning and adjusting behavior accordingly.
- Harnessing change for a competitive advantage.
You can find all 12 principles on the official page but you get an overall idea – the team should focus on quality and efficiency. As well, Agile heavily promotes self-organized teams by the means of independent work, and self-motivation.
Scrum: a brief history and definition
In order to properly compare Scrum methodology vs Agile, we need to define Scrum as well. If we again turn to Atlassian, it defines Scrum as “a project management framework that helps teams structure and manage their work through a set of values, principles, and practices”. Scrum is also known as the most common Agile framework as its values directly intercept with Agile principles. The first version of Scrum Guide was published in 2010 only and its main goal was to help people better understand Scrum.
The most significant difference between Scrum vs Agile is that Scrum is a guide or a set of definite and specific steps to follow. So while Agile describes what makes a great development environment, Scrum explains how to create one.
The main idea behind Scrum is a continuous improvement as well as high transparency and seamless teamwork. Scrum also lists three main team roles that are to be found in any Scrum-driven team:
- Product owner: responsible for the overall project delivery and definition of goals and vision;
- Scrum master: responsible for facilitating communication in the team and for ensuring everyone understands Scrum and how to follow its principles;
- Developers: responsible for product creation.
One more important thing to remember about Srum is that it promotes work in short development cycles called sprints. A sprint can last between 1- 4 weeks and all work is built on the results of the previous sprint. In this way, the planning of future work is based on the feedback from stakeholders and thus, Scrum ensures high transparency and alignment between all stakeholders and team members.
You may also find the following articles interesting:
The 5 Scrum values
Scrum also has several definite values. They are:
- Focus
- Openness
- Commitment
- Respect
These values imply that every team member should base their decisions and work on these values, meaning, a team member has to be respectful towards others, has courage in decision-making, be committed to the work process, etc.
In addition to the values, it’s also worth mentioning the 3 pillars of Scrum aka:
- Transparency
- Inspection
- Adaptation
These pillars fit into the Agile philosophy perfectly because, if we refer to the Manifesto, we may find statements as such “responding to change over following a plan”. Hence, there is not really much sense in comparing Scrum versus Agile. As you can see, both promote flexibility, transparency, response to changes, and a high level of commitment. And their similarities do not end here.
How Scrum supports Agile
An important thing to remember is that you can implement Agile without necessarily implementing Scrum. But if you work by Scrum, you are by default following the Agile philosophy.
There are several other methodologies that you may consider in addition to Scrum. They are Kanban, Extreme Programming, Crystal, and Lean Development. However, Scrum remains one of the most common and popular frameworks and there is a good reason for that.
The thing is, Scrum greatly complements Agile and vice versa. Let’s have a look at a few examples. Agile states that “our highest priority is to satisfy the customer through early and continuous delivery of valuable software”. Scrum perfectly aligns with this statement by encouraging regular collection of feedback from end users and using this feedback as a base for further work.
Another Agile statement goes like this: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly”. Scrum allows for achieving high efficiency via regular retrospective meetings where team members discuss what they have done and what can be improved (and how).
And these are just a few examples. So the point is, you don’t really have to choose between Scrum and Agile as they match perfectly.
Comparing Scrum vs Agile head-to-head
Since these two terms seem to intercept and somewhat merge, it might be confusing to tell one from another. Hence, we’ve prepared a brief comparison of Scrum vs Agile to help you clearly distinguish one from the other.
Agile | Scrum | |
---|---|---|
Goa | 2001 | Early 1990s |
Type | Philosophy | Framework |
Focus on | Continuous delivery | Continuous improvement |
Management | Self-organizing teams | Three key roles |
Documentation | The Agile Manifesto | The Scrum Guide |
Flexibility | Medium | High |
Implementation framework | Does not provide | Provides |
Alternative | Waterfall | Kanban, Crystal, Lean Development, Extreme Programming |
When to choose Agile and/or Scrum?
Many people try to consider the difference between Agile and Scrum when they decide on what to choose for their software development project. As you can see from the table above, there are alternatives to both Agile and Scrum. So how do you know which one is the best option for you?
In general, if your requirements match the following, it’s highly recommended to use Agile and/or Scrum for your project:
- You require a high level of flexibility
- You want to implement changes during the development process and you need to react to changes quickly
- You want transparent and constant communication and efficient collaboration
- You need frequent and continuous delivery
Due to the flexible nature of Agile (that implies self-focused teams), it is vital that everyone on the team understands its philosophy and invests equal effort in its implementation. If you never worked by Agile before, it might be challenging at first to implement it since Agile will require certain organizational shifts and changes. But the good news is that most IT outsourcing companies these days prefer working by Agile so if you choose to outsource, you won’t need to worry.
Summary
Even if you try comparing Scrum vs Agile, remember that they are different by nature (a philosophy vs a framework) but work perfectly together and complement each other greatly. Of course, it is essential to prepare in advance before adopting Agile and/or Scrum. Keep in mind that this adoption will happen on all levels of an organization so you’ll also have to think about corresponding training. But if you do everything right, you’ll be rewarded with increased efficiency and transparency coupled with improved client satisfaction and better ROI.
Comments