One of the significant challenges with Agile is that the teams are effectively self managing. This can present an issue when you have a significant number of junior team members. At Mindflash.com we do not have layers of management within the development organization so everyone is responsible for ensuring that they are writing code up to the standards of the organization. For the more junior folks, this means they have to ramp up their skills very quickly and work closely with the more senior members of the team. We are definitely heavily weighted on the senior side of things but I think that is generally appropriate for any team as small as ours.