In a traditional project management environment, work is often done in isolation and there is sort of an "invisible" competition based on individual performance. This puts the focus on the individual rather than the team as a whole and often results in imbalance and decreased efficiency.
Agile, on the other hand, recognizes that a complete customer value delivery is not the contribution of a single person. Instead, it's a team-based act, so the focus is on optimizing the entire system's performance rather than a single part of it.
Having said that, Agile teams don't participate in a race to determine who will complete more tasks, stories, or other work items. Instead, they act as a closed unit and help elevate each other by introducing a number of collaborative practices.
One of those is known as "swarming".
What Exactly Is Agile Swarming?
Swarming is an approach used by Agile teams to collaborate on a high-priority single work item (ex. story) until completion. Especially in knowledge work, teams need to frequently deliver functional solutions. Agile swarming facilitates this demand as it's a case of all hands on deck before the next work item is underway.
From Andon to Swarming
The concept behind Agile swarming stems from Lean manufacturing and the Toyota Production System (TPS). To ensure top-quality products and zero defects in production, the Japanese company applied a system called "Andon". Inside Toyota's production factories, this represented a cord hanging over each workstation. Operators would pull the cord, which triggered an alerting system that a defect had been found.
In case the issue turned out to be of greater significance, the production line was stopped and all engineers "swarmed" around the problematic station. The idea was to engage in collaborative discussions to fix the issue as soon as possible and prevent defective products to move further down the line. Even though the practice might seem counterproductive at first, it became a core part of Toyota's production. Applying it helped them quickly fix issues, prevent them from reoccurring, and eventually speed up the flow due to the decreased number of reworks.
Soon enough, knowledge work teams (ex. software development, engineering, marketing, etc.) embraced the practice to optimize workflows. For example, whenever a developer on a software engineering team discovers an issue, they can use visual signals on a Kanban board to block a work item and inform the team of a problem with the workflow. In case the problem turns out to be significant and the entire team is dependent on its resolution, it's a good practice for them to stop what they're doing and swarm around their colleague to figure out a solution.
When Is Agile Swarming Great?
A great example of applying Agile swarming in practice is when a team is experiencing stalling. If a work assignment is dragging on, and a team is in danger of not meeting deadlines, the rest of the team can jump on board and start swarming to get the job done.
This collaboration technique is not just for software developers. An example of Agile swarming in an IT or telecommunications workplace would look like this:
- A telecommunications help desk employee picks up a support ticket.
- The support ticket details complex quality call issues from a customer.
- Having looked at the problem, the employee realizes he doesn't have all the necessary resources to help this customer out with his problem.
- Instead of it becoming a ticket left to one side, he asks for help from the rest of his team.
- Co-workers step in to find the solution to the customer's problem.
- The end result is that the customer's support ticket is handled quickly, and the employee has learned some new skills.
Kanban's Perspective on Agile Swarming
In Kanban, Agile swarming is a practice that is often utilized by teams. Instead of only engaging in a "swarm" whenever there is a blocker in the work process (visualized on a Kanban board), teams use other techniques too for higher efficiency.
For example, one of the core practices of Kanban is for teams to pull a work item from a backlog at their own pace whenever they're done with the current work at hand. However, before doing that, it's a good practice for a team member to first quickly inspect the Kanban board and see if there are any work stages in danger of becoming bottlenecks. This means that there might be work items there that are starting to age indefinitely and endanger the smooth flow of the entire process.
In such cases, Kanban suggests not to pull more work into the system. Instead, free team members should be proactive and offer help to their colleagues who might be struggling with a given task or just have too much work on their plate at that moment. The idea is to engage in Agile swarming and help your team push more work out of the system as a unit. This optimizes the team's performance as a whole and accelerates the delivery of value to the end customer (internal or external).
Roles in Agile Swarming
Although the people involved in swarming are usually the actual professionals on a team, there are optional Agile team roles that are worth mentioning.
For example, you can have a "Swarmer" who is a team member that can have a responsibility to transition between work items when necessary and see if anybody needs help. There can be a "Coordinator" who is usually the person who "owns" the particular work item. A TeamLet, on the other hand, is a collective term for all team members who have swarmed around the item.
What Are the Benefits of Agile Swarming?
- Reduces wait times and queues
- Enhances shared knowledge
- Increases team collaboration
- Provides laser-targeted focus
- Improves team transparency
Let's take a closer look at exactly what these benefits mean.
Reduces Wait Times and Queues/Bottlenecks
When teams work together as a swarm, work is completed faster, and wait times due to the accumulation of queues and bottlenecks are reduced. When developers collaborate with one another, tactics such as pair coding, testing, and reviews are underway. This enables the alleviation of process bottlenecks which contributes to increased throughput and better outcomes.
Enhances Shared Knowledge
In a swarming environment, team members learn more about each other by working in this intense way. Swarming provides great training experiences for newer team members to see the team in action.
Increases Team Collaboration
Agile swarming increases team collaboration as team members help each other get more work done. In turn, this increases the team's efficiency and enables earlier and more frequent delivery of value to the end customers.
Provides Laser-Targeted Focus
Development tasks move quickly when swarming, so there are periods of dynamic focus and a continuous flow. Before swarming starts, consider creating a templated strategy map, so all team members know where the main focus is for each story they're working on. Strategy templates provide guidelines for simpler future swarming sessions.
Improves Team Transparency
In a traditional project management environment, team members work on their own tasks, and sometimes it's hard to establish an overall progress update. If a team member hasn't completed their tasks, this isn't always known in a linear approach until the end, which is when problems including standstills can arise.
Start Experimenting with Agile Swarming
Swarming is a practice that any team can benefit from. No matter how you manage your work and impediments, you can start with policies for the team members who have available capacity, to ask their colleagues if they need help with their work assignments. Instead of fully utilizing your team by pushing more work into the system, focus on pushing more work out of the system.
Eventually, this will help you increase team efficiency and improve your delivery rates, so you can better meet your customer's expectations.
Jessica Day is the Senior Director for Marketing Strategy at Dialpad, a modern business communications platform with call center IVR that takes every kind of conversation to the next level"”turning conversations into opportunities. Jessica is an expert in collaborating with multifunctional teams to execute and optimize marketing efforts, for both company and client campaigns.