DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Pattern of the Month: Swarm

Pattern of the Month: Swarm

When an Agile team is faced with an all hands on deck type of situation, this work pattern is called Swarming. Here's a quick review of the practice.

$$anonymous$$ user avatar by
$$anonymous$$
CORE ·
Apr. 03, 17 · Opinion
Like (1)
Save
Tweet
Share
3.49K Views

Join the DZone community and get the full member experience.

Join For Free

Collaborative activity is the basis of teamwork. When many people work together, the benefits of joint effort and focus can be realized. Any piece of work which is undertaken can be completed more quickly, and the value to stakeholders can be delivered in the timeliest fashion and with minimal depreciation and cost of delay.

Yet this most fundamental of team behaviors can take on many forms. Pair programming is one, although this obviously constrains focus and shared effort to just a couple of people, and they may engage in this activity only on occasion. Taking things to an extreme, we might have all team members collaborate on one piece of work at a time and make this a permanent arrangement. In effect, the team will observe a "Work In Progress" (WIP) limit of exactly one. Known as "single piece flow," this technique is theoretically the most efficient way a team can work, although there are practical constraints, such as those of physical space, which can limit its effectiveness.

Swarming is another form of collaboration which involves the whole team, but which does so on a more transient basis. The WIP limit will be higher than one, such that multiple work items can be in progress simultaneously. The team will self-organize around their completion. However, in response to a certain event of overriding importance - such as a defect, major incident, or error - the team will suspend that work and focus completely on the new concern. Again they will self-organize, and in so doing they will determine which of them should focus on resolving the matter, and which of them can return to the work in progress. At that point, the "swarm" will have fulfilled its purpose and may end.

Note that if a team supports a pre-emptive mode, then single-piece flow may be implied for that pre-emptive quality of service since the team might need to swarm on any item so raised. This is often the situation with fast-track emergency work, where escalation to the top of a backlog may not provide a sufficient immediacy of response.

Swarm

Image title

Intent: Have all available resources work on one thing in order to expedite it as quickly as possible.

Proverbs:

  • It’s best to do one thing at a time.
  • Many hands make light work.

Also Known As:

  • Single Piece Flow (when used in the context of Quality of Service).

Motivation: In theory, the most efficient way to work is one item at a time. Critical defect fixes can require a high level of motivation as and when they arise.

Structure: A development team accepts and acts on only one backlog item if the associated Quality of Service demands that such prioritization be given. The Work In Progress is limited to one.

Applicability: Swarming should be considered in situations where an urgent requirement demands the attention of the whole development team, and where work on other requirements can be suspended. Note that for Swarming to be viable, it must be possible for multiple developers to work on one item simultaneously and without causing each other impediment.

Consequences: Swarming, when applied in the right situation, can result in a faster response time and a more rapid turnover of defect fixes and small changes. However, it can also lead to waste if developers are allowed to get in each other's way.

Implementation: Swarming can be implemented for Lean Kanban teams of small size, where developers will not cause each other impediment by working on the same item. It is rarely implemented in Scrum development teams since they are expected to work on the delivery of a Sprint Backlog for the achievement of a Sprint Goal, and not to vary the quality of service of individual backlog items. 

See Also:

  • Single Piece Flow
  • Quality of Service
  • Teamwork
  • Agile Teams Swarm to Greatness, by Vin D'Amico
  • Should a Team Swarm on to One Backlog Item at a Time?, by Mike Cohn
  • Want To Really Be Agile? Swarm!, Application Development Trends


swarm agile scrum Sprint (software development)

Published at DZone with permission of $$anonymous$$, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How to Use MQTT in Java
  • Using JSON Web Encryption (JWE)
  • (Deep) Cloning Objects in JavaScript
  • 2023 Software Testing Trends: A Look Ahead at the Industry's Future

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: