Since my school has so many commuter students, I found that only a small number of students actually carry through with group meetings outside of class. I felt like the students took time to thoughtfully self-assess themselves and it helped me in many ways more than test scores or grades although those things still played a role. That way I can have people interact with a large number of people and with various group dynamics over the course of the semester. For large projects, I pick the group based on my assessment of their understanding of the material and I also like to mix different personality types. Random process very successful.
Weaker students learn from the stronger ones.
Some personality conflicts and stronger students doing too much of the work. Using the background and allowing them to form their own groups seem to work well, except when the group size is 4 or more. The gender criteria seem to be least useful, at least I didn't observe any differences between mixed and unisex groups. I have found that if I administer this the first day it makes forming groups easier. This information is accessible to all students so that they can always get hold of partners or if they want to thumb through it in choosing their initial groups.