|Perl: the Markov chain saw|
A good manager need never have done the job she or he is supervising. Her or his role is that of facilitator.
A manager does his or her job well by:
The only way to achieve these three things is to respect and listen to your staff. If you think of them "human resources" or dolts and not people, you can never manage effectively.
As a programmer, I shouldn't need to think about inter-office power squabbles or pissing-matches between account management and operations. These things don't concern me. To the extent that I am distracted by these issues, and my productivity suffers, my manager is not upholding his or her responsibility. All I need are the specs and a schedule.
Mutual respect is worth 1000 times any level of 'in field' experience a manager has to offer. This applies whether you are dealing with cannery workers sorting out rotten fruit, car salesmen or engineers.
eyepops manager should ask for feedback on the new agile approach. S/he should be able to accept negative feedback - "I hate it". S/he should be willing to ask "Why?" and accept an honest answer. Finally, s/he needs to ask "How can we make things better?". Once s/he has this info from eyepops and his coworkers, s/he can determine how best to advocate for her/his staff to maximize productivity.
None of the above steps are possible without mutual respect.