More on cross-training
A web developer named Christian Mogensen had this to say:
I'm not a game developer, but I've seen the same problems you have. At my first job, a web design shop called vivid studios in San Francisco, we did quite a bit of cross-training because it made us more flexible, and it promoted understanding across disciplines.
Graphic artists began to understand why the programmers liked certain solutions better than others, and they could thus change their output to better suit the programmers. Vice versa, the programmers could tweak the odd broken gif if they knew their way around photoshop.
I (a programmer by training) actually ended up training my managers in the mysteries of McConnell. (They were all typical web "producers" - amateurs with experience and little training) That was training well spent! If your manager is clue-impaired, give him more clues! :-)
The efficiency/execution-time gains are a plus, but there are second-order effects that give you a further boost as people adapt their work using their extra knowledge of what the other side needs.
Oh, and of course cross-training improves your bus-coefficient (how many people can be run over by a bus before your critical path halts?)
We didn't have a formal training program for artists, it was more about having an atmosphere where cooperation and training "in the moment" came naturally. So when there was a problem, the engineers would walk the artists through an issue. So over time the artists understood what the engineers were talking about. Vice-versa, if you hang around graphic artists all the time, you're not going to avoid picking up some photoshop skills.
Engineering did have a formal training program (readings from Code Complete and such-like) and an artist would occasionally show up for these. The artists would take us along on field trips to the Moma or the Exploratorium. It rubs off on you...