Many agile projects require user interaction (UI) design, but the integration of UI design into agile development is not well understood. This is because both agile development and UI design are iterative — but while agile methods iterate on code with iterations lasting weeks, UI designs typically iterate only on the user interface using low technology prototypes with iterations lasting hours or days. Similarly, both agile development and UI design emphasise testing, but agile development involves automated code testing, while UI must done by expert inspectors or ideally potential end users. We report on a qualitative grounded theory study of real agile projects involving significant UI design. The key results from our study are that agile iterations facilitates usability testing; allows software developers to incorporate results of those tests into subsequent iterations; and crucially, can significantly improve the quality of the relationship between UI designers and software dev...