Agile analysis is a highly evolutionary and collaborative process where developers and stakeholders actively work together on a just-in-time basis to understand the domain, to identify what needs to be built, to estimate that functionality, to prioritize the functionality, and in the process producing artefacts that are just barely good enough.
You dont need to build systems in one go. Work is broken down into small, achievable "chunks" of functionality. These chunks should be implementable within a short period of time, often as little as hours or days.
To achieve this communication is vital. We prefer warm communication techniques such as face-to-face discussion. We try to work as closely to our stakeholders as possible.