Top software jobs tend to be heavy on designing system architectures. The trouble is, you cannot test, code review, or continuously integrate your way into a good architecture. Architecture is something that is imposed from outside the code, hopefully by a benevolent dictator with lots of experience. Of the thousands of failed software systems, most were killed by architecture, not code quality. (In fact some product lines have been killed by solid code hiding an architecture that cannot survive contact with the future. Rails/Django versus Enterprise Java Beans?) Ditto for the business analysis that precedes architecting.
Agile strikes me as a formal implementation method, which means it is for the operations leader and the middle-tier engineers who work for them. (The operations leader might not be an architect.) A structured checklist of activities can be valuable here to keep people from missing the forest for the trees. However it is not a silver bullet that guarantees the system will be appropriate.
There is also the question of what you mean by "top". The most highly skilled people in any job, or ones who lead the highest levels of the project? You probably mean the former; it is a matter of perspective but the distinction is relevant.
And let's not ignore financial and security work, where ideally the coders never learn the identity of the reviewers. (Collaboration == potential collusion.)