Swarm of birds

A Learning Swarm is designed to be a highly effective way to rapidly generate shared knowledge within a team on a topic they previously had no experience in. The output of a learning swarm can also serve as a resource for others to gain the same knowledge as the team who ran the learning swarm making it even more useful.

Here’s an outline of the areas will cover in this article:

Timebox

To run your own Learning Swarm you first need to decide upon a timebox, which is the time you are willing to dedicate an entire team towards learning the topic. It depends on the size of the topic but for it really to be worthwhile I would recommend around 3 days. You can always review it after 3 days and decide to extend it by a day at a time if need be.

Having a timebox for the swarm also really helps people focus on getting their work into a complete state as soon as possible and then iterate on it from there. A timebox also reassures managers that you have limited the time you won’t be delivering direct customer value, even if your timebox has to be large it is still reassuring to have it

Scope and Project

Once you have decided on how long and when you are going to run the swarm you can start thinking about what you are going to do during the learning swarm. First you should come up with a scope of what you want to learn, it might also be helpful to say what is explicitly out of scope. An example of your scope might be ‘GraphQL’, you might want to specify that although GraphQL uses the network ‘network protocols’ is out of scope of the swarm.

After you have defined your scope you should come up with an idea for a project you want to build individually. In the example of our GraphQL learning swarm you might want to make the project something along the lines of, “Build a todo list app using GraphQL”. This might seem really narrow but you would be really surprised at how 4 or 5 different people can build wildly different things based on this project description. I would encourage you to go deep into an area that interests you, but make sure to stay in scope!

Swarm Time!

Now you know what you want to learn and build you can get swarming! Everyone in the team should go their separate ways and learn about the topic and build the project. As you go everyone should keep detailed notes about what they have been learning, these will be the main artifact of the swarm. They might also be fairly repetitive between each person but that’s fine at the end we will merge them into a single document.

It is important you keep your daily stand up going because you might need to nudge each other to stay on track or you might have to help unblock someone because everyone needs a fresh pair of eyes from time to time. It’s also a good idea to share any resources you find on the topic, it’s not a competition so sharing is encouraged.

Closing the Swarm

When you reach the end of the timebox now is the time to come back together and share what you have learned! Setup an hour or two (depends on team size) to come together and discuss what you have learned. Everyone should give a quick informal demo of what they made and share what they enjoyed and what they found hard. It is good to record these meetings if you can for later reference. I would also suggest someone takes notes and generates a summary of the meeting.

It might also be worth summarising all of the learning notes that everyone has taken into a single place. I wouldn’t spend a long time doing this, just pull all the best parts together so other people can learn from it.

Now your team all knows a great deal more about a topic in a short amount of time and has practical experience with whatever you were looking into. So it is time to get cracking on with your real project!

As with all processes, make it your own! Maybe run it as suggested first then tweak it so it works better for you.

Example

We recently ran a Learning Swarm at Findmypast so we could get up to speed on authentication, specifically Auth0 libraries as they are our chosen third party for authentication going forward. We set our project to build a React app using auth0 authentication. Surprisingly we all took a different approach. We had people focus on automating config deployment, protecting backends, serverless authentication and comparing the different libraries Auth0 provides. In 3 days we went from a high level understanding of authentication to a deep understanding of the standards as well as plenty of code samples we all learnt from.

Join Us!

Good luck with your own Learning Swarm! Want to try a Learning Swarm at Findmypast? Well good thing we are currently hiring lots of positions, see our job postings here: https://www.findmypast.co.uk/careers