Status of Non-Functional Requirements in Mobile Application Development: An Empirical Study

Status of Non-Functional Requirements in Mobile Application Development: An Empirical Study

Varun Gupta (Amity University, Noida, India), Raj Kumar Chopra (Uttarakhand Technical University, Dehradun, India) and Durg Singh Chauhan (GLA University, Mathura, India)
Copyright: © 2017 |Pages: 26
DOI: 10.4018/JITR.2017010105
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Non-functional requirements determine the acceptance of the software application amongst its stakeholders apart from the desired functionality yet they are mostly neglected by the software development organizations. Efforts are made to enhance the success rate of the mobile app product; however, there is a lack of empirical studies available for analyzing the contribution of nonfunctional requirements towards the product success. In order to suggest mechanisms for improving product success rates, it is important to undertake the empirical study through surveys and case studies in industrial settings to analyze the software development practices focused on non-functional requirements. The analysis of data collected through empirical methods suggests that non-functional requirements are handled in the rough adhoc fashion and the number of implemented non-functional requirements is less with respect to number of implemented functional requirements. The contribution of non-functional requirements to overall development cost and time is lesser due to lesser number of requirements that undergo implementation but will grow to higher extend as their number will increase. The impact of non-functional requirements on product success rates, failure rates, overall cost and development time varies with type of development, size of organization and complexity of the undertaken mobile app projects.
Article Preview

Introduction

The software industry aims to develop high quality software for its clients under various development constraints. Huge expenditure is involved in undertaking a software project with likely failure risks threatening potential expected benefits.

The ability of a software to satisfy the customer results in an enhanced customer base, implying higher software sales and a good turnover. The reverse of this situation negates the justification of investment in huge development costs. Failure not only results in a monetary loss in the current project but may also impact company’s reputation thereby decreasing the customer base for future projects to be undertaken by the firm. Customer satisfaction is detrimental to the company’s future.

Satisfaction comes from the ability of the software to meet the expectation of its customers/users. These customers are mainly concerned with the functionality of the software, i.e. functional requirements of the software and hence non-functional ones are unseen initially. However, if the same non-functional requirement (NFR) remains unimplemented, the functional requirements may become obsolete as they may be unable to deliver without non-functional areas or may be unusable till nonfunctional components are implemented. Thus, the neglecting non-functional requirements may lead to complete the rejection of the software amongst the stakeholders/ customers although they were never called for directly.

In case of mobile software development, various challenges get mapped to various non-functional requirements like GUI, interactions with a large number of other apps, location awareness services, security, hardware and software independence apart from other traditional challenges like usability, performance, reliability, etc. The software developer must consider these issues in the form of non-functional requirements during the development of the mobile apps. These issues can never be predefined and infact depend on the level of expertise of the software developer.

For example, a software developer must consider the issue of database consistency as mobile networks usually suffers handoffs. In case of availability of high speed network, it is possible to increase the data transfer speed during transaction execution, thereby making consistency issues one of the more important non-functional requirements. The successful implementation of the mobile app depends on the ability of software developer to implement not only functional, but also non-functional requirements by anticipating future events lead by technological changes, environmental changes etc.

Numerous techniques are available to elicit software requirements and to prioritize these requirements. The available techniques focus mainly on functional requirement available in the literature and very little work is available that handles non-functional requirements separately or at least relative to functional requirements.

Keeping in view the importance of non-functional requirement in successful implementation of projects, especially mobile apps, the need was felt to undertake the survey of existing mobile apps developments from the viewpoint of non-functional requirement contributions.

An effort is made to analyse the contribution of non-functional requirements to the success/ failure rates of the product, analyse the status of non-functional requirements, implementation and its contributions to the cost and time of overall development. Efforts are made to analyse the variation with increase in size of organization and complexity of the projects.

Motivation

The challenges in mobile app development can be mapped to different NFR’s. NFR’s determine the success or failure of projects. It is interesting to analyse from the historical data, ongoing live projects and industrial experience of mobile software developers, the contribution of NFR’s in the overall project. The outcome of the screening will motivate the researchers to consider NFR’s equivalent to functional requirements.

Research Aim, Objective, Outcomes

The aim of this research is to explore the relationship of non-functional requirements with the undertaken mobile software project metrics, especially the cost, time, success rates and failure rates. The study also aims to identify and explain the various process models employed in software organizations in prioritizing the non-functional requirements.

The objective was achieved through the following steps:

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2017)
Volume 9: 4 Issues (2016)
Volume 8: 4 Issues (2015)
Volume 7: 4 Issues (2014)
Volume 6: 4 Issues (2013)
Volume 5: 4 Issues (2012)
Volume 4: 4 Issues (2011)
Volume 3: 4 Issues (2010)
Volume 2: 4 Issues (2009)
Volume 1: 4 Issues (2008)
View Complete Journal Contents Listing