We've been doing Agile Programming with large parts of eXtreme
Programming (the degree of the difference has a holy war status for some
folks) with a focus on usability.
Usability components include: UI prototype which was created at the
start of the project, and has evolved over the course of things. It is
reviewed internally and by Joint Development Partners (similar to XP
customers, but story selection is controlled by an internal person).
The prototype is maintained by our usability expert.