One thing that kind of bothered me in my recent CSM training course was a consultant's comment that he didn't feel any need to try to "sell" Scrum to resistant management, implying that, if they didn't buy into it, it was their loss -- but winning over management is almost certainly a big part of what developers in that organization are expecting a consultant to HELP THEM WITH!
Just as management needs some level of developer "buy-in" for a project to have any chance of success, anyone hoping to transition a traditional organization to Agile needs to be able to SELL the concept, in terms a traditional business manager can understand. "Just trust us" is the arrogant Agile counterpart to management's "Just do it" -- and about as effective.
Agile is a TOUGH SELL! You're asking what may be a whole STACK of non-programming middle managers to abandon established practices, to override PMP-influenced resistance (which may finally be diminishing, now that the Project Management Institute has begun to take an interest in Agile), to buy into subversive concepts like "self-organizing teams", based on rationale they typically don't have the first-hand development experience to understand... knowing that if it all goes wrong, THEY'RE the ones who'll be held accountable.
Emphasizing Agile's ability to deliver better quality software, much faster, using fewer resources (better, faster, cheaper) is critical to convincing management to at least give Agile a TRY, but avoiding an outcome that permanently DISCREDITS Agile requires knowing where you can compromise the "purity" of your model, while holding the line on items necessary for Agile to actually produce benefits. Setting up a system of code review and mentoring, to ensure code is kept clean, maintainable, and extensible, is more important than insisting a large team of developers with poor dev. skills write sloppy unit tests to support their convoluted code. Generating some amount of unecessary documentation is preferrable to having your product fail a customer audit, or to have your project remain unfunded by corporate managers who don't buy into your "trust us" argument.
To offer reassurance and manage expectations, you'll need to provide justification for the changes that will need to take place, be able to offer credible alternatives to traditional methods of maintaining accountability, and openly acknowledge potential areas of conflict (for example, Agile organizations typically require a smaller number of more highly-skilled developers, which may eventually lead to issues of what to do with long-time employees who are under-performing in a department which is over-staffed, under the new standard).
By choosing your battles, and focusing on a few key issues like obsessive attention to code quality, replacing Big Design Up-Front with a commitment to iterative "refinement" of an initial outline spec., sqeezing in at least SOME amount of regular customer proxy feeback (usually from a busy marketing rep. who doesn't understand why you can't just go off and build the entire app. as specified), limiting the number of items under development to force developers out of their silos and encourage them to collaborate, holding regular informal reviews to try to improve the dev. process based on observed results... you are surreptitiously "infecting" the organization with traces of Agile, so you can break down resistance and eventually take over the host.
Don't make the mistake of the last organization I was in, where we managed to get buy-in on adopting specific Agile PRACTICES (continuous integration, unit testing...), but failed utterly to get commitment to the more important Agile PRINCIPLES. Management still insisted that we begin a three year project by dividing all work into "tasks", which were distributed to 15+ developers in two globally-distributed teams to "estimate", despite the fact that only three of us had significant first-hand experience with the technologies we would be using, and many developers suffered from questionable coding skills... with disasterous results.
Kanban is interesting here again, because it seems better able to overcome initial management and developer resistence, by requiring only very minor changes to ANY existing development process (including waterfall), with teams reportedly adopting more and more agile techniques naturally, over the course of the project, as productivity improvements become obvious to everyone involved.