I really don't understand the hate for Agile. Adaptation, empiricism, iteration self-managed teams etc...what's not to like?
I'm currently involved with two programs run by project managers who probably haven't written code for 30 years (if ever), and it's a nightmare.