Some relatively lucid observations there. (Disclaimer: I'm an expert. I was into Agile before it got named that.)
There's one point that I starkly disagree with:
> “Hero developers” make most of the big differences made in software development.
Wait, did I say I disagree? Hero developers make a big difference all right - for the worse. Nothing breeds bad management like the one guy who pulls through when the team can't. Managers come to rely on them, and therefore on sheer blind luck, when the name of the game is to engineer success, by putting together a solid team.