Anyone who is familiar with the day-to-day practices of software engineering will have most certainly come into contact with a variety of development project management methodologies such as Agile, Lean, and Waterfall. Over the course of a project, you’ll make many big decisions. And one of the first decisions you’ll make is choosing which methodology to follow. Today we’ll be looking at the relationship between Agile and Scrum. Perhaps the most famous methodologies, Scrum is actually an offshoot of Agile, or at least that’s the common conception. Let’s look a little more closely at Agile vs Scrum.
A closer look: Agile
Agile is based on an incremental, iterative approach. Instead of intensive planning at the start of the project, Agile (and its subset methodologies which we’ll refer to later) allows the changing of requirements over time and encourages constant feedback from the end users. Cross-functional teams work on iterations of a product over a period of time, and this work is organised into a backlog that is prioritised based on business or customer value. The goal of each iteration is to produce a fully functional product. Established in 2001 by 11 software developers in Utah
The 12 Principles of Agile Methodology
The Manifesto for Agile Software Development lists 12 principles, which go as follows:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity — the art of maximising the amount of work not done — is essential.
- The best architectures, requirements, and designs emerge from self-organising teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
A closer look: Scrum
Scrum is a subset of Agile and one of the most popular process frameworks for implementing Agile. So, it would appear they’re complementary methodologies rather than competing frameworks. Unlike some other frameworks, Scrum follows a more structured methodology. Like Agile, it is also iterative — and is used to manage complex software and product development.
It uses fixed-length, two-week periods known as sprints where stakeholders and engineers meet to share progress and offer incremental feedback. It’s a fast and effective subset of the agile framework that’s designed to deliver value to the customer throughout the development of a project.
Let’s look at how methodologies affect a project in real terms…
You can’t build a house without blueprints
Imagine you’re building your dream house from scratch. It’s impossible without architects and architecture. Software isn’t any different. In the context of Agile vs Scrum and how methodology makes a difference, we spoke with Information Systems professor David Wastell, who explained: ‘In simple terms, Software Architecture refers to the main components of a software system and how they relate to one another. An easily understood, orderly, and consistent overview of the system being developed ensures that every individual and team knows exactly what they’re doing and how their work fits into the bigger picture.
Fred Brooks, in his classic book on software engineering (The Mythical Man Month, 1975, 1995) refers to this as ‘conceptual integrity’. Conceptual integrity is critical to scalability, in other words to the existence of a direct relationship between manpower and output. Without it, simply deploying more developers will neither speed up a project nor allow a larger project to be accomplished; rather, it is a recipe for chaos. As Brooks pithily observed “adding manpower to a late project will only make it later”.
Without conceptual integrity, simply deploying more developers will neither speed up a project nor allow a larger project to be accomplished; rather, it is a recipe for chaos.
Methodology in practice
Wastell continues: “I recall a spectacular example of this principle (Brooks’ Law) from my mid-career. The aim was to develop an electronic mortgage application process for a UK building society. The project began with a simple prototype but rapidly escalated. After about a year, nearly 40 developers — mainly contractors — were employed on the project in an expensively rented office suite. The plug was ultimately pulled after £5 million had been spent with nothing to show except a big hole in the balance sheet”.
Neglecting conceptual integrity and the implementation of a cast-iron framework in which to develop effectively is a waste of time and money.
Agile vs Scrum: a matter of leadership
In Agile methodologies, leadership encourages teamwork, accountability, and face-to-face communication. Business stakeholders and developers work together to align the product with customer needs and strategic business objectives. A progressive methodology, change is embraced. With shorter planning cycles, it’s easy to accommodate and accept changes at any time during the project. There is always an opportunity to refine and reprioritise, letting teams introduce changes to the project in a matter of weeks.
Agile vs Scrum: complementary, not competing
In summary, you could say that Agile is a continuous format of development and testing in the software development process whereas Scrum is an Agile process to focus on delivering the business value in the shortest time. They’re completely complementary methodologies and the latter cannot exist without the former.
If you’ve got any questions about Agile vs Scrum in regards to your upcoming projects or if you’re keen to learn more about how The Scalers hire engineers proficient in any methodology to fit your needs — feel free to reach out to us by filling out the contact form via the banner below. One of our senior executives will get in touch with you within 24 hours.
Liked the article? Don’t forget to share.