In knowledge management (AKM) as our exemplar was identified.

 In the past few years, an
increasing interest in architectural knowledge is recognized in the software
architecture community. Architectural knowledge is generally regarded as
important to guide the development of software systems. With the trend of
Global Software Development (GSD), the management of architectural knowledge
becomes even more important due to the geographical, temporal, and
sociocultural distance innate to GSD. A
light weight pattern language was presented on requirement engineering
discipline to identify practices that can aid in overcoming challenges
architectural knowledge management in GSD. Those identified practices are
frequent interaction across sites, cross-site delegation, face to face project
kick off meeting, urgent requests, collocated high level architecture phase, A
clear organization structure with communicating responsibilities 17.

Number
of sites involved in global software development influences the perceived
usefulness of AKM practices of that project. A case study was conducted on
Dutch IT service provider firm to validate the influence. As the number of
sites increase in the global software development project, the number of
architectural knowledge management practices should also be increased to
prevent problems from surfacing. Number of architectural knowledge management was
also identified 18.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

A
survey was conducted to validate the architectural knowledge management
practices proposed by the author. Those practices are frequent interaction across sites, cross-site
delegation, face to face project kick off meeting, urgent requests, collocated
high level architecture phase, a clear organization structure with
communicating responsibilities. These
practices are validated by conducting a survey on agile global software
development organization. The data was collected by interviewing 38 employees
of the organization. 6 out of 8 practices were validated 19.

A
Global Teaming Model (GTM) was empirically grounded based on the practices of
architectural knowledge management identified from literature review. Those
practices which managers need to consider when managing virtual teams. In
additional how the model can be adapted to specific areas of software
development, and use architectural knowledge management (AKM) as our exemplar
was identified. Those practices are Identify common goals, objectives and
rewards for the global team, collaboratively establish and maintain the work
product ownership boundaries among interfacing locations within the project or
organization, Collaboratively establish and maintain interfaces and processes
among interfacing locations for the exchange of inputs, outputs, or work
products, Collaboratively develop, communicate and distribute among interfacing
teams the commitment lists and work plans that are related to the work product
or team interfaces 20.

1)     COMMUNICATION
COORDINATION & KNOWLEDGE MANAGEMENT

A
case study was conducted to explore the importance of communication, knowledge
and coordination management in global software engineering. The case study was
conducted on a GSD project having 5 year completion programme. The aim of the
case study was to identify the challenges faced by the project manager and
especially how communication knowledge and coordination management affect or
hinder the progress of development of project. The research paper concluded
that yes these factors affect GSD progress and these hinders can be minimized
by taking re cautionary measures effectively 94.

2)     CULTURAL
DIFFERENCES

Language
barriers, cultural differences, trust staffing, additional costs, temporal
distance, changing vendor, tool support, communication are some of the
challenges found through a combinational study of literature review and
interviews. Practices against those challenges were also proposed to mitigate
those challenges such as community of practice, collaborative media tools,
training, E-learning courses etc. 21

3)     REQUIREMENTS
ELICITATION

In Global Software
Development (GSD), distributed stakeholders (e.g. team members, customers, etc)
have to collaborate and communicate in an efficient and effective way to share,
create and discuss knowledge. Nowadays, a challenge is to provide integrated
collaborative tools that implement creativity techniques which allow
distributed stakeholders to externalize their knowledge through brainstorming
and share and store knowledge in a common repository. The Requirements
Elicitation (RE) process is a clear example where this kind of support is
needed in the software development process. A literature review was conducted to study the requirement elicitation
techniques used in global software projects. Based on the literature review,
“Spatial hypertext wiki’ is proposed to promote requirement’s knowledge sharing
in GSD. Spatial is one of the schools of thought proposed by Earl 23. The requirements elicitation
process can take advantage of wikis because they provide support for the open
collaboration among stakeholders, and low entry barriers. Wikis facilitate the
collaborative exchange of ideas, information, and can trace changes by means of
versioning. ShyWiki provides support for distributed and collaborative
requirements elicitation process based on the KJ method and EasyWinWin. ShyWiki
allows the stakeholders to manipulate spatially the requirements. They can
group, relate or merge them easily. In this way, the negotiation and
prioritization process can be done through the wiki pages which are virtual
blackboards that hold hypertext card notes. ShyWiki also provides stakeholders
with a virtual environment that supports the emergence of ideas. This factor is
relevant for the definition of innovative requirements, and for facilitating
the transfer of tacit knowledge to the requirements definitions. ShyWiki is an Integrated Collaborative tool for global software
development. It provides features for viewing and discussing software
artifacts, as well as collaboration through the virtual boards 22.

4)     LACK
OF KNOWLEDGE SHARING

Combination of existing
techniques and technologies can be used for knowledge sharing. A pilot study
was conducted; an investigation into the current gaps in knowledge sharing. The
existing technology landscape was also evaluated. Based on the knowledge gaps
identified and the existing technology, an approach was formulated to get the
most benefit from existing technology. They conducted case study on US based
GSD organization fortune 500 and collected data via interviews of the employees
25.

Stakeholders
in the technology market understand that active management of past project
lessons learned is the basis for promoting improvements to organization processes
assets. However implementing and deploying an effective and easy manner to
collect and share tacit knowledge throughout organizations is not trivial,
especially for remote distributed ones. Usage of COP in GSD is
highly beneficial and recommended. The plus point of implementing is that COP
itself handles and manages all explicit information. An industry report was
generated to explore the experiences of using COP. By following this approach,
companies can empower collaborators to participate and resolve questions about
practices and issues 26.

Knowledge is considered a key asset in most
organizations. Ineffective knowledge engineering and management practices can
lead to disastrous outcomes. A
case study was conducted on Ariadne and WV approach for data representation in
knowledge management process through literature review different knowledge
management practices were identified to find out the gaps holes in those
practices. They found several ways and means to represent some of the knowledge
needed to coordinate and manage distributed software engineering teams e.g.
vblogs, blogs, storytelling etc. .However, we there is still a need to explore
means to determine how to provide knowledge that supports the articulation of
tacit knowledge 24.

LACK OF KNOWLEDGE SHARING TOOLS & TECHNIQUES

Knowledge sharing is an
integral part of Knowledge Management (KM) 27.  Research suggests that failure factors repeat
from one project to the next due to organizations failing to use existing
experience to avoid earlier mistakes. This happens when the lessons learned and
the knowledge generated during current and previous projects are not captured
or shared across the organization 28. 
To avoid repeating mistakes and to leverage successes, organizations
must make a better use of one of their most important and unlimited assets, the
organizational knowledge produced throughout the software development life
cycle (SDLC). This knowledge needs to be shared across the organization through
knowledge management (KM) techniques 29. Beyond providing the ability to know
‘what’, an effective knowledge sharing strategy must enable knowledge seekers
to know ‘who’. Building a framework that uses technology to link knowledge
providers with knowledge consumers is proposed. Technology alone will not
achieve knowledge sharing in a complex environment 30. Leveraging the way
that knowledge workers create, disseminate, and manage information in their day-to-day
environment is critical 31.

It
is often assumed that to pursue knowledge management, a knowledge management system
must be independently developed or purchased. 
An analysis of existing tools and techniques for knowledge sharing was
identified. Those techniques are to encourage knowledge sharing culture that
encourages the flow of knowledge; this can be implemented through knowledge
management processes, practices and measurements institutionalized with in core
business initiatives with leadership accountability. The second techniques are
to focus on social capital through establishment of communities of practice and
facilitation of online social networking. The third technique could be
proactive notification which can be implemented through skill set inventories
and user profiles establishment. The next one is tacit knowledge capture which
can be done through- codification of explicit knowledge and through retrieval
strategies.  A
test server can be created to promote knowledge sharing. This server would be
able to store user profile. The main functional objective of creating a test
server is to enable user to find knowledge existing with in documents in the
document repository. In addition, user profiles will enable each user to
designate a preference for and usage of external social networks. The profiles
can then be leveraged to enact a notification mechanism to potential knowledge
seekers and enhance networking among knowledge workers. The intranet
entry-point is accessible only to users authenticated and authorized through
Web Single Sign-On (WSSO) from within the local area network. A user may
conduct explicit searches through a search field available on each web page.
User profile view and maintenance screens were created to allow the user to add
or update profile information. The user profile screens use JavaServer Pages (JSP)
technology to create data-driven, dynamic content. The JSPs generate standard
HTML from programmed logic and send the HTML page to the browser. An additional
design feature not completed for the pilot will enable a user to choose from a
set of documents automatically generated based on interests documented in the
user’s profile. These interests could be manually entered or automatically
updated based on the users
search behavior. When a user searches for knowledge, the user’s predefined
security rights to each document are used by the search engine to filter the
result set. If a user does not already have access to a document in a result
set, the name of the document along with the author will be presented. This
will enable the user to seek access to the document if so desired 25, 32.

William at el (2010) proposed a framework in which he divided team
knowledge in to four categories. Those categories are task related, team
related, process related, goal related 95. Viktoria at el (2008) suggested
knowledge areas as an extension of the framework. They added particular
knowledge elements from research on self-organizing teams, also included a
brief description for each and added examples from the software development
context also.  Such as for team knowledge:
the relevant knowledge types are Task strategies, task performance strategies,
task plans. The description added is: Shared understanding about how a task is
supposed to be accomplished by the team so that a sufficient level of
performance can be achieved. How task work is allocated to members, Use of team
subgroups working on each part of a task. Examples added on team knowledge are
Collaborative programming or independent programming.  These descriptions, knowledge types and
examples can be helpful in better understanding of the knowledge 33.

A conceptual framework was presented by Maleej at el (2010) to enable a
lightweight knowledge sharing among distributed developers. The framework
includes three logical layers: the Distributed Knowledge Model, the Context
System and the Knowledge Desktop including the Knowledge Provider and Knowledge
Capturer module, which we describe in the following: Distributed Knowledge
Model: This layer constitutes of a set of Ontologies, the Local Metadata Store
and the P2P Infrastructure.  Set of
ontologies are Development Artifacts, problem and knowledge sources. Local
Metadata Store: The basic underlying infrastructure for all semantic
services of the proposed framework is an ontology management system, which
stores, allows queries to, and performs inference over ontology-based metadata
describing all knowledge objects in the system, their interrelationships, and
the background knowledge denoted in the defined ontologies. P2P
Infrastructure: P2P infrastructure allows a set of Knowledge Desktops and
therefore the associated developers to access and provide knowledge sources on
a semantic basis, defined on the common language for representing semantic
information within the system.

 The context system includes
context monitor, context interpreter, and profiler. Context Monitor: The
current content of a knowledge source that a user is reading, as well as the
content he is writing is captured by this module. It also detects what the
developer is trying to do base on the context of his current work. The
contextual data will be derived from methods and classes being used by the code
the developer is working on, as well as comments on it. The monitor includes a
set of sensors to existing tools and information sources as well as a semantic
representation of the sensed information in the ontologies. Context
Interpreter: Captured information should be interpreted according to the
above given model of knowledge, i.e. identifying relevant development
artifacts, identifying/classifying problems, and the usage of knowledge
sources. In Addition this module is responsible for the context sessionization,
i.e. the determination of the start and the end of a developer session (i.e. a
set of actions) that is related to resolving a problem.

Knowledge Desktop: This layer represents the integrated interface
between the developer and stored knowledge. It enables capturing and accessing
knowledge. Knowledge Capturer: Knowledge Capturer should be seamlessly
integrated into a full-featured development environment. Furthermore, it can
communicate with other software engineering tools such as a bug tracking system
or a developer’s mailing list. It includes three capturing modules: annotation,
articulation and communication. Knowledge Provider: Knowledge Provider
consists of the semantic search and semantic recommendation. Semantic Search:
This module implements context sensitive and ontology-based proximity search
for relevant knowledge items and represents the central interface for knowledge
access 34.

Knowledge management (KM)
is essential for success in global software development. Software organizations
are now managing knowledge in innovative ways to increase productivity. In
agile software development, collaboration and coordination depend on the communication,
which is the key to success. To maintain effective collaboration and
coordination in distributed agile projects, practitioners need to adopt
different types of knowledge sharing techniques and strategies. Those knowledge
sharing techniques are Pair
programming, Customer collaboration, Scrum/Kanban boards, Innovation,
Workshops/Seminars, Community of practice, Technical presentation,  Technical forum, Pair programming, Version
control, Screen sharing,  Daily scrum
Weekly sprint status, Common chat room, Technical forum, Discussion forum  and Electronic board Online conference,
Rotation/Visit. 36

Software development
requires complex context specific knowledge regarding the particularities of
different technologies, the potential of existing software and the needs and
expectations of the users. Hence, efficient knowledge management counts amongst
the most important challenges for software teams. In international teams, one
of the most important issues regarding knowledge sharing is the impact of culture
under different aspects: national, organizational and professional. There seem
to be very few studies dealing with the issue of culture in regard to knowledge
management practices in GSE. A case study of small size software teams dealing
with international software development in the context of offshoring. In doing
so, we illustrate how cultural and social issues influence the way knowledge
exchange is performed by analyzing several knowledge management practices,
considering the role of meetings, artifacts and tools, knowledge brokers and
mutual visits between sites. Cultural difference along with other factors like
social ties, informal communication and micro polities also influence the
progress of global software development 37.

 Due to a changing business environment today,
organizations are facing challenges of global competitiveness. Furthermore,
organizations are confronted more and more with issues such fast technological
changes, product lifecycle shortened, downsizing, and high market volatility.
In order to cope with these challenges, organizations need to be able to manage
highly distributed diversified knowledge. Challenges rely on the identification
of crucial knowledge that improves the business process. Knowledge is central
but even more so is the understanding of the knowing process, and the learning
and knowledge transfer/sharing process. Companies understanding the need to
harness knowledge are aware about the crucial issue of creating a work
environment that fosters knowledge sharing mechanisms and learning capabilities
within and across organizations. It is well recognized that knowledge-sharing
mechanisms are highly complex processes to promote in the organization. Indeed
knowledge-sharing hostility is perceived rather as a phenomenon that widely
dominates organizational reality. Some of the identified knowledge sharing
elements are knowledge sharing with internal team members, knowledge sharing
with co related team members,  knowledge
sharing with non-team members, share knowledge on general overviews, share
knowledge on specific requirement, share knowledge on process techniques, share
knowledge on progress reports, share knowledge on reports, communication
frequency, job security and recognize knowledge or asset 38.

Global Software
Development (GSD) presents significant challenges to share and understand
knowledge required for developing software. Organizations are expected to
implement appropriate practices to address knowledge-sharing challenges in GSD.
With the growing literature on GSD and its widespread adoption, it is important
to build a body of knowledge to support future research and effective knowledge
sharing practices. Some of the knowledge sharing elements are cost of knowledge
sharing, employee turnover, low priority perception, vague role definition
between sites, hierarchical structure, documentation problem (improper or
missing), shortcomings in maintaining group awareness, communication challenges
due to distance, contextual difference, gap in education and technical
knowledge, lack of trust and rapport, fear, lack of openness, linguistic
differences, limitations of tools for knowledge sharing, shortcomings in
utilizing existing tools. tools and media for knowledge sharing in global
software engineering is classified into three groups: (i)communication and
coordination tools; (ii) organizational memory tools; (iii) project management
tools .The first category, communication and coordination tools, focuses on
improving awareness among GSD team members and enabling communicating using
text, audio and video. It should be noted that a large number of studies only
mentioned that teams/organizations use videoconferencing, audio-conferencing
and instant messaging. In fact, they did not mention the name of communication
tools. Organizational memory tools capture and document organizational
knowledge e.g., what expertise people have. The tools used for communication
and coordination in knowledge sharing are email, phone/ audio conference, video
conference, instant messaging, Skype, Netmeeting, messenger/ windows MSN,
desktop sharing, WebCT, Microsoft communicator, access grid toolkit, goto
meeting, IBM SameTime. Tools used for organizational memory are Microsoft
sharepoint, Wiki, discussion forum, WebCT, expertise browser, blog etc. Tools
used for project management bugzilla, event track, test track, PVCS, Jira etc.  40. The MILK system provides a
three-pronged user interface that includes a typical personal computer
interface, a mobile presentation, and a ‘social environment’ which includes
tools that assist in meeting facilitation and capturing of knowledge that is
generated in working sessions. The objective is to integrate knowledge with
documents, people, and communities through profiles. If two persons interact
with one another regarding a particular document, the profile for that document
is updated to reflect that those two individuals accessed it, and the profiles
for the two users are updated to reflect their interest in that document and in
each other. In addition to improving the ability to infer relationships between
components, profiles improve precision and recall by utilizing keywords that
truly describe the content of the documents. Profiles may also include
relevance metrics that may be used to qualify elements for result set ranking
96.