Agile does have a lot of weaknesses:
- It's only good for small to medium sized projects: Because Agile depends on open communication between team members, then the more people you have on your team the messier the project is. Most "Agilists" argue otherwise though.
- It only makes sense in software projects: What other industries (other than the software) can you think of where the projects constantly change and the requirements are often unclear?
- It's becoming a cult: Unfortunately, Agilists are making Agile a cult, thinking that it's the ultimate solution for executing ANY project.
- It doesn't always adapt with the organization's culture: Agile is very hard to implement in heavily functional (traditional) organizations, it requires a major change in the culture of such organizations (such change is always faced with a very high resistance from executives and employees alike).
- It assumes that all the team members working on the project are excellent resources: Of course, this is not always the case, and not only that, it assumes that everyone will be happy to assume more responsibility (responsibility that traditionally belongs to the project manager, such as interfacing with the project manager), which is not always the case (in fact, it is RARELY the case).
I'm sure other project managers can think of other weaknesses...