How do I rotate 3 groups of 4 people into teams of 3 so that each person in one group works with each person in the other groups? I have three teams of four people. I would like to create rotating groups of three, where each group has one person from each team, and those people rotate on a staggered schedule so that each person is in the group for 3 slots. 
For example, if team 1 is people a, b, c, and d; team 2 is people e, f, g, and h; team 3 is people i, j, k, l, the start of the schedule might look like this


*

*a, e, i

*b, e, i

*b, f, i

*b, f, j

*c, f, j

*c, g, j

*c, g, k

*d, g, k

*d, h, k

*d, h, l

*a, h, l

*a, i, l


How do I shift the order in future to make sure that the groups change and everyone gets to work with all of the people on the other teams?
Thanks!
 A: Assuming that during every shift all 12 people are involved in 4 groups of 3, it obviously takes at least 4 shifts before everyone will have worked at some point with every from all the other groups, because for everyone there are 8 such 'other' people, and during any shift they can only get to meet 2 people.
In fact, here is a schedule that does it in exactly 4 shifts:
\begin{array}{c|cccccccccccc}
Shift&a&b&c&d&e&f&g&h&i&j&k&l\\
\hline
1&1&2&3&4&1&2&3&4&1&2&3&4\\
2&1&2&3&4&2&1&4&3&3&4&1&2\\
3&1&2&3&4&3&4&1&2&4&3&2&1\\
4&1&2&3&4&4&3&2&1&2&1&4&3\\
\end{array}
(so, during every shift, group together the people with the same number)
A: \begin{eqnarray*}
\begin{array}{|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
a&b&c&d& &e&f&g&h&& i&j&k&l\\ \hline
\color{red}{1}&0&0&0& &\color{red}{1}&0&0&0& &\color{red}{1}&0&0&0 \\ \hline
0&\color{red}{1}&0&0& &0&\color{red}{1}&0&0& &0&\color{red}{1}&0&0 \\ \hline
0&0&\color{red}{1}&0& &0&0&\color{red}{1}&0& &0&0&\color{red}{1}&0 \\ \hline
0&0&0&\color{red}{1}& &0&0&0&\color{red}{1}& &0&0&0&\color{red}{1} \\ \hline
\color{blue}{1}&0&0&0& &0&\color{blue}{1}&0&0& &0&0&\color{blue}{1}&0 \\ \hline
0&\color{blue}{1}&0&0& &0&0&\color{blue}{1}&0& &0&0&0&\color{blue}{1} \\ \hline
0&0&\color{blue}{1}&0& &0&0&0&\color{blue}{1}& &\color{blue}{1}&0&0&0 \\ \hline
0&0&0&\color{blue}{1}& &\color{blue}{1}&0&0&0& &0&\color{blue}{1}&0&0 \\ \hline
\color{red}{1}&0&0&0& &0&0&\color{red}{1}&0& &0&\color{red}{1}&0&0 \\ \hline
0&\color{red}{1}&0&0& &0&0&0&\color{red}{1}& &\color{red}{1}&0&0&0 \\ \hline
0&0&\color{red}{1}&0& &\color{red}{1}&0&0&0& &0&0&0&\color{red}{1} \\ \hline
0&0&0&\color{red}{1}& &0&\color{red}{1}&0&0& &0&0&\color{red}{1}&0 \\ \hline
\color{blue}{1}&0&0&0& &0&0&0&\color{blue}{1}& &0&0&0&\color{blue}{1} \\ \hline
0&\color{blue}{1}&0&0& &\color{blue}{1}&0&0&0& &0&0&\color{blue}{1}&0 \\ \hline
0&0&\color{blue}{1}&0& &0&\color{blue}{1}&0&0& &0&\color{blue}{1}&0&0 \\ \hline
0&0&0&\color{blue}{1}& &0&0&\color{blue}{1}&0& &\color{blue}{1}&0&0&0 \\ \hline
\end{array}
\end{eqnarray*}
