Agile or scrum?
It’s one of those project management questions that gets asked all the time. Is one better than the other? Which is right for your project or team?
Agile and scrum are very much related — cut from the same cloth, if you will. But you need to understand the major differences between them to answer the “which is right for you” question.
What is agile?
The agile methodology came about in response to the rigidity of the traditional waterfall approach. With waterfall, phases are linear. The next phase starts only after the previous one is complete.
Once a phase is done, going back to make changes is time-consuming, risky, and costly — hence, the need for an agile alternative that can keep up with changing demands and expectations.
With agile project management, work happens in short, rapid cycles, and each cycle results in product releases that build on the previous product. It’s a project management methodology that demands high levels of collaboration among a project’s stakeholders.
Agile espouses the continuous improvement mindset, which is why agile ceremonies or meetings are a critical part of the process.
It allows organizations to continuously deliver products that match customer expectations, helping them thrive in an environment that’s rife with volatility, uncertainty, and complexity.
Agile’s core values are divided into 12 principles.
- Provide customer satisfaction through early and continuous delivery of valuable software
- Accommodate changing requirements throughout the development process
- Frequently deliver working software
- Maintain daily collaboration between developers and business stakeholders
- Motivate, trust, and support the individuals involved
- Use face-to-face conversations to convey information to the development team
- Primarily measure progress through working software
- Support sustainable development by establishing a maintainable and repeatable pace
- Pay continuous attention to good design and technical excellence to enhance agility
- Keep things simple by focusing on delivering the right value
- Self-organizing teams get stuff done
- Conduct regular reviews on how to become more effective and make adjustments accordingly
Advantages of the agile methodology
The agile process is popular for many reasons, especially in the IT and software development fields:
- Just the right amount of documentation: The traditional waterfall method requires long-term project planning and comprehensive documentation of each process step. In contrast, agile requires “just right” documentation to start a project, which can come in the form of notes on a flipchart or whiteboard. Agile practitioners sometimes create descriptive documentation but only if it brings value to the customer.
- Faster time to market: One primary goal of agile is to deliver a working product as soon as possible, which can then be rolled out to actual users and enhanced based on their feedback.
- Emphasis on customer collaboration: The , which identifies the four key values and 12 principles that it thinks agile practitioners must be guided by, underscores the importance of customer collaboration over contract negotiation. With agile, teams and customers work together to achieve a common goal: a product that customers and end users actually want to use.
- Adapt to changing requirements: In agile, projects are broken down into phases or development cycles called iterations. Post-iteration reviews and customer feedback dictate the next steps of the project, including the features to add or remove.
Disadvantages of the agile methodology
Agile may be popular, but it’s not perfect. As with all good things, it comes with a bad side, too.
- Difficult to assess how much effort is required: It’s typical for agile projects to start with only an idea of what the end product will look like. This uncertainty makes it challenging to estimate how much work is required, particularly at the beginning of the project’s life cycle.
- Easy for the project to go off track: A detailed plan is not necessary to kick off an agile project, and in many cases, there’s not much to go on. If communication breaks down at any point during the project or feedback from customers is unclear, teams may concentrate on the wrong development areas, leading to scope creep, the project going over budget, and the final deliverable deviating from what was originally planned.
What is scrum?
Scrum is a framework that falls under the agile umbrella. Similar to frameworks that follow agile principles, it banks heavily on team collaboration to deliver high-value products. Work is done in sprints or time-boxed periods in which teams perform a specific amount of work.
Every scrum team is composed of the following roles:
- Product owner: A key stakeholder responsible for the product’s success. The product owner builds, manages, and prioritizes the product backlog (see “scrum artifacts” section below) and works closely with the development team to achieve the project’s desired outcome.
- Scrum master: Responsible for championing scrum within the team. The scrum master functions as the glue that holds everyone together (i.e., business, product owner, development team, and relevant individual roles).
- Development team: A self-organizing team that typically includes developers, designers, testers, UX specialists, and operations engineers. They’re responsible for doing the work and delivering a shippable product at the end of a sprint.
According to Merriam-Webster, an artifact is “a usually simple object (such as a tool or ornament) showing human workmanship or modification as distinguished from a natural object.” In other words, anything made by a human. The scrum process results in three primary artifacts, which indicate members’ shared understanding of what needs to be done:
- Product backlog: Contains all the features, changes, fixes, and activities a team must accomplish to achieve an outcome.
- Sprint backlog: A list of all the product backlog items that the team chooses to complete within a sprint.
- Product increment: The sum of all the product backlog items completed in this and the previous sprints. It’s what’s produced at the conclusion of a sprint.
Scrum ceremonies are the events that happen within a sprint. There are four of them, namely:
- Sprint planning: Done before a sprint begins. Teams define the scope of the sprint, set goals, discuss concerns, and establish the details.
- Daily scrum: The daily standup usually lasts 15-30 minutes. Designed to get everyone on the same page, points of discussion include what has been done, what’s being done, what’s next, and the issues impeding work progress.
- Sprint review: Takes place post sprint. Teams discuss which backlog tasks have been completed and listen to user feedback to further improve the product.
- Sprint retrospective: Also takes place post sprint. Members reflect on the recently concluded sprint to find out what went well and what didn’t. Learnings are then applied to improve future sprints.
Advantages of scrum
There’s a reason why scrum is the most popular agile methodology.
- Availability of a working product while the project is ongoing: Scrum’s delivery system is incremental in nature — meaning, a product good enough for the circumstances is released even while the project is underway, reducing time to market and increasing revenue potential.
- High-quality product: Constantly checking in with end users and customers lets you know right away if the product is meeting their needs. If it doesn’t, you can quickly change direction and deliver a much better product within just a few weeks.
- Improved user satisfaction: In the scrum approach, actual user feedback plays a role in the evolution of the product, resulting in a high-quality deliverable that brings value to the customer.
Disadvantages of scrum
Some scrum disadvantages you need to be aware of include:
- No clear definition, making the project difficult to plan: Without a clear goal to aim for, particularly in the beginning, the scrum master may have a difficult time organizing the project.
- A high degree of commitment from all stakeholders. For the scrum methodology to succeed, stakeholders must fully commit to collaboration and constant communication. They must attend scrum events and report any updates or challenges. Otherwise, problems may arise.
Agile vs. scrum: What’s the difference?
To further clarify the difference between agile and scrum, consider the following:
- Agile is a general approach to project management, whereas scrum is just one of the different ways to practice agile.
- Agile is a set of guiding principles and ideals, but it doesn’t say how exactly those values should be implemented. Scrum is a framework that provides specific rules for getting things done. For example, agile principle #12 is about reviews at regular intervals for performance improvement. In scrum, that is accomplished through the sprint retrospective.
Bottom line, you can’t really choose between agile and scrum because scrum is, in itself, agile. In other words, when you choose scrum to create software, you’re automatically also choosing to adhere to agile principles.
When to use agile
When’s the best time to use agile?
- If your team is flexible and can handle constant scope changes: Everyone has to be on board if agile is to work in your favor — from upper management to every member of your team.
- When you need a working product released right away: If you need a shippable product released ASAP, you probably don’t have much time to create a comprehensive plan.
- If changes will have to be constantly implemented: When the product requires continuous refinement to conform to customer or industry needs, use agile.
When to use scrum
If you choose agile over traditional methodologies, such as in the above scenarios, scrum is an option to go for. To reiterate, if you choose scrum to develop a product, you’ve already chosen to go agile. Since there are other agile frameworks besides scrum, the better question to ask is when should you use scrum over methods like kanban or extreme programming (XP)?
Let’s take a look.
Scrum vs. kanban
Kanban project management is a visual workflow management technique that uses kanban boards to divide tasks, identify priorities, and move tasks along several workflow stages until they’re complete. Handy agile tools you can use include project management software with built-in kanban boards such as Trello, Asana, and monday.com.
Based on the above comparison, use scrum for feature-driven projects with regular release schedules, and use kanban for small pieces of work such as enhancements to an existing application.
It’s also worth noting that many scrum teams use select aspects of kanban, specifically the kanban boards, for visual task management.
Scrum vs. extreme programming (XP)
XP is a software development approach that shares many similarities with scrum. Some of the major differences include:
- XP sprints last between 1-2 weeks, while scrum sprints, on average, are 2-4 weeks long.
- Feature changes can be made in an XP iteration provided the feature hasn’t been started yet. Scrum sprints don’t allow such changes.
- XP teams follow a strict order of priority usually determined by the customer. In scrum project management, the product owner determines which backlog items to prioritize, but the team can choose in which order to develop them depending on what makes the most sense.
- XP prescribes software engineering practices, such as test-driven development and . Scrum doesn’t.
Based on the above, choose scrum over XP if your sprints need to be longer than 1-2 weeks or XP over scrum if priority items need to be worked in order. XP is also more geared towards software development, while scrum is more versatile and can be used for other types of projects.
Choose the method and framework that fits your needs
Should you choose agile or scrum for project management?
The short answer: yes, definitely — if you need a methodology (agile) and framework (scrum) that can keep up with frequently changing customer needs. Waterfall is not built for that level of adaptability.