Originally posted by Vinayagam Kulandaivel:
1. Team size
It's true that Agile is easier to implement with smaller teams, up to perhaps a dozen people - simply because software development works better that way.
Jutta Eckstein, the author of "Agile in the Large" is known for saying that, on the other hand, being Agile is *especially* important for larger projects. (As far as I know, she has personal experience with projects of over a hundred people, and contact to other projects of 500 and more.)
2. Development/Maintenance/Enhancement projects
I don't see a significant difference between maintenance and enhancement. And as an Agile project works to deliver a minimal, working system after a few weeks, it basically is in enhancement mode afterwards, anyway. (You could say that Agilists strive to make every project become an enhancement/maintenance project as fast as possible.)
3. Mid size/Larger size/ERP/Product based projects
Not sure why you think this would make a difference.
4. Development in different geographical locations
As with 1., this certainly makes it harder to be Agile. Still, people trying to do it report that it still pays back to try to be as Agile as possible.