978-1-4799-0059-6/13/$31.00 ©2014 IEEE
Handling tradeoffs between Agile and Usability
methods
Abstract— In 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