Status of Nonfunctional Requirement in Mobile Application Development: An Empirical Study
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
This article titled “Status of Nonfunctional Requirements in Mobile Application Development: An Empirical Study”, appears in Journal of Information Technology Research (JITR) (ISSN 1938-7857; elSSN 1938-7865), Vol 10, Issue 1, Copyright 2017, IGI Global, www.igi-global.com. Reprinted by permission of the publisher.
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 (FRs) of the software and hence nonfunctional ones are unseen initially.
However, if the same nonfunctional requirement (NFR) remains unimplemented, the FRs may become obsolete as they may be unable to deliver without nonfunctional areas or may be unusable till nonfunctional components are implemented.
Thus, the neglecting NFRs may lead to complete the rejection of the software among the stakeholders/customers although they were never called for directly.
In the case of mobile software development, various challenges get mapped to various NFRs like GUI, interactions with a large number of other apps, location awareness services, security, hardware and software independence apart from other traditional challenges such as usability, performance and reliability. Hie software developer must consider these issues in the form of NFRs during the development of the mobile apps. These issues can never be predefined and in fact depend on the level of expertise of the software developer.
For example, a software developer must consider the issues of database consistency as mobile networks usually perform handoffs. In the case of availability of a high-speed network, it is possible to increase the data transfer speed during transaction execution, thereby making consistency issues one of the more important NFRs. The successful implementation of the mobile app depends on the ability of a software developer to implement not only FR but also NFR by anticipating future events led by technological changes, environmental changes etc.
Numerous techniques are available to elicit software requirements and to prioritize these requirements. Hie available techniques focus mainly on FR available in the literature and very little work is available that handles NFRs separately or at least relative to FRs.
Keeping in view the importance of NFR in successful implementation of projects, especially mobile apps, the need was felt to undertake the survey of existing mobile app developments from the viewpoint of NFR contributions.
An effort is made to analyze the contribution of NFRs to the success/ failure rates of the product, analyze the status of NFRs, implementation and its contributions to the cost and time of overall development. Efforts are made to analyze the variation with an increase in the size of organization and complexity of the projects.
Hie challenges in mobile app development can be mapped to different NFRs. NFRs determine the success or failure of projects. It is interesting to analyze the contribution of NFRs in the overall project from the historical data, ongoing live projects and industrial experience of mobile software developers. Hie outcome of the screening will motivate the researchers to consider NFRs equivalent to FRs.
Research Aim, Objective, Outcome
Hie aim of this research is to explore the relationship of NFRs with the undertaken mobile software project metrics, especially the cost, time, success rates and failure rates. Hie study also aims to identify and explain the various process models employed in software organizations in prioritizing the NFRs.
Hie objective was achieved through the following steps:
- 1. A survey conducted through the means of questionnaires with 13 developers from four development organizations. Hiis formed the industrial survey. Hie outcome is both quantitative and qualitative.
- 2. A case study of a few mobile app projects undertaken and those ongoing in industries. Hiis case study is Industrial Case Study.
- 3. Literature survey to gain deeper insights into the definitions of success rates, failure rates, existing prioritization techniques. Hie literature survey is an exploratory research to get familiar with the variable terms the study of which is a prime interest to this book.
- 4. Data analysis by comparison of surveys and case studies at different levels:
■ Level 1 : analysis of data collected for case study and survey. Hiese two empirical methods are studied separately and not in relation to each other.
■ Level 2: comparison of survey findings with case study findings.
■ Level 3: comparison of survey, case study and literature findings.
Figure 4.1 Research method.
Figure 4.1 presents the research method employed to answer the research questions forming the aim of research undertaken in this chapter.
Hie case study is undertaken in the form of analysis of historical documents and personal observation to verify, validate and/or add more to the analysis information of the industrial project survey. The advantage is that the researchers will get the opportunity to see if the practice adopted by survey participants is industry specific or generally followed across many firms. Further, the wrong or misleading information (if any) reported by industry participants either to hide some information as per company policy or support company vision policy or might be due to different terminologies used across different development firms (if any) will be minimized as a result of observations through the case studies. Case study undertaken by the researchers has given them the opportunity to verify the insight brought up by the survey participant with the things observed by the researchers.