Create a Learning Environment
Most successful projects are environments that are conducive to learning. This is important because every team has to learn a lot over the course of a project. In every case, the development team has to learn lots of details about the overall problem domain, but in the ideal case the developers graduate from a project as better analysts, designers, programmers, and testers.
You want your experienced developers to have broadened their skills and to be better at passing on those skills to the intermediates and beginners in the team. You want your intermediate developers to be ready to take on lead roles in subsequent projects. You want your beginning developers to be ready to undertake the intermediate developer role in their next projects.
To this end I would make sure that every beginner on the team has her own copy of The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley, 1999, ISBN 0-201-61622-X)). I'd also make sure that everyone on the team takes an hour or two every week to try out ideas that might improve her software development skills in a way that assists the current project. You can afford to let the developers take this time out of the project schedule because it makes sense to invest 5% in the craft of software development; the payoff is potentially higher productivity. Imagine how much better your team could be after a year-long project if everyone took two hours a week to hone their skills.