So, let’s pretend that you are working someplace where you have two or more teams working on development projects. Furthermore, let’s say that those teams have been in the same configuration (same folks doing the same thing) for 3 or more years. Things might start to get a little stale right? Teams might start to get a bit isolated, each focusing on their own areas of domain expertise. You might find it very difficult to introduce change in this kind of environment – in fact, I can almost guarantee that people will tend to resist change in a scenario like this.
So then I wake up screaming in the middle of the night.
Wait…we’re not talking about me. Really. So this “friend” of mine thinks he has a problem and he wants to stir things up a bit. The idea is to start moving people between the teams. People get experience with different domains, different teams, different technologies, etc. So what strategy should you use that will provide some structure for this type of team swapping that won’t seem totally arbitrary and capricious and will be respectful of the people involved? So I had a few ideas that I shared with my “friend”:
Musical Chairs: everyone swaps one seat on the team, if you don’t have a seat you go to another team
Playground Picking: just like picking teams for kickball, every once in a while you get everybody together, pick captains, and let them select their own teams
Core + Float: keep “essential” people on the team together, and give journeymen on the team the opportunity to work with whichever team they like
Sprint Rotations: each sprint, rotate a different person on the team to another team.
How would you stir things up on your teams?