- Invest in the development infrastructure
- Keep your teams small
- Balance iteration length with actual production time
- Assign a product ownership role
- Synchronize end-of-iteration periods across teams
- Check out potential frameworks for scaling agile
- Key takeaway
Most software development and product companies have more than one development team that works on their digital product. If agile works for one team, there's no reason why other teams shouldn't try it as well. But can organizations take advantage of agile methodologies at scale? Scaling agile development teams that follow frameworks like Scrum can be challenging.
But the right mindset, approach, and environment can help make the process easier.
Consider the four primary values listed in the Agile Manifesto:
- Individuals and interactions over processes and tools,
- Working software over comprehensive documentation,
- Customer collaboration over contract negotiation,
- Responding to change over following a plan.
The idea behind agile is that it values more the items on the left. But at scale, individuals and interactions will need the support of reliable processes and tools to complete their tasks.
Working software will always require some documentation. At scale, collaborating with customers may remain a priority, but it needs to be backed by a contract.
Agile works for larger organizations as long as they continue to place more value on the items on the left while ensuring that items on the right are taken care of as well.
So how can organizations scale agile development teams?
In this article, I take a closer look at some of the best practices, tactics and existing frameworks that help to scale agile implementations to match the current organizational requirements and enable the company to grow.
Invest in the development infrastructure
Today software is built incrementally, into small independent units that may run on large-scale technology stacks without coming into conflict with other parts of the product. A microservice architecture allows multiple agile development teams to deploy and release product increments independently from each other.
That type of development infrastructure is key to scaling agile teams, but it also ensures the stability of software products; even if a single part of the product fails the rest of the system will work as expected.
Keep your teams small
Team size is a critical factor in making agile work at scale. Creating smaller teams helps to keep individual team members focused and engaged because they can easily see how their work contributes to the bigger picture.
Small self-organizing* and independent teams are the backbone of agile at scale. Make sure that every team member shares a sense of ownership and feels responsible for the outcome of the project so that the team achieves its sprint goal every time.
* I’m going to write an article about which conditions teams need to meet in order to become self-organizing.
Balance iteration length with actual production time
Organizations that attempt to scale agile practices often find it difficult to achieve a balance between iteration length and actual production. Agile success stories show that it's smarter to concentrate on shorter iterations wherever it's possible. It might seem that you're implementing a strict limitation when you shorten the iteration, but the approach brings benefits in the long run.
For more insights into agile, read this: **Agile software development – 7 best practices **
Assign a product ownership role
It doesn't matter if your company uses the Scrum framework. Assigning the responsibilities of the product owner to a project manager is a great idea. That person will serve as a go-to contact for any project-related queries. They will also be responsible for communicating value-based priorities to the team throughout the entire development process.
Ideally, that person should be passionate about the product sector to properly research the market, empathize with end users, and focus on delivering tangible business value. Only then this new layer of responsibilities will make sense.
Synchronize end-of-iteration periods across teams
When scaling agile teams, organizations might experience problems that crop up when multiple teams that work on products at the same time. Coordinating contribution from across all team is a real challenge because each team is working within a specific schedule and iteration duration.
Organizations that plan to scale agile need to prepare for that. If they don't, it might lead to conflicts in dependencies – for example, when one team implements a feature before another team is ready. That, in turn, might cause a negative cascade effect as other teams need to dedicate extra resources to adjust to that new feature.
You may also be interested in: Coordinating internal and external development
Check out potential frameworks for scaling agile
Managers can leverage one of the reliable frameworks that were created specifically to address the needs of organizations looking to scale agile development.
Here are a few battle-tested frameworks that work for agile at scale:
The Scaled Agile Framework (SAFe)
The Scaled Agile Framework is a good match for larger organizations that want to scale Agile. This framework offers a structured approach to scaling Agile practices by defining 3 levels of activity within the organization:
- Portfolio level – includes principles, methods, and roles required to manage a set of value streams.
- Program level – the roles and activities for the continuous delivery of solutions with the Agile Release Train ( ART).
- Team level – the value-based roles, activities, and processes the team creates and delivers.
In SAFe, each area of related work is called a theme. A theme maps the business (user-facing) and architectural ( company-facing) epics of the project. Together, these epics work as the portfolio backlog.
Technical leaders prioritize elements in the portfolio backlog. Each business and architectural epic is transformed into its own Agile program with the Agile Release Train (ART).
Scrum of Scrums
If your company has already implemented the Scrum framework, one way to scale agile is creating a scrum of scrums.
The Scrum of Scrums is a special meeting for keeping all Scrum teams across the organization up to date about important issues. But it's more than just a status meeting. The idea is that every Scrum team selects their representative who will be attending these meetings.
The Scrum of Scrums works like a daily stand-up meeting – it's a short meeting organized every day that allows teams to share knowledge and talk about integration problems that may affect the work of other teams.
The Scrum of Scrums can be extended to include cross-team meetings where the primary aim is sprint planning or sprint retrospective. This can be beneficial to project development – for example, representatives who are part of these meetings can inform their teams about potential roadblocks in the upcoming sprints.
Large Scale Scrum (LeSS)
This framework focuses on getting all the team to concentrate on the product as a whole rather than team-exclusive responsibilities. Depending on the team size, LeSS comes in two variants:
- LeSS – up to eight teams (made of eight people each).
- LeSS Huge – up to several thousand people working on one product.
In general, LeSS frameworks include:
- A single product backlog.
- One Definition of Done for all teams.
- One Product Owner.
- One Sprint.
- One shippable product increment at the end of each Sprint.
LeSS improves the traditional Scrum in many ways.
For example, sprint planning meetings should include people from all teams to boost self-organization and help team members decide about the division of backlog items on their own. This is also an excellent opportunity for discussing cooperation on shared work.
Learn more about: Successful remote team cooperation
Another area LeSS changes is the Sprint Review, which should include not only the Product Owner, but people from all teams, as well as customers, relevant users, and other stakeholders.
LeSS also introduces the Overall Retrospective, a new meeting type that aims to explore potential methods of improving the overall system instead of focusing on one team. The Product Owner, Scrum Masters, and rotating representatives from each team attend this meeting.
Remember that a framework is just a framework. It’s here to facilitate the work, but its main disadvantage is that it refers to theory in an ideal world. In reality, teams may experience problems with self-organization (that is simply missing) or it may turn out that the human factor or the project’s specificity make it worth keeping an open mind and looking for potential adaptations to individual needs of the project or the team. The frameworks described above can be treated as a foundation; a starting point for scaling agile practices within the organization.
As organizations scale up agile, they need to keep these best practices and methods in mind because sooner or later, they're going to experience the common challenges of scaling agile development teams.
An alternative to scaling agile teams is outsourcing a portion of development work to external development teams. The wide range of cooperation models such as dedicated teams or the extended team model allows companies to accelerate their product development projects without having to revamp their internal processes fundamentally.
Are you looking for development teams that have the know-how and expertise to blend in smoothly into your agile * workflow*?
Get in touch with us; we have plenty of experience in providing organizations with resources they need for success.