A Practical Approach for Evaluating and Prioritizing Situational Factors in Global Software Project Development

—There has been an enormous increase in globalization that has led to more cooperation and competition across boundaries. Software engineering, particularly distributed software development (DSD) and global software development (GSD), is evolving rapidly and presents several challenges, such as geographical separations, temporal differences, cultural variations, and management strategies. As a result, a variety of situational factors (SFs) arise that causes challenging problems in software development. Both literature and real world software industry study revealed that the extent of the effect of SFs may vary subject to a certain software project. Project executives should need to concentrate on the right SFs for the successful development of a speciﬁc project. This work ﬁrst examines the optimal and most well-balanced GSD-related SFs and then presents a mechanism for prioritizing the SFs to better understand the extent to which an SF generally affects the GSD. A set of 56 SFs in 11 categories is identiﬁed and analyzed in this research. A fuzzy set theory based, multi criteria decision making (MCDM) technique, fuzzy analytical hierarchy process (FAHP) was proposed to extract the SFs that have the strongest effects on GSD. The proposed technique is intelligent and automated and can be customized to suit speciﬁc conditions and environments. Thus, it can provide support for a much-needed variation that is the hallmark of such software development environments. A case study of a global company working in collaboration on a project JKL was selected to identify and prioritize the most challenging SFs. A sensitivity analysis is carried out to evaluate the extent of the impact for highly ranked SFs related to JKL project


I. INTRODUCTION
Software development has become one of the main businesses due to the growing demand for high-quality software and the huge investments in software projects.This trend has led to distributed and globally disseminated software development companies, making the development process even more complex.Distributed software development (DSD) and global software development (GSD) appear to be more plentiful due to the shorter time span and lower costs, and benefit from the most competent programmers and developers from around the world [1], [2].Both DSD and GSD consist of companies and staffs from different geographic sites working together to achieve the stated mission [3].Although GSD strategies are very advantageous in providing quality software products, there are many difficulties [4], [5] in managing software development activities.
Requirement engineering (RE) is the first stage in software development, and it plays a critical role in the development of a successful software project [6].The vital objective of RE is to recognize and realize the stakeholder's concerns and develop high-quality software projects.In a rapidly changing business environment, requirements change continuously to fulfil a user's demand, depending on their location.An organization must have RE that addresses the organization's business policy and manages the requirements according to that policy [7].Basically, the most commonly followed policy in the software development process is that it should fit the needs of the project [8].In practice, the generation of concrete requirements for a software project is not separate from the development process.However, the developers (team) with certain technical skills (knowledge) are capable of authenticating the definition of the specified requirements.In turn, the requirements are dependent on the project's nature, the project's content and the prevailing organizational structure.A variety of external circumstances, such as statutory requirements and technical limitations, are enforced by superficial authorities (stakeholders) [9]- [11].These factors are observed to have a strong influence on the software development and may be linked to the organization, management, human capital, techniques/tools, and social and economic aspects.In the literature, these factors are termed "situational factors" (SFs).
Every project has different working environment and surroundings, so there are different SFs that influence the develop-ment of the project.A rich body of literature has been observed in different areas of requirement engineering, and there are many SFs that influence the software development process as a whole [12].SFs must be evaluated before making any decision about the best process to use for software development [13].Commonly observed results from the previous literature indicate that situational factors have a strong impact on GSD.It is possible that different projects have the same influencing SFs, but the extent to which a factor can affect a project may vary.To date, the research works have merely listed SFs based on the literature without depicting the extent of their importance, and they lack industrial evidence (refer to Section 2).These factors captivate many of the developmental efforts and create many disputes, such as those in project planning, management, and implementation issues.Therefore, identifying these factors' importance (i.e., the extent to which a particular factor is important) at a low level and making them visible are necessary to enhance their manageability and measurability.It results in a detailed, up-to-date and contextually sound software development activity management that supports for the fruitful development of software projects at a global level.
The aims of this paper are to provide a framework by employing Fuzzy Analytic Hierarchy Process (FAHP) that determines the relative importance of each situational factor for better decision making and to strengthen the findings of the existing research.Analytic Hierarchy Process (AHP) is used to compute the relative importance of the SFs and an in-depth evidence is produced in an organized way.Although AHP has been extensively employed to solve multi criteria decisionmaking (MCDM) problems, it has some limitations.Therefore, fuzzy logic is introduced into the pairwise comparison to compensate for the discrepancies in the conventional AHP.The significant contribution of the fuzzy modeling is that it is able to build and formulate to impersonate the real world comportment even when data provided is ambiguous and hardly precise.Conversely, for the SFs accompanying uncertainty with them, rational values can be calculated.The use of MS Excel eradicates the need for extra software, so the process is cheaper to implement.Our work reports that the practical endorsements that arise from it will aid in accessing the base data required for decision makers to develop policies to enhance GSD.
The rest of the paper is organized as follows.Section II gives an overview of the literature on SFs.Section III gives a comprehensive explanation of the AHP and FAHP approaches.Section IV elaborates on the research procedure employed.Section V describes the results inferred by applying FAHP to a case study to determine the extent of SFs and validates the results through a sensitivity analysis.Section VI precisely concludes the paper with future perspectives.

II. LITERATURE REVIEW
Over the last decade, a great change in software development has been observed, as has a strong emphasis on the significance of inconsistent situations for effective SD [14].Ghosh et al. [15] stated that it is complicated to manage requirements at a global level.According to Hanisch et al. [16], considering a virtual domain makes requirement engineering more complex.Therefore, effective requirement handling and quality software development must focus on the software development context.Michael et al. [17] emphasized three contexts: the organization, the environment and the project.In their study, they illustrate the need to consider these contexts in order to have a quality outcome.Their work makes other researchers think in these terms, Cameron argued that the software projects need to organize their developmental processes by considering various factors that subsidize the variation in projects and he pinpointed five tailoring factors [18].
In [19], the authors classify the software development environment factors in four categories: Project, Team, External Stakeholders, and Organization.They also suggested a model for tailoring software process that laid the foundation and set the dimensions for the classification of environmental factors.Ghosh et al. [20] followed the work done in [19] and examined the factors that influence the tailoring of the software decision process.Another study [21] investigated and identified the SFs within an organization.In another research work [22], the authors observed the influence of SFs from the aspects of technology-based self-service and the attitudes toward the service.Daniela [23] generated a list of problems, challenges and affected RE phases across multi-sites.Clarke et al. [12] created a list of SFs that influence software development through a systematic literature review (SLR) that use the data coding techniques employed in Grounded Theory [24].There is no doubt that their framework is an initial move towards advanced development in this direction, but it discussed the facts generally.Since the aspects of the GSD are missing in this framework, there are many SFs that may be particularly geographically site dependent and need to be identified, and assessing their influence on the accomplishment of a software project is imperative [25], [26].
In a more recent research work on SFs in GSD, Huma et al. followed the work done by Daniela et al. [23] and Clarke et al. [12] and performed an SLR to identify situational factors [9].They also used data coding techniques based on Grounded Theory to create a list of 37 SFs that was considered sufficiently comprehensive to define the RE process in the GSD environment.However, the limitations of the study were that the SFs were identified on the basis of the reviewed literature and that it lacked recommendation from the software industry.Therefore, many SFs remain to be identified, both within the organization and globally.
So far, it is obvious from the above literature that many works (given in the Appendix) have considered the importance of SFs in software project development.Researchers have suggested that it is necessary for scholars and experts alike to focus on improving the understanding of the situational context while developing software projects [27].However, not a single study has comprehensively covered the identification and the importance of all the SFs in a GSD environment.The scarcity of such framework is the cause of the limited recognition of the primary constraints and features of GSD.Thus, in this work, efforts are made to determine the most important SFs in a GSD environment that were not found in [28] and [9].Hence, in view of the importance of SFs in software project development, we consider both the literature and the industrial perspective to prioritize them and devise a more comprehensive framework with the latest technique, which is indeed a need.artificial intelligence into various areas of requirement engineering [29], [30].Now, they are focusing on implementing intelligent frameworks for SFs by integrating fuzzy logic with the AHP.The AHP was first introduced by Saatay [31] and is a widely accepted MCDM tool for successful weight estimation.However, traditional AHP restricts to consider rationalism in human decisions [32].Therefore, of the important information related to vital factors cannot be precisely determined.However, these values could be measured in a more accurate way by replacing the crisp numbers with fuzzy numbers.Zadeh [33] proved logically that fuzzy logic permits us to transform linguistic measures into crisp measures with the help of membership functions, and many researchers have shown that fuzzy logic gives more adequate results.Fuzzy AHP is the extension of Saaty's theory and was proposed by Van Laarhoven and Pedrycz [34].They employed triangular fuzzy numbers and the logarithmic least squares method (LLSM) to calculate the fuzzy weights to determine priority.Buckley [35] determined the fuzzy comparison ratios by using trapezoidal fuzzy numbers.Xu [36] proposed a fuzzy least squares priority method (LSM).Mikhailov [37] introduced a fuzzy preference programming method (PPM) to calculate the crisp weights from fuzzy comparison matrices.Wang [38] used FAHP to select the best maintenance strategies.Whenever there is uncertainty in prioritizing one factor over another, fuzzy logic be incorporated with AHP to deal with the complexity.Sun Chia-Chi integrated the fuzzy AHP with Fuzzy TOPSIS [39].Many other researchers have shown that the fuzzy AHP gives more adequate explanations in the decision-making practice compared to the traditional AHP technique [40].In the next section, we concisely discuss the AHP and fuzzy AHP approaches.

A. AHP Approach
AHP is a vigorous decision-making technique for computing the preferences among given criteria by matching the alternatives for each criterion to calculate an inclusive rank among the given alternatives.The basic AHP method consists of the following steps: • Construct a hierarchical structure that shows the fundamental components of the problem and the associations between them.
• Make a pairwise comparison to determine the relative weights of the factors of the decision criteria by eliciting experts' opinions.The Saaty scale (Table I) is used for this purpose.
• After finalizing the pairwise comparison, calculate the local priorities from the judgment matrices; these judgments are denoted with meaningful numbers.
• Find the Consistency Ratio (CR) that is the measure of the consistency of judgments made by the experts.
• Finally, obtain the ultimate or global priorities by incorporating the numbers gained in the preceding step to calculate the final priorities of the components of the hierarchy.Because AHP is limited in that it does not appropriately handle the vagueness associated with the experts' judgments, fuzzy logic comes into play.

B. Fuzzy AHP Approach
To address the ambiguity issues, the Fuzzy AHP is a credible blend of the pairwise comparison matrix of experts' opinion and fuzzy set theory.Hence, it has become famous for solving multi-attribute decision making (MADM) problems and providing a more precise ranking methodology [41].All the steps involved in fuzzy AHP are the same as in AHP except for the fuzzy representation of the pairwise comparison by triangular fuzzy numbers (TFNs) [42].To represent TFNs in the pairwise comparison, three real numbers are stated as a triple (l, m, u), whereas in the fuzzy AHP method, despite having distinct numbers, the numbers 1-9 symbolize triangular fuzzy numbers that handle the vagueness and imprecision in the pairwise priority values of the criteria involved.The fuzzy set definition of the five triangular fuzzy numbers described by the compatible membership function is shown in Fig. 1 and Table II.In fuzzy set theory, if an entity has a membership, then it is symbolized by 1, and if it has no membership, then it is symbolized by 0. Suppose that the universe of discourse is represented by u and that l(x) is the membership function that lies in [0, 1].Mathematically, the membership function for the triangular type fuzzy numbers is defined as (1).
In ( 1), u and l stand for the upper and lower limits of the fuzzy number M, respectively, and m is the medium value of M. If a TFN can be represented by M = l i j , m i j , u i j , we suppose that l i j <m i j <u i j when i = j , where i and j = 1, 2, 3, , n.When i = j, then M i j = M ii = (1 1 1).Therefore, an accurate priority vector w = (w 1 , w 2 , . . ., w n ) T that is a consequence of the judgment matrix can essentially satisfy the inequities.The addition of two fuzzy triangular numbers M i = (l i , m i , u i ) and M j = (l j , m j , u j ) is shown below, and other operations are done in the same way.
Chang proposed extent analysis in [44].By adapting his formula, the extent analysis values for each element can be calculated as follows:  'T ' is a TFN given by the t th expert and k th formula.
By introducing TFNs, we can describe the steps for fuzzy AHP as follows: Step I: The value of the fuzzy synthetic extent with respect to the i th object S is calculated, and the triangular fuzzy comparison matrix is articulated as Then, the value of the fuzzy synthetic extent with respect to the i th object is given by Step II: After getting the synthetic extent value, calculate the degree of possibility of one fuzzy number that is determined to be greater than the other.It is computed as follows: Step III: Determine the minimum degree of possibility [38].
Step IV: Normalized weight vectors are obtained by dividing the elements in each column by the sum of that column, adding the elements in each consequent row and dividing this sum by the number of elements in the row using the formula given below: The ultimate weight of each element is determined by the multiplication of the criteria, and the matrix is achieved by computing each alternative with respect to each element.

A. Research Strategy
Design research involves analyzing situations and the effect that they have on the design of system artifacts.This process can help software engineers and developers discover the fundamental restraints and aspects of software development.In addition to the literature survey, the overall process used here consisted of two studies that were conducted in two sessions.The first occurred in Pakistan, and the second was conducted in China.These included interviews, and the data were gathered using online surveys on different survey platforms.The final aim is to incorporate all the research studies and bring an overall perspective to the following research questions: RQ1:: What are the SFs involved in GSD? RQ2:: Determine the extent (relative importance) to which each SF (depending on their sub-factors) influences a particular software project development to find the most important SFs.
The research design series begins with a problem statement.A research proposal is made to conduct research.In the first stage, the literature review and online survey are conducted, on the basis of which the salient SFs are listed and then confirmed by the opinions of experts from the software industry and the scientific research community.In the online questionnaire and interviews, the participants specify the values against each SF based on their experience in their working environment (colocated, distributed, and global).Fig. 2 shows the research procedure.

B. Data collection and Analysis
In this paper, through an in-depth study of the available literature on SFs and surveys and interviews with managers and experts from the companies involved in software development, we prepared an inventory by collecting experts' and researchers' perspectives on the SFs related to GSD.The research's statistical sample consisted of 84 total experts, including middle managers, experts and practitioners who responded to the questionnaire survey.Among these, 40 experts from four companies, COEUS and Oveucs in Pakistan and Premier BPO and Henan 863 Software Incubator in China, with at least 5-10 years of experience were interviewed.The demographics of the experts are given in Table III.After defining the 11 key SFs, we mined 56 sub-factors, which are presented in Fig. 3 (answer to RQ1) criteria dened in the AHP.They selected which SF was more important in a pairwise comparison and rated the degree of significance on a scale of 1 to 9 (answer to RQ2).The SFs discussed are not particularly associated with a specific development methodology, but they can generally be applied to any project, regardless of the projects structure or the developmental practice.In the next section, a case study is demonstrated, which was conducted in a multi-site software company in Pakistan for which the most influencing SFs are determined by applying Fuzzy AHP methodology.

V. CASE STUDY
The case study is carried out in a global company working in collaboration with two other global companies to determine the extent to which an SF can affect the SD (RQ2).The selected company is amongst the foremost development companies in Pakistan, China and Germany and develops a wide range of software products for assistance in the real world.We consider a project say JKL which is a collaboration effort between three working sites residing in Lahore, Pakistan and Zhengzhou China, and Berlin Germany.The time and resource constraints had bound us to visit two countries, Pakistan and China.The project consists of four modules, divided among three sites for completion, separately and integrated after finishing.
The motivation of GSD that hiring skilled experts at low cost, mainstream of development activity, including designs and codes for three modules is taking place at Lahore site as wages in Pakistan are less.Some of Pakistani are also working in Berlin and Zhengzhou due to extraordinary earnings.The Chinese company involves in the requirements phase and one module is developed in Berlin that is sent to Lahore after completion.The development process starts after getting a finalized requirements specification document from Zhengzhou.Requirement specification (RS) is analyzed and comprehensive design is planned in Lahore.For coordination among different site the way of communication is the only means of email and Skype and WeChat.After sketching the detailed design the communication among sites is off and on regarding major concerns.For integration the server at Zhengzhou and testing for integration took place in Lahore and Berlin for modules assigned to them respectively.

A. Results of the Implication of Fuzzy AHP Method to JKL Project
Initially, we employed the above SF model (Fig. 3) for the selected case study.The adaptability of the model is confirmed practically through in-depth conversations with the project manager and development team.Among the gathered data are the experts' perspective about all the activities affected by the SFs at each site.The SFs are prioritized on the base of the importance values given by the experts.The Stepwise Fuzzy AHP procedure to calculate the global weights of SFs for JKL project in the GSD is described below.
The Stepwise Fuzzy AHP procedure to calculate the global weights of SFs for a project GSD is described below.
Step 1: For the expert opinions are concerned, the relative influences are gathered.The first step is to break the problem down into a hierarchical structure for the prioritization of SFs (shown in Fig. 4).The expert opinions are accommodated in a hierarchical structure by employing the following terms for www.ijacsa.thesai.orgTM = Team NCASN = National Culture and Social Norms PF = Physical Factors The three levels of an AHP model for the prioritization of SFs affecting the JKL project development are shown in Fig. 5, which also presents the structural relationship between the SFs.The first level states the main factors (Table IV) of this research, which are attained by estimating the impact of the sub-factors of the second (Table V) or successive levels.Comparison matrices are created in the same manner for all other criteria and sub-criteria (factors and sub-factors).(Matrices are shown only for main criteria and a sub-criteria under organization due to space limitations.)Step 2: After making a hierarchical structure, an initial comparison matrix is generated.The consistency check proves the validity of the data because the overall consistency is less than 0.1.Step 3: A fuzzy judgment matrix for every factor at each level is established.On the basis of the expert opinion, the linguistic terms (Table I) are assigned to the pairwise comparisons using Table II [43].According to which a scale of fuzzy numbers representing a membership function by employing three arguments is described showing the range for which the function is defined (Tables VI and VII).
Step 4: Calculate the sum of the rows of factors and subfactors based on different criteria to give a composed fuzzy column matrix.
Step 5: Calculate the integrated fuzzy expansion to determine the synthetic extent by employing (6).The same method applies to each SF and sub-factor at each level to compute the fuzzy synthetic extent.The combined output of Steps 4 and 5 are shown in Tables VIII and IX.
Step 6: When the synthetic extent is assessed, the synthetic value or the degree of possibility that one fuzzy number is greater than the other can be determined by using (7) to (10).The resulting Composed Crisp Matrix that screens the degree of possibility is shown in Tables X and XI.
Step 7: Determine the minimum degree of possibility, and normalize the values.A comparison of all the synthesized values under the main criteria is made.The minimum value of each factor is calculated.The sum of each factor divided by the sum of the column will determine the preference of that factor on that level.By applying (12), the normalized values are calculated, as shown in Tables XII and XIII.
Step 8: According to [12], using the normalization process, we can get the final weights, as shown in Fig. 5 and 6 for level 1 and level 2, respectively.These results are highlighted by identifying the most significant SFs.Through a precise assessment of the extent of the factors, sorted from highest to lowest, on software project development, we can accelerate the process of improving         6 shows the priority of the main factors and Fig. 5 shows the results for the sub-factors of the Organization factor .
Trust is graded as the highest priority because it is the most important factor for improving the yield of the software industry.National Culture and Social Norms is the second highest ranked factor.Project-related factors are 3 rd , communication and collaboration are 4 th , and Organization and Stakeholders are 5 th and 6 th , respectively.Previously, geographical distances were considered very significant, but this factor is suggested to not be crucial for the growth of the software industry because the means of communication and collaboration (which is the 4 th most important category) have altered the ways of GSD.Other SFs that are also important are listed in Fig. 6.The final assignment of the priority order for the SFs rationally agrees with the experts' opinion.To prove the consistency of our research work, we performed a sensitivity analysis in the next subsection.

B. Comparative and Sensitivity Analysis
In this section, we present a sensitivity analysis of the strengths of the proposed work.Along with the sensitivity analysis a comparison of the two latest research works on SFs is given in Table XIV.For sensitivity analysis the values of the criteria are systematically changed to understand that how the outcome is affected as a result of the change.Decision makers often have to face uncertain situations, which create hurdles in making the right decisions and implementing the appropriate strategies.Prioritizing SFs by FAHP gives an experimental assessment of the varying situations and their importance for a particular project in GSD.Numerous aspects of different SFs' variations have concerned researchers in general, and to date, the outcomes in the GSD environment have been either contradictory or insufficient.For example, some researchers have considered that cultural differences are important because they have a strong impact on GSD and others did not consider culture to be as important (shown in Appendix A).However, in our case, cultural differences have the second highest rank.As the effect of the SFs varies from country to country and organization to organization, so to prove the consistency of ultimate decision, sensitivity analysis is accompanied with MCDM [45].This is to examine the effect of variation on criteria causing to affect the final outcome.Considering the conflicting issues related to two countries' working atmosphere, the most significant issues with Pakistan's software industry are the lack of Trust and issues related to language, lunch breaks, and vacation schedules (cultural aspects).Pakistani staff about the bad language skills of Chinese workers, but these workers were very good in other aspects.The major problems with the Chinese workers were related to the lack of Trust and Cultural differences.As discussed above, the language is also a subfactor of the SF Culture.Therefore, it received the second highest rank, following Trust that is graded at 1 st position.Employees at all companies considered project requirement estimation and evaluation to be critical, thus leading the Project category to the 3rd highest rank.From above, the Trust, Culture and Project are the first three to influence the project development.The results of sensitivity analysis are showing the influence of the variation in frequency of these three SFs (Fig. 7) and the results obtained by defining the matrix between criteria variable (Trust) and effort (Fig. 8), the validity of proposed work is proved.The main objective of our research is to automate SF evaluation, and this is the first step towards it.The manual assessment of SFs with respect to a certain location is a critical task and should be handled vigorously.An automated and intelligent technique can help to make correct and precise estimates.It should be efficient to reduce the time and human resources compared to human-based techniques.The recommendations from global industry experts and sensitivity analysis proved that the proposed method is the best fit in many cases, as it is infeasible to devote significant efforts to each SF.Our work is limited to only four multinational software companies located in Pakistan and China.The strength of the approach can be tested by conducting numerous case studies in the software industry and comparing the results with those obtained in other countries to reach an ultimate strategy finding.

VI. CONCLUSION
In the global software development environment, due to the complexity of varying situations, the software industry must recognize the situational perspective to get a competitive advantage.From the literature and a software industry survey, we conclude that SFs are the key concerns in GSD and that their proper identification and prioritization can help to reduce the unnecessary complexity of software projects.However, manual decision-making is a challenging and time-consuming process that involves many ambiguous and imprecise factors.The vital importance of this work is the intelligent prioritization of SFs, which will enable managers to understand the relative preference among the factors and design an improved methodology for the software industry to proceed at the global level.As this is a part of our continued research work, we are working to explore the hidden relationships among the SFs and their associated risks and to present the essential competency provisions.We also aim to develop an intelligent, automated and real-time recommender system to keep an up-to-date precept-ability of the SFs and their associated risks to address them in a dynamic environment and support practitioners with the necessary groundwork to realize the booming future of GSD.

APPENDIX
See extended literature reviewed.

Fig. 5 .
Fig. 5. Overall weight score of the key SFs in GSD.

Fig. 6 .
Fig. 6.Overall weights of the subfactors with respect to ORG.

Fig. 8 .
Fig. 8. Sensitivity analysis of trust on total effort.

TABLE IV .
INITIAL COMPARISON MATRIX REPRESENTING THE KEY FACTORS

TABLE V .
INITIAL COMPARISON MATRIX REPRESENTING THE KEY FACTORS

TABLE VI .
INTEGRATED FUZZY COMPARISON MATRIX AT LEVEL 1 FOR MAIN CRITERIA

TABLE VII .
INTEGRATED FUZZY COMPARISON MATRIX AT LEVEL 2 FOR THE SUB CRITERIA ORGANIZATION

TABLE IX .
COMPOSED FUZZY COLUMN MATRIX AND INTEGRATED FUZZY EXPANSION AT LEVEL 2