I think trap number one thinks that "agile methods" means that you can do or not do anything you want. I would jeopardize that most people who use agility do use ad hoc, rather than using methods that lead to agility. Agility requires work and discipline, perhaps more than plan-based development.
I get a giggle from people who say flexibility is less effective because changes can happen and you have to redo everything. The reality is that changes happen and you have to do something (or end up with an unhappy client) regardless of the method. Flexible methods simply agree that this will happen and try to use methods that will allow it to happen in the least destructive way. To be effective, you still need to be disciplined about what changes you allow using flexibility just gives you a better chance to say yes and still do it on time.
source share