The popularity of agile methodologies has grown significantly among developer teams, compared to sequential software development approaches. 71% of respondents to the 17th State of Agile Report from Digital.ai have adopted Agile in their software development lifecycle. According to the same report, 63% of Agile teams use Scrum, making it the most popular Agile framework.
This project management framework can be highly efficient in projects where requirements are dynamic or unclear. Therefore, Scrum is usually chosen over other software development approaches for projects with evolving requirements and frequent product releases. Scrum can also be scaled relatively easily if a project grows in complexity and size, another notable advantage of this framework.
This article covers the concept of Scrum and explores ways to scale this methodology for larger projects.
What is Scrum?
As an Agile methodology, Scrum emphasizes field evidence gathering and experimentation over precise planning and theory. Instead of strictly following a predefined development plan, Scrum teams work in iterations called ‘sprints’, which typically last from two to four weeks each. During and after sprints, Scrum teams collect product feedback. Teams use this feedback to plan future sprints, prioritize tasks and continually improve the product.
After each sprint, the team also holds a sprint retrospective to review past work and its results. The team discusses what went well during the last sprint and what problems each team member faced. After the discussion, the team can plan and implement improvements in the next sprint, thereby eliminating bottlenecks and minimizing risks in the development process.
A scrum team typically includes three roles:
- A product owner acts as a liaison between stakeholders and the development team. He is responsible for transforming stakeholder requirements into a backlog, prioritizing tasks and defining each sprint’s key goal to pull the whole team in the right direction.
- A Scrum master is generally responsible for Scrum process efficiency. The Scrum master acts as a mentor implementing Scrum practices within teams, a mediator resolving internal and cross-team conflicts and a manager administering the Scrum process and optimizing it by resolving bottlenecks.
- A development team includes all specialists directly involved and responsible for software solution creation and delivery. Depending on the project needs, the development team usually includes solution architects, engineers, designers, testers and other roles.
Traditionally, the Scrum model is applied to small projects and teams having up to 14 members. But, as the project complexity grows, the number of teams and their sizes can also increase. To coordinate Scrum teams efficiently within a larger project, scaling the Scrum framework can be required.
How to Scale Scrum?
In recent years, multiple new Agile frameworks have emerged in response to the need to scale Scrum and integrate it into large projects.
1. Scrum of Scrums
The Scrum of Scrums methodology helps organize the work of multiple Scrum teams working on one large product (such as a BPM or ERP system containing numerous functional modules) or on multiple products in parallel.
The methodology implies identifying a leader in each team and assigning them the product owner status. Each product owner is responsible for managing developers within a particular team and reporting work progress to the Scrum of Scrums master — a new role that coordinates multiple Scrum teams.
Key Characteristics
- The Scrum of Scrums leader and product owners hold daily Scrum meetings to discuss work progress and plan cross-team coordination.
- Team leaders align their teams’ backlogs to the overall software development backlog, which guarantees that all teams are moving toward the same goal.
2. Nexus
Nexus is an evolutionary version of the traditional Scrum methodology, which suits large projects with a multi-team development process involving three to nine development teams. This methodology, originated by Ken Schwaber, the founder of Scrum Alliance, supposes unifying all separate Scrum teams into a Nexus — a single integrated software development unit with a common product goal.
The framework also extends the roles, events and artifacts used in classic Scrum with new ones: Nexus Integration Team, Nexus Sprint Planning, Nexus Retrospectives and Nexus Sprint Backlog.
Key Characteristics
- Each team selects and appoints representatives, who in turn form the Nexus Integration team — its key purpose is to identify common issues and dependencies faced by multiple Scrum teams.
- To discover common issues, dependencies and bottlenecks across all Scrum teams, Nexus Integration teams run Nexus Retrospectives after each sprint.
- During Nexus Sprint Planning, teams create a Nexus Sprint Backlog — it combines backlogs of all individual teams and highlights the dependencies between these backlogs (visualized in the form of horizontal, vertical and diagonal arrows). All product backlog items that affect multiple Scrum teams are included in a Nexus Sprint Backlog.
3. Large Scale Scrum
Large-Scale Scrum (LeSS) is another framework for managing multiple Scrum teams working in parallel, which is only applicable if teams collaborate around one product. Depending on their project sizes, companies can select one of two available LeSS options: Basic LeSS for two to eight teams consisting of eight people each and LeSS Huge for more than eight teams and up to a few thousand people on a project.
Key Characteristics
- Like in classic Scrum, the Scrum masters are responsible for the proper implementation of the methodology among the development teams. However, in LeSS, a Scrum master can serve from one to three teams directly. Also, a Scrum master must concentrate not only on the team but on the entire organizational system in LeSS.
- As one product owner is not enough to administer a large project efficiently, LeSS Huge also implies assigning a new role, an Area Product Owner. Each of them is responsible for a specific development area and its individual Area Product Backlog.
- To ensure that each Area Product Backlog is aligned with customer needs, teams that are gathering user and stakeholder feedback and working in the same area with the Area Product Owner must participate in backlog creation.
4. Scaled Agile Framework
The Scaled Agile Framework (SAFe) is a methodology that helps implement Agile at the scale of a large company, which is mostly built around the Scrum principles and practices (working in sprints, daily meetings, retrospectives, etc.). SAFe can be implemented in one of four configurations varying in complexity: Essential SAFe, Large Solution SAFe, Portfolio SAFe or Full SAFe.
Key Characteristics
- In SAFe, sprints are grouped into larger Program Increments that involve more people and last from eight to 12 weeks. A typical Program Increment consists of four developer iterations followed by an innovation and planning iteration.
- Individual Scrum teams are organized into larger Agile Release Trains (ARTs), each with specific business and technology goals within a project. An ART additionally includes system architects, product managers and release train engineers — all new roles allocated within an organization. Typically, all members of an ART participate in Program Increment Planning.
- In SAFe, any change requests pass through a comprehensive analysis, which is aimed at evaluating possible outcomes from multiple perspectives (financial, technological, etc.). Only if changes are considered feasible and cost-efficient can developer teams start working according to new project requirements.
Final Thoughts
A vast number of teams around the world follow Agile software development methodologies, of which Scrum is the most popular. Its superb flexibility and adaptability enable development teams to build efficient products even when software requirements are vague or dynamically changing.
Although Scrum was traditionally considered applicable only to small teams and startups, large organizations can also leverage the advantages of this methodology by scaling Scrum. Frameworks such as Scrum of Scrums, NEXUS, LeSS and SAFe are aimed to assist a company with this task.
If decision-makers are unsure which frameworks better suit their project needs, consulting with third-party software development experts is preferable. A consultant can analyze your company’s unique needs, define the appropriate Scrum methodology to meet them, help put them into practice and provide guidance throughout your software development project.