I'd say that this depends on the agile methodology used. My experiences with Agile have not been good - not when it is systematized and forced by management.
But the general principles of Agil are good - as long as they can be adapted to the situation/ For example, we had short sprints which didn't provide time to do good work on things that were *inherently* tnagled and difficult to segment and abstract. This led to artificially short timelines which led to code being delivered before the appropriate iterative discovery process could be done.