Gap Analysis in Specifying Porting Requirements for Mobile Application

Background/Objectives: To propose gap analysis technique is to gather porting requirements for mobile application porting project. Methods/Statistical Analysis: Static-group Comparison method was used to evaluate the effectiveness of this technique. 3 mobile development organizations that are specializing in mobile application porting project were participated in this study. All together 10 participants were involved. Interview and questionnaire technique were used to identify the characteristics and issues during gathering of porting requirements. From the analysis, at the moment porting requirements are gathered using ad-hoc method or using their own intuitions. Hence the porting requirements are ambiguous and not consistent. Findings: Formalizing the porting requirement activity is essential to ensure the completeness and quality of the ported requirements. Gap analysis technique is significantly faster with precise requirements than the ad-hoc techniques. Application/Improvements: Gap analysis offers a formalized way to gather porting requirement to ensure the completeness and quality of a ported mobile application.


Introduction
In the view of current mobile applications trend, the mobile development companies are developing different kind and type of applications for mobile devices. As these mobile devices have different brands and models, it becomes an issue for the developers to develop an application that runs on all types of brands and models. Moreover mobile devices companies such as Nokia, Apple, Windows Mobile and Blackberry are having their own installed base of more than 25 million devices but not all platforms are created equally. As such, each mobile device have its own characteristics such as screen resolutions, operating systems, processor, power, and memory size 1 . On top of that, diversified mobile applications, demand, and different platforms, mobile application porting cannot be ignored (i.e., an application developed for a platform can be implemented in several other platforms) 2 .
Since there is a need for ported mobile application, developers are redeveloping or porting the native mobile application to the necessary platforms. The developers have to make sure that the ported mobile application will satisfy the user in both functionality and quality, in order to compete in the competitive market. Therefore, the developers must ensure the collected requirements are accurate and complete 2 . At the moment the developers are using traditional methods such as observation and hands-on study about the native application to gather the porting requirements. By using this methods, likely, the developers unable to gather the complete requirements as the customers want the native application to be ported into other platform with additional user requirements (i.e. from customer, hardware, environment and platform). By using traditional methods the developers cannot verify and collect all porting requirements as these requirements are from different entities.
Mobile application porting requirement is not same as mobile application requirements specification. In mobile application requirements, all type of requirements (functional, non-functional and system requirements) will be gathered from first, therefore, the developers need not worry too much about the software compatibility 4 . Whereas, in mobile application porting requirements, the developers must consider other components compatibilities (such as hardware, software, middleware, data and browser) to ensure the ported application will work accordingly 5 . Since there are many components to be analyzed for porting requirements, current available processes are not suitable. In the current processes, the requirements specification is extracted from the native application. Others requirements such as platform, middleware, programming language, data communication and browser are collected randomly because they have limited time to produce the ported application. Moreover, the developers are using ad-hoc processes for porting, most of the time the developers are doing redundant task. From the survey conducted with three mobile porting organizations, it was understood that the porting requirements gathering are done in random. Each organization has their own unique processes to identify the requirements. For example, an organization may use general requirements engineering activities such as requirements elicitation, requirements validation and requirements specification for gathering porting requirements. This organization considers porting is as transforming the native application to ported application without any changes. In reality, transforming exact same application is not cost effective as there may be some specific request or requirements that can be added to increase the effectiveness and usefulness of the ported application.
Moreover, based on the interviews conducted with porting organizations, most of the them are believing that the ported application must function exactly same as the native application, while adding extra requirements such as customer specific porting requirements are costly and putting burden on the developers. This perception should not be followed anymore as the customers are becoming mature and according to them (based on interview conducted with the smartphone users) the native application is just as a guideline for their initial requirements. The other issues such as different components in mobile applications such as browser and data compatibility will be also an obstacle for the porting organization to increase the effectiveness of the ported application.
Based on the survey conducted, it can be identified many porting organizations, such as Contus, Mobile Pundits and V-Soft Inc, using general requirement engineering activities where, native application's requirements specification as the primary and system requirements as their secondary requirements specification 6 . Any other additional requirements specification will be added as ad-hoc basis. From the survey, it was understood that no companies are using any proper approach for gathering porting requirements. For example, designing a new porting process to be used in porting projects using four phases (requirements analysis, detail analysis, implementation and, testing and certification) 7 . The requirements analysis and detail analysis phases are used to identify the native application's porting requirements and new platforms requirements. It was very straight forward process where Cho and Bae 7 did not consider other components such as hardware, middleware, browser and data. Therefore, using this model will not be suitable for complete porting requirements.
Based on the issues that have been mentioned earlier, consequently our work is motivated to use gap analysis approach to handle these issues. Note that we only focus on requirements for ported mobile application that should be applied as part of gathering requirement specification. Generally, gap analysis is an approach to compares the missing state between envisioned states against its existing state 8 . In gap analysis, the analyst usually list out the existing state, its envisioned state, and a complete plan to fill out the missing state between these two states. This approach will produce and discover unknown, uncovered or implicit states. Therefore, it is relevant for gathering requirement specifications in mobile application porting where many requirements are involved and need to discover for ensure completeness. The significant benefit of gap analysis is to compare functional and non-functional requirements in a native mobile application in order to identify gaps and areas need to be included in the ported mobile application. The uses of gap analysis in software development have mentioned since 1990s, but in mobile application development this terminology is rarely used because most of the mobile applications are native applications 3 . Based on the survey conducted with six mobile porting organizations, only one is using gap analysis approach in the mobile application development project. However, this approach is not well defined of its activities. This paper takes this opportunity to further investigate the gap analysis approach in identifying requirements specification, particularly for mobile application porting. This paper proposes an approach to gather porting requirements for mobile application. The activities in the approach will be useful to gather a complete set of porting requirements. A mobile application (i.e. Mobile Shopping Vol 9 (31) | August 2016 | www.indjst.org Kesava Pillai Rajadorai, Saadah Hassan, Hazura Zulzalil and Novia Indriaty Admodisastro Cart with QR Code) has been chosen to demonstrate the practical use of the gap analysis for gathering porting requirements.
The remainder of the paper is organized as follows: In the following section, Section 2 explained the chosen methodology for the study. Section 3, presents and demonstrates the proposed approach using a case study in gathering porting requirements for mobile application porting. Our conclusions are presented in section 4.

Methodology
This section presents the study conducted to analyze the characteristics of current activities used and issues in gathering porting requirements. Based on the findings collected, a new porting requirements gathering approach will be proposed. Thus, this section is divided in to three parts. First part is to identify the materials, followed by the study and finally the analysis of the study.

Materials
Three mobile application porting organizations were involved and altogether six participants from the organizations were participated in this study. All six participants are having relevant experiences and knowledge in gathering mobile application porting requirements. Moreover, all participants have 5 years of experiences particularly in gathering porting requirements and completed at least 4 mobile application projects.
Interview and questionnaire techniques were used in this study. Interview technique is used to identify current activities conducted by the organizations for gathering porting requirements in depth. While, both techniques were used in order to identify issues in the current activities. In addition, informal discussions were also conducted among the participants.

The Study
First, to identify the current process, two interviews were conducted in different sessions. The first interview was conducted to identify the similarities and differences of porting requirements activities performed by the participants. In this interview, four participants were participated. All four participants were asked to write activities which they performed during porting requirements activity. They also asked to name the components that need to be included in the porting requirements activity and the components' roles in the porting requirements activity (Figure 1). It shows that the participant, PA1 (i.e., Participant 1), assuming that 10 activities and 3 components are needed for complete porting requirements whereas every other porting analysts have different ideas on porting requirements activity. Based on the results, it shows that the porting analysts have their own way to conduct the porting requirements activity. Thus, we can conclude that there are no standard processes that they follow in conducting porting requirements activity.

Figure 1. Porting requirements activity and mobile devices components used by participants
The second interview was conducted to identify the activities mentioned in the first interview are consistent throughout all projects. For this purpose, three passed project were selected and all four participants were called. This time, each individual is provided with a list of activities that was collected from the first interview. Later, the participants were asked to select the activities and components that they used in the three passed projects (Figure 2). It shows that all participants were selecting most of the activities and components in the list; however, the selected activities are not consistent among the participants. It is likely that the participants were selecting the activity using their own feeling without referring any procedure or standard. Moreover, based on the results, it was found that the participants have no idea regarding the requirements that need to be considered for the ported application.

Figure 2. Porting requirements activities performed during projects by participants
To understand the issues in porting requirements activities, two surveys with six participants were conducted. In the first survey the participants were asked to mention the major issues in porting requirements activity. The results were collected, translated, grouped and tabulated to eliminate the differences between terminologies used by different participants (Table 1). In the second survey, the participants were asked to explain the reasons of having these issues ( Table 2).

Analysis
The outcome of the first two interviews, it can be deduced that participants are having little awareness regarding porting requirements activities including the important components. All participants have selected different activities for the same project resulting in inconsistency of activities. From the survey most of the participants admitted that the porting requirements consist of too many technical jargons where customers could not able to understand the requirements. Moreover most of the issues mentioned were related to unavailability of porting requirement activity. This makes the customers be likely to misunderstand them and their expectation on the application increase.
All participants admitted that most of the porting requirements are ambiguous and porting duration is very short. One good thing is that all participants are agreed that the porting team is small. In which, by having a small team it will increase the communication and avoid misunderstandings among team members. Most of other reasons are not favorable for porting requirements activity.
From the study conducted, it is clearly understand that the porting requirements activities used are an adhoc basis. The developers are using general requirements engineering activities or using their own intuitions to identify porting requirements. Therefore, formalizing the porting requirement activity is essential to ensure the completeness and quality of the ported requirements.

Gap Analysis Approach in Porting Requirements Activity
This section presents gap analysis approach in the porting requirements activity. Porting requirements activity and the importance of gap analysis approach in the activity are also mentioned. Vol 9 (31) | August 2016 | www.indjst.org Kesava Pillai Rajadorai, Saadah Hassan, Hazura Zulzalil and Novia Indriaty Admodisastro

Porting Requirements Activity
In mobile application porting projects, the requirements gathering processes are very complex and it can be categorized as;  Porting engineers can easily identify the native application functional user requirements (NA-FUR) and desired ported mobile application requirements (D-PMAR) where, NA-FUR can be gathered from native application ( Figure. 3) and D-PMAR is from the client. Therefore, using gap analysis approach will be helpful for the developers to identify the APA-FUR.
Using gap analysis in the porting projects will help the team to clearly identify what are the additional requirements that need to be added into the ported application. In addition, the team can be able to classify the requirements that need to be developed and what need to be reused. By clarifying the requirements, the team can be able to estimate the additional time and costs needed for developing the new requirements 9 .

Proposed Gap Analysis Approach
In this section, a new way for gathering requirement specification was suggested to solve the issues identified in porting projects. In our proposed gap analysis approach, NA-FUR will determined by analyzing the native application. Form this analysis, all functional and non-functional requirements will be gathered and documented in NA-FUR. Later, user desired requirements will be gathered and documented in D-PMAR. Moreover, the developers will collect the other components requirements that are necessary for new environment (this can be done by interviewing technical members) and will add the requirements into D-PMAR. By knowing NA-FUR and D-PMAR, the team can be able to separate the additional requirements (Figure 4).

Figure 4. Proposed gap analysis approach
The detail steps of gap analysis approach in porting requirements activity are described (Table 3).

Evaluation
This section is to validate the proposed porting requirement approach have benefits over existing approaches. The proposed approach was validated for completeness, consistency and ambiguity characteristics by using a check list. "Mobile Shopping Cart with QR Code (MSCQC)" was selected as the native application which will eventually go through the porting process. MSCQC is a mobile application which allows consumers to shop for goods anywhere as long as they have the catalog with them. This application was developed using Android platform and will port to Windows Mobile 8 platform. To validate the benefits of the proposed gap analysis approach, six participants were selected which were used in the interview earlier. The validation process is as follows.
• The PAs were grouped into two groups (Group A, Group B) where each group consists of three members. • Group A was trained with the proposed gap analysis approach and Group B was allowed to use any of known requirement specification activities and never brief with any approaches.
• Both teams were briefed on the purpose, objective and the duration of this project. • The authors of this paper acted as the owner of this project. • Initially the PAs were given the native application's NA-FUR. • To keep the project fair, the PAs are not allowed to discuss any issues related to the project within the team members or groups. The only point of contact is the owner. • To show the seriousness of the project the groups were provided with all necessary items such as stationeries, digital recorders, calculators and refreshments. • Once the requirement specification activity complete the PAs were produced the D-PMAR and APA-FUR documents. • These documents were cross checked for completion. • The participants were interviewed to identify their perceptions • The results of the checklist were analyzed and recommendations were made. At the end of the process, the participants were interviewed to gather their perceptions on requirements specification characteristics and the activities followed ( Figure 5). It shows that the Group A managed to satisfy almost 93% of the requirements specification characteris-tics. Whereas, Group B just managed to satisfy around 48% of the requirements specification characteristics. Group A agree that by using proposed gap analysis approach, they have clear understanding of their tasks and full attention can be given to the requirements which make almost perfect requirements specification. Moreover, they can be able to differentiate between client's specific request and native applications functionalities. Whereas, Group B claims that they have lack of direction to follow and most of their time was spent on repeating activities, such as asking the same native application requirements with the client hence unable to complete the porting requirements activity. From the case study, it can be concluded that by using the proposed gap analysis approach; the requirements specification activity can be formalized. PAs can be able Table 3. Detail gap analysis approach processes

Steps Activity Output
Step

OSF, MF, PLVMF and BF
Step 2 Identify what is the desired ported mobile application requirement (D-PMAR) from the customer request. These desired requirements may contain FUR and some NA-FUR.

D-PMAR
Step to provide full attention on gathering rather than concentrating on many other activities at same time. Certainly, this case study does not include the full porting process of the mobile application. In which, this case study is only used to perform the porting requirements activity for ported mobile application. Therefore, it may not be able to get similar tendency in other activities.

Conclusion
Most of research efforts in mobile applications are focuses on the development of the applications 10,11 . However, porting is another significant process that needs attention too. Even though there are some ad-hoc processes for gathering requirements in porting requirements activity, our work clarified the reasons why these current available processes are not suitable in porting projects. To provide a conceptual solution for the issues, we proposed an approach for porting requirements specification. In this approach, a gap analysis is used to identify the gap between desired requirements specification and available native application. A case study was used to evaluate the proposed approach and it has shown the ability to overcome the issues. By using the proposed gap analysis approach will reduce the issues such as completeness, consistent and ambiguity in porting requirements activity. The proposed gap analysis approach, however is been tailored for mobile application porting requirements specification.

Acknowledgement
We wish to acknowledge the support of the University Putra Malaysia through the Research University Grant Scheme (RUGS) Project No. 05-02-12-2148RU.