978-1-4799-0059-6/13/$31.00 ©2014 IEEE Handling tradeoffs between Agile and Usability methods AbstractIn the past few years, many organizations have tried to improve their software development methodology. Different development approaches had been introduced but only a few are still functioning in the software industry. Agile software development is one approach, which is currently successful in software industry. For the development of interactive and usable software, this agile approach needs to integrate with usability approaches. But this integration is not clear as both agile and usability follows iterative approach of development while agile approach is more toward on writing code and development of a running system; whereas, usability focused on the user interface to make the software more usable and increase its usability by following UCD process. This paper provides an extensive related work on the integration of agile methods with usability that highlights critical issues in agile methods and shows the importance of usability in agile methods. In the end, the proposed model is discussed to handle tradeoff between usability and agile methods under one model. Keywords: agile development, usability, user interface design, software engineering I. INTRODUCTION Software development plays an important role in today’s world. Different development approaches have been introduced and their main focus is to develop software in a short amount of time with a complete user’s requirements. Agile approach is one of the most commonly used approach for a rapid software development even though agile approach can develop a working software but not a usable software. In order to build a usable and interactive software, agile approach alone is not successful to produce such software and fails to satisfy the end user [1]. Software can be divided into two groups which are working and usable software. Agile approach delivers only working software with complete user requirements. To development a usable interactive software, high user involvement and usability approaches are involved. But in agile approaches, the time constraints do not allow to follow usability approaches, so it is often neglected and the whole focus is on the development of a running system. The rule of following agile approach is to deliver a piece of working software. The main focus is on the development and testing of code and the rest of all other activities including usability are ignored [2]. Producing interactive and usable software, the rule of agile will not satisfy the user despite the software is working but due to its lack of usability the software will fail. The term usability is defined in various ways throughout the literature. Despite the difference in definition of usability, most of them classify usability as a quality attribute for the software success and make it usable to the users Today, software is being developed for individual users as well as for companies. To capture the market and gain profit many software models were presented as agile manifesto just because of traditional rigorous software process models. Hence, this manifesto gives an idea of a new methodology in software development, which is well known today as agile software method. Agile software method does not follow documents as seen in traditional software methods. Instead, agile focus more on coding then documentation follows. The best thing in agile methodology is that, it resists rapid changes in software development that is not easy in traditional software model. Still, agile model lacks a quality attribute of usability in its development. Research shows the high importance of usability in software development. Poor and inefficient designs are the most common causes noted in the product that have lack of usability and ultimately result in the failure of soft product. So, neglecting usability from software development make the software less interactive, difficult to use and dissatisfy the user. Many research highlighted this question on how to integrate usability approaches in agile methodology. Both agile and usability have common feature i.e. iterative way of working. But agile highly focused on coding and development; whereas, usability focuses on how the end user will use the software and evaluate the usability of software. Despite their different nature and background, the important question is: who are your customers? The word customers do not mean that these are the actual software end users but they can be the representative of end-users or sponsors of that software. This paper tries to give answers through related work and literature review on the importance of usability in today’s software development, integration of usability in agile methods and the role of the customer in producing usable software. Saad Masood Butt Computer and Information Sciences Department Universiti Teknologi PETRONAS Tronoh, Perak, Malaysia saadmasoodbutt668@yahoo.com Wan Fatimah Wan Ahmad Computer and Information Sciences Department Universiti Teknologi PETRONAS Tronoh, Perak, Malaysia fatimhd@petronas.com.my Lukman Rahim Computer and Information Sciences Department Universiti Teknologi PETRONAS Tronoh, Perak, Malaysia lukmanrahim@petronas.com.my