Whenever I start working on a new Web site or new project, I get pretty excited about creating a new UI. I especially get excited about working on a user interface using Agile. But one thing I always remember about working in Agile is that I have to take a very different design approach. So what do I mean by that?
Often in a design project, UX professionals will want to understand all of the requirements and what the application needs to do in order to design - it's a very "waterfall" process. This is why some UX professionals find that Agile is counter to design methodologies - in design you often need to understand how an entire system works to put all of the pieces together and to create a scalable structure. However, waterfall designs are not all really that scalable - in fact, Agile gives you more opportunities in design and creating innovative UX.
What is iterative design? Well, I'm sure there are more formal industry definitions of it, but then there is the way I tend to work with it. There are a number of Agile articles on UX that define a process to integrate UX development with programming and have the UX folks work 2 weeks ahead of the team. I agree with that approach for adding features to a UX. To create a new UX, I think the UX professional does need to understand what the application will need to do (generally) and understand who the audience is, but I don't think the UX professional needs the details. For the initial phases of the project, the UX professional needs to establish a general infrastructure for the site - something that could have features added or be tweaked to accommodate features and be tested. The best way to approach this is to create a general workflow and UI that meets the basic needs of the project.
The best part about designing using Agile methodologies is that you can't over design. By designing at the base level, you create something simple and straightforward that people find helpful. The users don't need to have previous knowledge, try to understand the system, or wonder what will happen next. Surprise is great for users to experience, but not in a first release of a product. In fact, having too many surprises can jeopardize your UX - people won't find it credible and may perceive it to be trendy and not usable. And the challenge of having too many surprises in a first release - it may not be fully developed or tested. The business owner would rather focus the development team to get the basic application to work as expected rather than getting a little widget to work as the UX designer spec'd out.
By keeping in mind simple and Agile, you also keep in mind that the sit or app is for the users and that they should be involved in the earliest stages of development. A developer can more easily create a tool that follows a more basic UI and leverage style sheets than to complete 3-4 stories to create a complex Ajax flourish. Users want functional - and by getting a solution in front of them quickly (with a clean, basic UI) you achieve that. And you can more easily get their feedback. One surprise that you may experience working this way is that users prefer the simpler designs and flows - they don't need or expect advanced functionality. They just want it to work as they expect. Once that is achieved, then it makes sense to take the app to the next level and research new approaches that more closely meet the user's needs.
Like any piece of artwork (from food to sculpture and painting), it's easier to add than to take away. We, as UX Professionals should keep that in mind when creating experiences. Keep it simple and basic and then work with the users to create artwork that they want to use.