In our minds Agile Development is really all about feedback loops. It is about listening, being aware, and gather feedback continuously throughout the process so that we adjust according to that feedback as we progress along.
Once we start the Agile Development process doesn't mean we forgo all of the other processes we did initially (e.g. Discovery & Definition, Project Planning, Design Review, Roadmaping, Milestone Planning). In fact we continue to do them iteratively. Basically maintaining the goals of them along the way as we learn things through the Agile Development process.
The way we think about it is really that we are maintaining and evolving the artifacts that came out of the initially upfront engineering process while we iterate through the Agile Development process.