I just finished an epic fail group project: the project itself was a fail, but it did have one small success, and so I will post on that.
One of the most difficult and most important steps of developing and assigning a group project is forming the groups. If you let kids choose, some kids are left out while other groups never get any work done. If you choose, the kids are angry and some kids end up doing all the work while others do nothing.
This strategy is not the end-all, be-all–it’s not perfect–but it did help immensely. I simply had my students fill out this form on the day before I assigned the project (they also had a choice of topics, but you could eliminate that portion of the form if it doesn’t apply), and then I combined my infinite (ha!) teacher wisdom with their desires and assigned groups and topics the next day. No one complained, because they all felt like they had input and that their voices were heard. Try it, I think you’ll like it!