An Improved Framework for Requirement Change Management in Global Software Development

In this research, an improved framework for requirement change management in global software development (RCM_GSD) has been presented. The objective is to manage the change in requirement specifically in global software development in an appropriate manner. The proposed framework RCM_GSD follows the required processes of RCM and reduces the concerns of GSD. Systematic Literature Review (SLR) was conducted for exploration of relevant research. During literature study, it is analyzed that the existing techniques of change management were not suitable for global software development (GSD). The change in requirements becomes more complicated in distributed environment due to the lack of communication and collaboration among globally dispersed stakeholders. The proposed model is compared with other models proposed in recent literature and analysis is made between them; feedback was obtained from the domain experts as well. The feedback and comparison results show that the proposed model provides an appropriate solution for requirement change management in GSD


Introduction
Requirement Change Management (RCM) is the process of interpreting, managing, analyzing, controlling, tracing and documenting changes in requirements.It is necessary to fulfill the changing needs of stakeholders for success of software systems, as a result, the changing requirements becomes challenging [1].Among the largest issues of distributed software development Requirement Engineering (RE) faces many obstacles [2].
Global Software Development (GSD) is gaining the more attraction of the software industry throughout the world.During the 1990s, the differences in development cost, the limited pool of work force, the necessity to get closer to customer and round the clock development, force the organizations to outsource their projects [3].
Due to the high rate of distributed projects, it becomes important to understand the nature of such type of software development [4] [5].Organizations adopt the global software development because of the attractive features it offers.These are having a large pool of skilled workers, cheap labor or low salary cost, quick formation of virtual corporation/teams, to respond to severe pressure, to improve time to market [6] [7].At the same time, teams are facing some real problems as well, while handling distributed projects.According to Aranda et al. [8] distance is the major problem in global software development and it introduces difficulties in globally distributed projects.
Moreover, different time zones, languages and cultures introduce communication problems in globally distributed teams [9]; to make changes in the requirements is a complicated activity [10] [11].Requirement change management becomes more challenging while dealing with distributed projects due to the difficulties of communication among the dispersed stakeholders [12].The lack of proper management of changing requirements leads towards the failures of software systems; the process of change management is worthwhile as well as challenging at the same time [13].Requirements change management is the collaboration intensive process, in distributed environment, the informal meetings of stakeholders are not possible, and due to which requirement change management becomes a serious issue [14].The management of changing requirements is very important for the success of software systems.The changing requirements are not problematic; the real problem is that how to manage these changes [15] [16].
For this particular study the exploration of literature is mostly discovered about the concerns of global software development.Later on, more investigation is made upon the process of requirement change management in the global work environment of software development.These areas are not exhaustively viewed, instead of this only focused and relevant literature is taken as deep study.
This paper presents the problems that are being faced by the stakeholders in a distributed development environment during the change management process.Existing change management techniques have been investigated and features/limitation of these processes has been highlighted.Systematic literature review (SLR) methodology has been used for the said investigations.On the basis of these investigations an improved framework has been suggested to overcome the problems with respect to the change management process.A comparison of the proposed model and two existing models from the recent literature is also the part of this article.
The remaining paper is organized as: Section 3 presents the methodology, Section 4 presents the proposed framework, and Section 5 presents results and discussion.

Methodology & Research Questions
The methodology used for working on this particular paper is initiated from the systematic literature review of related work.For conducting SLR research questions are formalized, review planning is done and final review is conducted.The SLR investigated the RCM issues in GSD.The investigated literature is critically analyzed that identified the problem region.That problem is minimized by the proposal of a framework.Further implementation and validation of the proposed work is performed.

Review Protocol
The primary purpose of the study is to discover the challenges faced during the RCM process in GSD and find out the techniques designed to manage the change in the GSD environment.For this purpose the research papers only selected from 2000 to onwards 2013.The studies before 2000 were not selected also the search is limited to only the papers written in English language.

Search for Studies
During the process of finding the relevant studies the following search string was used: ((Requirements change management OR Requirements engineering OR Requirements change management techniques) AND << in >> (Global software development OR Distributed software development OR Offshore software development OR outsourcing)).

Study Selection Criteria
The search scheme confined the following selections: Searched databases were IEEE Explorer, Springer Link and ACM Digital Library.Google Scholar (Google scholar is taken as it is the important source for collecting the literature from different journals and conferences).Searched items were Journal articles, workshop papers and conference papers.Language: Our search limited to the papers written in English.Publication period: Since 2000 to onwards.
The research papers before 2000 are not included in the review the reason behind is that the GSD phenomena rapidly spread in the 21st century and research before 2000 is not much relevant to this subject.The study selection is performed to identify with relevance for the objective of the systematic review.

Methodology
The SLR helps to conduct the literature review in the formal way and also facilitate, to identify, interpret, and evaluate the existing research concerning a particular topic or research question.The SLR methodology proposed by Kitchenham [17] has been followed in this research.Figure 1 presents the overall research design followed to complete this work.Detail of SLR is given in Table 1, while Table 2 presents the results from different sources.SLR results are further elaborated in Graph1 and Graph 2.
The graphical and tabular representation of the above mentioned description is shown below:

Research Questions
Three questions have been established to investigate through literature, these questions are as follows: RQ1: What are the problems faced during the RCM in GSD environment?RQ2: Are the existing techniques of RCM suitable to manage the change in GSD environment?

GSD Challenges
GSD challenges identified from the literature have been presented in Table 3. Major challenges emerged from the literature are related to communication, coordination and control.Major issues presented in ([1] [12] [14] [18]- [24]) can be summarized as, distance, different time zones, different cultures, language differences, trust.Detail description can be seen in Table 3.

RCM in GSD Frameworks
GRCM [10] have decreased the coordination and communication issue for handling process of change which is ultimately good sign for GSD but the flow of work regarding change management is not effectively managed in this model.The GlobReq model proposed by Niazi in [12] is related to the management of global requirements.They improved the process of requirement engineering for distributed software development.
A model is proposed by Kumar & Kumar in [14] regarding the RM issues faced during DSD.They processed the RM work through ontology for management of knowledge.But they do not mention the way of dealing with the repository, the way of communication is not defined properly.
Rabia [18] suggests that there is a stronger need for effective requirements change management process during global software development.The change management process is more difficult to deal in distributed environment due to the less communication and coordination issues.The model likely covers all the activities of RCM but there is one limitation that the model proposed not validated.It has not proved that either the proposed framework is effective to manage the change in a globally distributed development.Moreover, the model not able to show that how the communication problem would be resolved in the distributed setting.
Sinha [19] proposes a tool EGRET (Eclipse based global requirements tool) to make the proper knowledge, understanding and to manage requirements change in distributed software development environment.The case study result shows that with the make use of the tool, the requirements can be communicated more frequently.Most of the practitioners found the features of the tool useful.
Khan [25] proposed the framework for requirements change management specifically for global software development.The framework covers the necessary activities of the RCM process in addition, the framework proposed for RCM in GSD but not address the GSD issues raised in managing the change like different cultures and languages, Lack of collaboration, inadequate communication.
Ansari [26] author presented the agile extreme programming approach to manage the requirements in distributed software development.They proposed model and tool to implement the XP in DSD.
The RCM model for GSD environment proposed by Hussain in [27] doesn't minimize the dependency of coordination and communication for the complete process of change management.
Lai [28] proposed ontology based requirement architecture repository for managing the requirements management activity in globally dispersed environments.However, the process of requirements change management presented is not complete, the alternate scenarios of change not presented.Some RCM activities are not mentioned properly.
Hussain et al. [29] presented the change management process.The change management process starts with initiation of change requests; the change proposal is available to all stakeholders.The second step is the need for software for handling the change.The third is to determine the impact of the requested change.It is the most important activity in the change management process, identifying the consequences of the requested change and budget estimation in order to implement the requested change.After identifying these three steps, the consolidated framework of the change management process defined.Bhatti [30] proposed a formal change management process.The tasks of each stakeholder specified at each step.The first step is initiation of change; the change request arrives at this step.Once the request received, then it's processed through the entire change management process.
A detailed summary highlighting the description and limitations of RCM approaches proposed for GSD is presented in Table 4.

Proposed Framework for RCM in GSD
In a distributed environment, the informal meetings of stakeholders are not possible, due to which the changing requirements becomes a serious issue [14].In the global software development environment, communication is badly affected due to the distance between the sites, different time zone, and the difference in language and culture.Due to the distribution of sites the communication rate becomes lower which have harmful effects like reduction of informal face to face communication and decreased communication [32].In the exploratory phase it has been learned that existing models of requirement change management are not fit for use in the global software development environment due to communication and its correlated problems ([14] [25] [32]- [35]).Therefore an improved RCM model is needed, the said model should have an ability to cope with the GSD issues spe-  [31] The proposed model for requirements tracing by adding the stakeholder value The approach presented for requirements tracing not address the major issues of GSD, which are cultural, time zone, communication issues (Barkha Javed et al., 2010 ) cially communication and its correlated areas.The proposed model is presented below in Figure 2.
In the initiation phase, change request is raised from any site through any stakeholder.The change is accepted in the "Change Request Form (CRF)" and most of the time change is raised from the client side.The framework provides the multilingual support in the case if any stakeholder is not familiar with the common language.The change request form contains the information regarding the change request, complete contact details of the initiator and complete detail of the change request.
After the CRF filled, it will be submitted and recorded in the RCM Database for further processing.In the next step of proposed framework, the change evaluation is performed by analyst along with the help of requirements repository that contain information regarding system requirements.The evaluation is made for estimation of cost, time, and resource utilization by the requirement analyst.The evaluation result is again recorded in RCM database.
The notification is generated to all the Change Control Board (CCB) members.
For voting on the evaluation results and the threshold is defined for getting feedback from CCB members.The voting results are processed for all CCB members, agree or disagree for acceptance of change for implementation.
The decision about acceptance of change or rejection is decided on the feedback of voting results generated by all CCB members.If all members agreed on the evaluation results, change is considered accepted and approved for implementation else rejected.The final result of CCB decision is recorded in RCM database and all sites are notified about it.

Phase 1: Change Initiation
The initial step covers the change initiation phase.The change control process starts when the request for change is arises.The change request can be initiated from any of the distributed sites and any stakeholder can initiate the request for change.Normally, the request arises from client side; however the process is flexible to involve all the sites to initiate the request.The change will be requested by filling the "Change Request Form".The change request form contains the information regarding the change request, complete contact details of the initiator and complete detail of the change request.Once the CRF filled, it will be submitted and the data regarding the change request will be recorded in the RCM DB for further processing.

Phase 2: Change Evaluation Process
In the next step, the Change Evaluation is performed.As the request is received the change manger notified and starts the evaluation process.Change Evaluation performed automatically to reduce the chances of communication.The results of the change evaluation process recorded in the RCM DB and the CCB members take a decision on the results either to implement the change or not.

Phase 3: Voting Process
This step is started after the evaluation results recorded in the RCM DB.The voting process is the core component of the framework.The threshold time will be defined to get the feedback from all the CCB members within the time.All CCB members will give their feedback on the change evaluation results that either they are agreed or disagreed with the requested change.If any member didn't respond within the threshold time, then the new threshold time defined to get the feedback from all of the members.All the CCB members have the same level of priority so it is essential to get feedback from each CCB member to decide either to implement the change or not.

Evaluation of Proposed Framework
The RCM_GSD framework has been evaluated by two different methods.
1) Evaluation through industrial stakeholder feedback on the basis of case study results 2) Evaluation through comparison with the existing literature based frameworks.

Evaluation through Case Study
To validate the proposed RCM_GSD framework, we selected two companies operating in Global Software Development and RCM_GSD framework was tested on two GSD based projects and on the basis of the results, stakeholders given us the feedback on a pre-specified questionnaire based form.The goal was to evaluate the performance of our proposed framework in the real world environment.

Evaluation through Comparison
The objective of this evaluation was to validate RCM_GSD on the basis of two criteria.1) RCM activities covered 2) GSD issues resolved The assessment is made, that's how well the framework is developed and resolves the matters of requirements change management in Global Software Development.The literature based comparison is performed to accomplish this objective.
The comparison is made upon the basis of parameters defined for traditional RCM.The framework must follow the required activities of RCM and reduces the challenges occur during Global Software Development.
Two techniques have been selected from the literature and the comparison of RCM_GSD has been made with these techniques.Various frameworks or techniques have been proposed in the literature to manage the change, but the reason to choose these techniques [18] [25] for comparison is that these are specifically designed for RCM in GSD.

Results and Discussion
The proposed model is implemented as RCM_GSD Framework and validated through case study.The case study is passed through the developed system.Many relevant cases are elaborated by this process.
The literature based comparison was performed to express that how well the proposed framework fit for requirements change management in Global Software Development.The activities list identified from Imtiaz et al., 2008 [36] in order to compare the activities for the purpose of comparison and the GSD issues was also highlighted from the literature.
The comparison was performed on the proposed framework with the exiting RCM techniques in term of the two parameters: one is the activities and the other is the GSD issues covered.
Two existing techniques selected from the literature for comparison with proposed framework [18] [25] is selected for comparison because these techniques are specifically designed for RCM in GSD.The observation illustrates some spots in the model that need to work out for enhanced efficiency.The graph below shows the comparison results.
Graph 3 presents the comparison of RCM_GSD with the existing frameworks on the basis of RCM activities, results show that the proposed framework covers the maximum six activities along-with the framework of Rabia Sultana.Similarly, in Graph 4 GSD issues covered by any framework could be observed; proposed framework, covered the maximum issues as compared to rest of the two frameworks.
From these results it can be concluded that the proposed RCM_GSD covers the maximum activities and especially overcomes the issues faced due to the distributed development environment (highlighted from literature) specifically identified factors due to the communication effects in a distributed environment.
As it has been mentioned, we also have taken the feedback from experts regarding framework effectiveness and applicability.Feedback form could be concluded in three major sections.First section can be interpreted as: does that RCM_GSD save effort and time?Second section concluded the level of satisfaction of experts, while in third section it has been estimated that whether RCM_GSD reduces the face to face communication or not.The results of experts' feedback are being presented in Graph 5.Only one stakeholder showed his dissatisfaction on RCM_GSD, three remained neutral, while four stakeholders were satisfied.The majority of experts agreed that RCM_GSD saved effort and time, only one stakeholder remained silent on this issue; at the same time, exerts agreed that RCM_GSD reduced the face to face communication, only two remained neutral in this regard.

Limitations and Future Work
There are some limitations found in the proposed framework in this paper.The effort should be made upon the decision phase of Requirement Change Management.So that in future this framework is possible improved from

Graph 2 .RQ3. 2 :
Percentile of selected and excluded studies from the total.RQ3: Is there any effort made to design RCM framework for GSD environment?RQ3.1:What are the modalities of such frameworks?What are the limitations of such framework?

Graph 3 .Graph 4 .Graph 5 .
Number of activities covered RCM frameworks in GSD.Number of issues covered by RCM frameworks in GSD.Results of feedback questionnaire.

Table 1 .
Study selection criteria.Findings based on some empirical data or case study analysis Challenges of RE or RCM in global software development Requirements change management techniques in global software development 45

Table 2 .
Number of results per source.
Graph 1. Number of results per sources.

Table 4 .
Summary of RCM approaches for GSD.