“We work on a large legacy codebase”. You could still apply all the Agile principles; the technical practices might be directly applicable or require some adaptation. Productivity would likely improve more slowly than on a green-field project. But then, if you kept the old methods, you would just be producing instant legacy code...
“Our teams are highly distributed.” Distributed Agile is a solved problem. We have set up and supported several dispersed environments, which were quite effective at Agile.
“Our software is embedded or integrated with hardware.” Same answer as above...
“Senior management won’t go for it.” Ask yourself, what are their objectives? Are these objectives being met by the current process? What would they feel they’re losing by a move to Agile? You could get support or rejection just by the way you present the topic.
“Can we just figure it out ourselves?” Of course. Agile isn’t rocket science; getting there is hard. And until you do, you’ll pay a cost in performance, productivity, and code quality.
“We have many teams.” Not every team has to adopt Agile simultaneously, although we’ve helped companies do so successfully. There are several strategies for enterprise transition.
“How can we know whether Agile is right for us?” As with any change initiative, you can conduct a readiness assessment. It’s best done by an external, objective party who is an expert in Agile as well as your current process. This small investment has a great impact on the transition’s value and risk. We can do it for you.