Knowledge Sharing Challenges
122 O. Habeh et al.
1 Introduction
Software development is considered one of the most essential and critical tasks in any organization. The known steps of software development task are defined as analysing, designing and implementing the desired information system application to enhance and improve organization activities and procedures. Thus, it can achieve organization goals, sustain and increase its profit [1]. However, and due to the tech- nological issues, time constraint, among other challenges, are considered a complex, lengthy and critical task in any organization [2]. Many factors could affect the accep- tance of software engineering techniques [3]. Due to these factors and challenges rationale organizations used to appoint specialized project teams which may consist of, for instance, specialized developers, designers, network specialists, project man- agers and others [4,5]. The purpose is to overcome the challenges; thus, seamless improvement and aim for successful software development projects [6].
Basically, software development team in many critical industries are considered one of the most important teams in the organization, for instance, in public transporta- tion industry software development teams are fully responsible to develop, update, maintain and implement all transportations systems, including fare deductions, com- mand control, road signals, …etc. Therefore, any system failure, delays, or failure to perform scheduled maintenance will cause significant negative impacts to the whole chain of the involved organizations which will impacts its profit and publicity [7,8].
Thus, they are considered critical to the most important teams in the organization.
Similar case to banks [9–11]. Based on the known fact “Knowledge is power” and knowledge sharing is part of spreading this power, the key element of software devel- opment organization success is to be able to allow transferring the knowledge among members of the project team effectively and efficiently; thus, spreading knowledge power among team members [12,13]. Moreover, and due to the fact that many orga- nizations are using project teams in its software development projects, several studies have shed the light on identifying successful elements of the project team as well as key challenges of sharing knowledge among members of a software development team in order to support project success factors [14].
2 Literature Review
Knowledge sharing was found to affect the adoption of several technologies in the past [15–20]. A large and growing body of the literature has investigated knowledge sharing challenges and suggested different solutions, modules in order to eliminate stated challenges. According to the literature, challenges identified on the selected studies vary, which are based on different categories and sub-categories. [14] cat- egorized the challenges into three different categories and each category consists of different sub-categories: Knowledge-related category which consists of (value of knowledge, knowledge as power and nature of knowledge), and individual-related
Knowledge Sharing Challenges and Solutions Within Software … 123 category which consists of (absorptive capacity, relationship between senders and recipients and different mentalities), and organization-related category which con- sists of (culture, restraining forces in the organization). Similarly, and according to [21], barriers of sharing knowledge among software development teams categorized into individual, organizational, but he added the technological levels into it. However, the result of the survey conducted in this research shows most effective challenges under each level identified as below [21].
• Individual level: Low awareness of others and its values, lack of social networking, and less power in terms of relations and time.
• Organization level: across distance, challenges of networking across organization, communication of the benefits of knowledge sharing by management, comment culture and attitude.
• Technological level: incompatible technology.
Many scholars such as [22–24] claimed that the knowledge sharing challenges between software developers are categorized based on: Team diversity, team percep- tions, team capabilities, project communication, project organization, project tech- nology, project setting. Total of 37 challenges highlighted under these categories;
similarly, [25] claimed perceptions on knowledge as a challenges, but they pointed out time availability, the gained values and power of knowledge as well as dis- tance of employees are considered important challenges which require organization attentions. Additionally, they argued that relationships between the two challenges
“knowledge and distance” and “gain value for the of employees” resulted in nega- tive relationship. On the one hand, the perceptions and time availability challenges shows positive and strong relationships which leads to significant consideration when proposing any mitigated solutions for these particular challenges [25]. on the other hand, [23] claims that when offering more generalized conceptualization of knowl- edge sharing barriers specifically to agile software development teams it will support future research to explore the relationship between these barriers.
Furthermore, [26] pointed out that task-oriented, social, and institutional context between developers consider key factors which impact sharing knowledge between developers; thus, massively impacts its performance. Moreover, they claimed a strong relationship between knowledge sharing in software development and developer’s performance which they prove it through five theories. However, the argued concep- tual model mainly focuses on four variables only (social, task, formal and Informal Institutional Dimension). Other variables are not considered; thus, stated theory and conceptual model can be considered but in narrow fields, environment and specific situations. Moreover, it is argued that one of the most essential challenges of knowl- edge sharing is the lack of awareness of the knowledge sharing policies adopted in the organization; however, extrinsic and intrinsic motivations consider one the core fact which can influence knowledge sharing awareness; thus, increase develop- ers’ performance. Additionally, the argued module which was based on the survey results shows significant impact of the extrinsic and intrinsic knowledge sharing motivations on a team’s performance. [27]; therefore, we can conclude that lack of motivations for sharing knowledge can be considered one of the knowledge sharing
124 O. Habeh et al.
challenges among members of the software development team which impact team’s performance.
On the other hand, [26] claimed different challenges (task-oriented, social, and institutional context) which impacts teams performance; However, other selected studies claimed the same challenges but at a higher level. For examples, [14] stated that individual related category can be considered as challenge which consists of motivations challenge, but the major differences from the other selected studies are that it focuses on in depth with prof and deep understanding of how motivations in knowledge sharing aspect impacted from extrinsic and intrinsic factors and how it positively impact a team performance. In addition, [28,29] claimed that trust–depen- dence between developers are considered a major challenge of knowledge sharing within the team. They argued that if this challenge eliminated, it will result in signif- icant contributions to the project success [28]. Nevertheless, and according to [30], other challenges which are not mentioned in the selected studies are highlighted and requires significant considerations. For instance, consider time constraints, job secu- rity, resistance to change, communication, physiological factors and rewards [30].
However, [30] shows more precise results of the stated challenges (33 challenges) due to the fact that sampling size was the largest among selected studies (218 concerned participant); thus, it strengthens the claimed solutions for the claimed challenges.
Finally, social interaction factor is considered one of the challenges of tacit knowl- edge sharing between members of the software development team; thus, the more quality and improvement of social interactions the better the communication. How- ever, efficient sharing of tacit knowledge within teams has significant impact on teams performance and efficiency [31]. It is argued that the more efficient and detailed explicit knowledge, such as process, procedures, and policy’s, the better adoption of the formal knowledge sharing approach between team members; thus, efficiency depends on explicit knowledge [31].