In addition I remember being taught that you ultimately want teams to "jel" much more than some marginal productivity gain you might get from diversity. Wouldn't homogeneous teams make "jelling" easier? Notice that I mean this in the limited scope of programming I know there is evidence to the contrary at the management level.