Tool
Group Role Assigner
Split into groups, then assign roles inside each group — two levels, one draw.
Group Role Assigner
0 people into 3 groups of about 0, with 4 roles dealt inside each.
Split people into groups, then assign roles within each group — facilitator, scribe, timekeeper, whatever you list — in a single operation.
The order of the two steps is the design decision. People are dealt into groups first and roles are shuffled independently inside each group, which guarantees every group gets a full spread of roles rather than one group taking three facilitators.
When groups are larger than the role list, roles cycle and the tool says so, rather than leaving people without one.
How the Group Role Assigner works — and why it's fair
Step one shuffles the people uniformly and deals them round-robin into the group buckets. Round-robin dealing rather than block-slicing is what keeps the groups even: eleven people into three groups gives 4, 4, 3, whereas slicing a shuffled list into thirds gives whatever the arithmetic happens to produce.
Step two shuffles the role list separately inside each group and assigns roles positionally. The key property is that each group's role shuffle is independent of every other group's, which is exactly what stops the global draw from concentrating a role.
Doing it the other way round — shuffling roles across the whole population first, then splitting into groups — is the obvious approach and is wrong. It would let one group of four receive three facilitators and no scribe, and another receive no facilitator at all, purely by chance. Two-level assignment is not a refinement here; it is the difference between working and not working.
When a group has more people than there are roles, the role list cycles: with four roles and six people, two roles are doubled up. The tool warns about this before you generate, because two timekeepers in one group is usually a sign that either the groups are too big or the role list is too short.
When a group has fewer people than roles, the extra roles simply go unassigned. Nobody is given two roles, which would be worse than leaving a role vacant.
Nothing is remembered between runs. Someone can be the scribe three sessions running, which over a term is exactly the outcome role rotation exists to prevent — so for a recurring class, run it once and keep the output rather than regenerating each week.
When the Group Role Assigner is fair — and when it is not
What it does guarantee
- Groups come out as even as the arithmetic allows, because people are dealt round-robin rather than sliced.
- Every group gets a spread of roles, because roles are shuffled independently within each group.
- Everyone has an equal chance of every group and, within their group, of every role.
What it does not
- It has no memory. The same person can draw the same role in consecutive sessions.
- It cannot tell whether someone is suited to a role, or whether two people should not be grouped.
- When groups exceed the role list, roles double up — which is often a signal to change the inputs rather than accept the output.
Two worked examples
12 people, 3 groups, 4 roles
- Round-robin dealing gives three groups of exactly 4.
- Each group shuffles the same 4 roles independently, so every group gets one of each.
- Any individual has a 1-in-4 chance of any given role, and a 1-in-3 chance of any given group.
11 people, 3 groups, 4 roles
- Groups come out 4, 4, 3 — round-robin keeps them as even as possible.
- The 3-person group leaves one role unassigned rather than doubling anyone up.
- The two 4-person groups each get a full set of the 4 roles.
Where roles need distributing as well as people
Structured classroom group work is the primary case, and the two-level design is what makes it usable: a teacher needs every group to have a scribe, not for scribes to be evenly distributed across the class in aggregate.
Workshop breakouts have the same requirement with adults, plus one extra benefit — a randomly assigned facilitator role gives permission to someone who would not have volunteered, which is often the entire reason for assigning roles at all.
Retrospectives and team ceremonies use it to rotate the jobs nobody wants, and the memory limitation matters most here. Since nothing is remembered, generating fresh each sprint will hand the same person the same role occasionally, and the fix is to keep the output rather than regenerate.
For groups without roles, the team generator splits a list by size or count. For rotating a role across a team over time rather than assigning it once, the standup order picker and the chore rota assigner handle the recurring version.
Frequently asked questions
Why assign groups before roles?
Because the reverse lets one group take three facilitators and another take none. Shuffling roles inside each group independently is what guarantees a spread.
What happens if a group has more people than roles?
The roles cycle, so some are doubled up. The tool warns before generating, because that is usually a signal to change the inputs.
What if a group has fewer people than roles?
The surplus roles go unassigned. Nobody is given two roles.
Are the groups always equal?
As equal as the arithmetic allows. Round-robin dealing gives 4, 4, 3 for eleven people in three groups rather than an uneven slice.
Does it avoid giving me the same role again?
No, it has no memory. For a recurring class, generate once and keep the output rather than regenerating weekly.
Can I keep two people apart?
No. For keep-apart constraints, the seating chart randomizer supports them within a seating grid.
Can I have different roles in different groups?
No, one role list applies to every group. Different role sets per group would need running the tool separately for each.
Is every group equally likely for a given person?
Yes. The uniform shuffle before dealing means group assignment is uniform across everyone.
How many groups can it make?
Up to twelve. Beyond that the groups get small enough that role assignment stops being meaningful.