DEV Community

loading...
Cover image for "What if we work as a swarm?"

"What if we work as a swarm?"

Tacio Nery
Backend Software Engineer with 10 years of experience and passion in solving problems by using algorithms.
・2 min read

The title of this post is a question that was brought to my team during a sprint review.

We started working as a Swarm recently and... It's being some really different for what we were doing before and challenging.

I'd like to share some thoughts about my perspective of this "Swarming" and what lead us to try it.

Why did we decide to Swarm?

As a team, we commit to deliver the chosen cards on Sprint Planning but, not all of these cards were being delivered (moved to Done) at the and of the Sprint. We started to wonder why was that happening and the question was brought to us by the Lead Engineer: "What if we work as a Swarm?"

So, what really is Swarming?

It's the act of coming together to solve a problem or get something done as quick as possible. The idea is get together and do whatever it take to finish the current activities.

Swarming can used to focus on critical issues, such as the system down. But, it can also be used for delivering the activities the team committed on sprint planning.

How we applied this "Swarming" approach?

At the beginning we were lost, somehow. How is the best way to apply this method? It was up to us to decide how we'd approach over the sprint cards.

After the Sprint Planning we got together and started the card on the top of the board (it's important that the cards are prioritized) and defined small tasks that could be done by every member. We also decided to get together at the end of the day and check the status of each task. If someone finishes a task, the team would get notified and this person could help someone else. The team only started a new card after the current one was finished.

What was the impact?

Since we're working as a swarm the team got much more integrated and collaborative. Everyone is helping each other on discussions, scope definitions, implementation decisions and coding. As everyone is involved on the development of a card since the beginning, everyone gets context on it. This is being a very cool experience for me and my team.

Final thoughts

Swarming is something very new for me, I used to worked alone on my desk before join my team at Thoughtworks, where I had my first experience with pair programming, which is great. My team and I accepted this challenge and it's being great, specially because everyone gets involved with all the steps of the card.

We are still on the beginning of applying this method. Our board needs to be improved to address the creation of tasks and maybe, a simpler version of the board with just three columns: To Do, Doing and Done. There are also metrics of how the team is performing with this new approach, but I believe we're gonna implement this soon.

So, what if your team work as a swarm?

References

https://softwareengineering.stackexchange.com/questions/147664/what-is-swarming

https://www.infoq.com/news/2013/02/swarming-agile-teams-deliver/

Discussion (0)