A Three-Fold Integration Framework to Incorporate User–Centered Design into Agile Software Development Shah Rukh Humayoun 1 , Yael Dubinsky 2 , Tiziana Catarci 1 1 Dipartimento di Informatica e Sistemistica "A. Ruberti", SAPIENZA - Università di Roma, Via Ariosto – 25, 00185, Roma, Italy {humayoun,catarci}@dis.uniroma1.it 2 IBM Research – Haifa, Mount Carmel, Haifa 31905, Israel dubinsky@il.ibm.com Abstract. We present a framework that incorporates user-centered design (UCD) philosophy into agile software development through a three-fold integration approach: at the process life-cycle level for the selection and application of appropriate UCD methods and techniques in the right places at the right times; at the iteration level for integrating UCD concepts, roles, and activities during each agile development iteration planning; and at the development-environment level for managing and automating the sets of UCD activities through automated tools support. We also present two automated tools—UEMan and TaMUlator, which provide the realization of the development-environment level integration. Keywords: User-centered design (UCD), agile software development, usability evaluation, integrated development environment (IDE), UEMan, TaMUlator 1 Introduction One of the challenges in software development is to involve end users in the design and development stages so as to collect and analyze their behavior and feedback in an effective and efficient manner and then to manage the ensuing development accordingly. One way to achieve this is by applying user-centered design (UCD) [4] philosophy. This philosophy puts the end users of the system at the centre of the design and evaluation activities, through a number of methods and techniques. UCD is applied in software projects with the aims of increasing product usability, reducing the risks of failure, decreasing long-term costs, and increasing overall quality. Integrating UCD activities into software development processes fuses the user experience with the development process, attaining a high level of usability in the resulting product. One description of UCD that we find particularly motivating is: ―User-centered system design (UCSD) is a process focusing on usability throughout the entire development process and further throughout the system life-cycle‖ [10] (p. 401).