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.
I'm not sure if its considered interaction design, but we did
conceptual design meetings up front when helped aligned all the
stakeholders on a common project vision.
In my opinion there are three things that make it work so well for us:
1) The high level of focus on the UI. Our usability expert and the
prototype were involved from the very beginning. The UI creator is a
senior level person who has advocated the importance of the UI for
years. I say creator because people have difficulty imagining a
developer who is an interaction designer. (Imagine someone who codes
but priorities are focused on the customer not the code. Pull out quick
if your head starts to get too warm!)
2) The open, high-bandwidth communication between the usability
expert(Interaction Designer), the development team lead (project
"vision" holder in XP terms), and the UI creator (developer to some,
Interaction Designer to others). We all want to put out the best
product possible. The priority is the end user's experience, not our
3) The overall seniority of the entire team. It is often un-mentioned
in the XP articles, but XP pretty much requires (in my opinion) a high
percentage of senior level people in the development group to work well.