Usability Engineering in Agile Software Development Processes

Usability Engineering in Agile Software Development Processes

Muhammad Aminu Umar (Ahmadu Bello University Zaria, Nigeria), Sheidu Salami Tenuche (Ahmadu Bello University Zaria, Nigeria), Sahabi Ali Yusuf (Ahmadu Bello University Zaria, Nigeria), Aminu Onimisi Abdulsalami (Ahmadu Bello University Zaria, Nigeria) and Aliyu Muhammad Kufena (Ahmadu Bello University Zaria, Nigeria)
Copyright: © 2016 |Pages: 14
DOI: 10.4018/978-1-4666-9858-1.ch011
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

As the popularity and acceptance of agile software development methodologies increases, the need to integrate usability engineering in the design and development processes is imperative. While, agile the focus is on technical and functional requirements not on end-user interaction, usability is usually only dealt with on the side. Combining this two in practice will go a long way in development of better product. Since the success and acceptance of software product depends not only on the technologies used but how well it integrates user-oriented methods. Therefore, this chapter puts together works on how usability engineering has been integrated with agile processes.
Chapter Preview
Top

Introduction

Software plays a significant role in the lives of individuals and companies. Software engineering has been the major driving force for the conceptualization, design and development of software products. Several models for streamlining the development process have evolved and promoted over the years from the traditional waterfall model to more iterative and incremental development processes and recently to agile development methodology.

Agile software development process often refers to as “Agile” like any other process targets at final product from requirement engineering. This process has been promoted by software developers particularly the practitioners in the industry (Bhalerao, Puntambekar, & Ingle, 2009). Agile methods were established to develop systems more quickly by spending the shortest possible time on analysis and design (Sohaib & Khan, 2010). More importantly agile methods are iterative, which mainly focus on teamwork, collaboration between customers and developer, while constant/frequent feedback from customers throughout the lifecycle of the software project and support early product delivery (Koskela, 2003).

Therefore, it will right to say that agile methodologies focuses more on the technical aspect of the development of the software product which did not focus on the system non-functional aspects such as usability. As more organizations adopt agile development practices, usability practitioners want to ensure that the resulting products are still design with users in mind (Sy, 2007). In Agilepractice, customer is considered as a business agent who understands the business value of end-user requirements.

Usability engineering is a science that studies how to understand and systematically address the usability demand of a customer (Lee & McCrickard, 2007). Usability engineering processes are important in that they focus on developing systems that are tailored for end users (Lee & McCrickard, 2007). On the other hand, software usability is defined as the capability of the software product to be understood, learned, operated, attractive to the user, and compliant to standards/guidelines, when used under specific conditions (“Software product evaluation—quality characteristics and guidelines for the user,” 2001). Usability is considered as one of the most important quality factors in the design and development of an interactive software application (Fernandez, Insfran, & Abrahao, 2011). Hence, its processes focus on developing systems that are adapted for end-users (Sohaib & Khan, 2010).

Therefore, it’s not enough to have a system with sound technical and functional output but a system that is design and develop with the end-user in mind (i.e. user-centered design concepts). Even though, it is reported that the use of agile methods can result in improved usability (McInerney & Maurer, 2005). This is due to the fact that the customer is involved throughout the development process. It should be noted however, that agile development processes involve a customer as a business representative who is responsible to specify the business value of user requirements, but this customer needs not necessarily tobe a real end-user (Hussain et al., 2008).

Consequently, this chapter discusses the place of usability engineering in the agile development processes put together from existing literatures on integrating agile methods and user-centered design approaches.

Complete Chapter List

Search this Book:
Reset