2 points I want to mention wrt the agile process:
1. agile doesn't mean that you can do anything you want, change anything anytime, and leave things undocumented. This is not agile, this is AD-HOC.
2. an agile process is just a different style of development process. But it is still a process. Someone STILL need to monitor, control, and administers it. The
word 'agile' indicates that there is a level of freedom and liberty in there, but just like DEMOCRACY, when not enough control and understanding is in place, it falls into ANARCHY.
So in my opinion, the key in incorporating agile is:
1. Control it firmly. Define the rules and regulations.
2. Make sure that everyone understand exactly how the process works, what can and can't be done and ENFORCE it.
This sounds very simple, but the fact it there's a lot of orgs that tries to adopt agile thinking that agile means less overheads. Well, things don't just take care of themselves, someone somewhere needs to ensure that the development are progressing in a controlled manner, someone somewhere need to ensure that everyone is playing by the rules and things are traceable.
Probably this mistakes is not very visible on smaller project, because admit it, on smaller project it doesn't matter whether you are organized or not, following any process or not, you put a good developer in and he will be able to find his way through (after a lot of frustation...)
But try not having a firm structure of control and tracing in place on a big project. The difference will become obvious as the scale of the problem grows.