The trick to this is that I use a completely random seating assignment. (I will explain my method for this below) The kids know this and accept their new seats with more grace because they know I am not purposely splitting them up from their friends.
However, I have had a class or two in the past that have required me to move away from the random seat assignments (and use teacher generated ones)- this is completely dependent upon their maturity and ability to stay on task even when they are randomly placed next to a good friend.
If you have a Smart Board in your classroom and Smart Notebook Software on your computer, you can follow the steps below to create random groups easily.
1. Open Smart Notebook. (I currently have Smart Notebook 11, so these screenshots/directions will reflect that.) Under the 2nd Tab on the left, click on "Lesson Activity Toolkit 2.0"
2. Scroll down to "Tools."
3. Look under "Interactive and Multimedia" until you find "Random Group picker (text)" and insert it into the notebook.
4. At this point, I type in all the names of the students in one of my classes. Then, since I have seven tables, I select "7" as the number of groups. Then, I click "generate."
5. Now all of my students have been randomly placed at 7 different tables. I show my class this at least once so they know that it really is random. Then, I save it so that I can just regroup them whenever I want.