While the term "swarming" is used quite commonly, I found it hard to find a definition for it.
Different swarming approaches seem to range from "do pair programming, if otherwise the WIP limits would be broken" to "all people work on a single problem, all the time". Similarly, the opinions seem to diverge on whether swarming should be avoided or be the way of working.
My goal when asking this question is not to have the range of opinions represented in different answers. My goal is to understand different forms of swarming and which form to use in which situation and project management style. My impression is that swarming is an umbrella term for different ways of working involving more than one person to work on a single problem. Are there more precise terms that could be used for the different forms of swarming, in order to avoid misunderstandings?
I added the 'kanban' tag because I had to add at least one tag and swarming is often used in a Kanban context. However, I’m also interested in a general, method-agnostic definition.