There is this unfortunate myth in agile circles that you should do no upfront work and you should deliver something by sprint 1. Thats not a good idea. Fortunately, there has recently been some interest in integrating UX with agile. Here are some links to get you started
- Twelve emerging best practices for adding UX work to Agile developmentTwelve emerging best practices for adding UX work to Agile development: An old article but still a useful guide on how to incorporate UX on an ongoing basis over the life of an agile project (rather than doing all UX upfront)
- Read about the User Story Mapping techniqueUser Story Mapping technique
- Finally, take a look at the slides for Jeff Patton's Agile Product Discovery. Its a bit tough to understand with the slides alone though.
The key really, is to do some upfront planning, but not too much. Just keep it lightweight and keep integrating it along the lifetime of the project.