0% found this document useful (0 votes)
11 views16 pages

Knowledge Management in Distributed Agile Software Development Projects

The document discusses the importance of knowledge management (KM) in distributed agile software development projects, emphasizing the need for effective communication and collaboration among team members across different geographical locations. It explores various knowledge sharing techniques, strategies, and the challenges faced by practitioners in these environments, highlighting the reliance on tacit knowledge and the difficulties in maintaining effective knowledge transfer. The research is based on semi-structured interviews conducted with practitioners from multiple countries to gather insights on their experiences and practices in managing knowledge in distributed agile settings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views16 pages

Knowledge Management in Distributed Agile Software Development Projects

The document discusses the importance of knowledge management (KM) in distributed agile software development projects, emphasizing the need for effective communication and collaboration among team members across different geographical locations. It explores various knowledge sharing techniques, strategies, and the challenges faced by practitioners in these environments, highlighting the reliance on tacit knowledge and the difficulties in maintaining effective knowledge transfer. The research is based on semi-structured interviews conducted with practitioners from multiple countries to gather insights on their experiences and practices in managing knowledge in distributed agile settings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Knowledge Management in Distributed Agile Software

Development Projects
Mohammad Abdur Razzak, Touhid Bhuiyan, Rajib Ahmed

To cite this version:


Mohammad Abdur Razzak, Touhid Bhuiyan, Rajib Ahmed. Knowledge Management in Distributed
Agile Software Development Projects. 2nd IFIP International Workshop on Artificial Intelligence for
Knowledge Management (AI4KM), Sep 2014, Warsaw, Poland. pp.107-131, �10.1007/978-3-319-28868-
0_7�. �hal-01369807�

HAL Id: hal-01369807


https://inria.hal.science/hal-01369807
Submitted on 21 Sep 2016

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.

Distributed under a Creative Commons Attribution| 4.0 International License


Noname manuscript No.
(will be inserted by the editor)

Knowledge Management in Distributed Agile Software


Development Projects: Techniques, Strategies and Challenges
Mohammad Abdur Razzak · Touhid Bhuiyan · Rajib Ahmed

Received: date / Accepted: date

Abstract Knowledge management (KM) is essential Global software development can be described as
for success in global software development. Software or- “software work which is attempted in different geo-
ganizations are now managing knowledge in innovative graphical locations across the national boundaries in a
ways to increase productivity. In agile software devel- coordinated fashion, to involve synchronous and asyn-
opment, collaboration and coordination depend on the chronous interaction” [Sahay et al., 2003]. Software de-
communication, which is the key to success. To main- velopers work with knowledge and are dependent on
tain effective collaboration and coordination in distribu- each other’s work. In global software development this
ted agile projects, practitioners need to adopt different synchronization is dependent on KM. Some studies have
types of knowledge sharing techniques and strategies. identified that knowledge sharing is difficult in distribu-
There are also few studies that focus on knowledge ted agile project due to the lack of face-to-face commu-
sharing in distributed agile projects. This research in- nication between team members [Boden and Avram,
vestigates the knowledge sharing techniques and strate- 2009, Holz and Maurer, 2003]. In the agile software de-
gies applied by the practitioners in distributed agile velopment collaboration and coordination depends on
projects. In addition to that, challenges faced by the communication, which is crucial to successful software
practitioners during knowledge sharing in distributed development [Šmite et al., 2010]. One of the major ob-
agile projects are also identified and discussed. jectives of KM is to improve productivity through ef-
fective knowledge sharing and transfer [Kavitha and
Keywords Knowledge management · knowledge shar-
Ahmed, 2011]. So, the success of agile projects relies
ing · distributed · agile · global software development
on effective knowledge sharing among teams.
This research focuses on exploring knowledge shar-
1 Introduction ing in distributed agile projects. More specifically, this
research attempts to identify knowledge sharing tech-
Software engineering is a knowledge intensive area. This niques, strategies and practices that take place between
forces software organizations to manage their knowl- locally and globally distributed agile teams, and the
edge and later use it in smarter, innovative ways to solve challenges faced by the practitioners in a distributed
problems [Schneider, 2009]. It helps software develop- agile environment. We are driven by the following re-
ment organizations to acquire and maintain a competi- search questions:
tive advantage. KM is crucial for success in global soft-
ware development [Richardson et al., 2009]. RQ1: How do team members contribute to knowl-
edge creation in a distributed agile project?
Mohammad Abdur Razzak · Touhid Bhuiyan
Department of Software Engineering RQ2: How do team members share knowledge in a
Daffodil International University-Bangladesh distributed agile project?
E-mail: (arazzak, t.bhuiyan)@diu.edu.bd
Rajib Ahmed RQ3: What are the challenges faced by the practi-
Exertis Ztorm, Stockholm, Sweden tioners when sharing knowledge in a distributed agile
E-mail: [email protected] project?
2 Mohammad Abdur Razzak et al.

2 Related Work school practice depend on the technology which ap-


plies Nonaka’s [Nonaka, 1994] externalization conver-
Software development is considered to be a complex, sion technique to convert tacit knowledge into explicit
knowledge intensive and rapidly changing activity, where knowledge. Research shows that the technocratic school
a number of individuals, teams and organizations are in- is closely related with traditional software development
volved infulfilling common goals, interests and responsi- and those who are developing software through tra-
bilities [Curtis et al., 1988, Nicholson and Sahay, 2004]. ditional approaches they are probably benefiting from
Technological and strategic knowledge helps developers the technocratic schools [Dingsøyr et al., 2009]. On the
to communicate; so it is essential to keep the knowledge other hand, behavioral schools are more related with
stored in the organization for the future reuse. Daven- the agile approaches and agile teams are more bene-
port and Prusak [Davenport and Prusak, 2000] define fit more from the behavioral school. A survey in tra-
it as “a method that simplifies the process of sharing, ditional and agile companies shows that agile compa-
distributing, creating, capturing and understanding the nies seem to be more satisfied with their knowledge
company’s knowledge”. As the size of the organization management approaches compared to traditional com-
grows rapidly, it becomes harder to find out where the panies [Bjørnson and Dingsøyr, 2009]. In agile soft-
knowledge resides. Research shows that if the compa- ware development, knowledge sharing happens through
nies manage their knowledge in a better way, they can the interaction. Developers share knowledge by work-
increase quality, and decrease the time and development ing together and through close interaction with cus-
costs[Rus et al., 2002]. To improve the organizational tomers; and more specifically, pair programming, ex-
performance, it is important to manage knowledge in treme programming, daily scrum meetings, and sprint
a structured way which will help to convey the right retrospectives in Scrum. In traditional software devel-
knowledge to the right people at the right time. O‘Dell opment, knowledge management relied primarily on ex-
and Grayson [O’Dell and Grayson, 1998] discussed that, plicit knowledge but in the agile software development
knowledge management is not a vital methodology; it KM relies on tacit knowledge [Nerur et al., 2005]. In
is a framework, a management mind-set which is based agile software development, information radiators and
on past experiences and the creation of new wheels for collocating teams are related with the spatial school
exchanging knowledge. [Bjørnson and Dingsøyr, 2009].
To foster dynamic knowledge sharing, improve pro- In traditional software development, knowledge stor-
ductivity and coordination in software development tea- ed explicitly in the documentation, but in the agile de-
ms, agile approaches were introduced. Agile teams share velopment methodology the knowledge is tacit [Kavitha
knowledge through several practices [Chau and Maurer, and Ahmed, 2011]. Extracting tacit knowledge to cre-
2004]: pair programming, release and sprint planning, ate explicit knowledge is one of the greatest challenges
customer collaboration, cross-functional teams, daily of knowledge organization [Nonaka and Konno, 1998].
scrum meetings and project retrospectives. But, the au- Due to the absence of explicit knowledge in the ag-
thors [Chau and Maurer, 2004] argue that, these prac- ile software development, experts need to spend much
tices are team-oriented and rely on face-to-face inter- of their time on repeatedly answering the same ques-
action between team members. These practices do not tions, knowledge is lost when experienced developers
facilitate knowledge sharing in distributed agile teams leave project, there is less support for re-usability and
but are effective for collocated and small teams. In there is less contribution to organizational knowledge
one study Dorairaj et al. [Dorairaj et al., 2012] re- [Kavitha and Ahmed, 2011]. In the agile collocated de-
ported that in distributed agile project, team mem- velopment, informal communication is the key enabler
bers practice sprint planning, daily scrums, sprint re- for knowledge sharing but when an agile project is dis-
views and project retrospective meetings. Distributed tributed, informal communication and knowledge shar-
agile team members share knowledge through effective ing is a challenge due to low communication bandwidth
use of knowledge management tools like Wiki, pair- as well as social and cultural distance [Maalej and Hap-
programming and video-conferencing. pel, 2008]. Due to spatial, temporal and cultural fac-
Michael Earl [Earl, 2001] has classified knowledge tors, communication also becomes aggravated in the
management into three categories: technocratic, eco- distributed settings [Hildenbrand et al., 2008]. Several
nomic and behavioral. Earl also divided these three cat- studies [Holz and Maurer, 2003, Boden et al., 2009] also
egories into seven schools, Technocratic: Systems, Car- point out that, knowledge sharing in the distributed ag-
tographic and Engineering, Economic: Commercial and ile projects is difficult due the challenges in communi-
Behavioral: Organizational, Spatial and Strategic. Both cation, especially face-to-face interaction between team
codification[Hansen et al., 2005] strategy and systems members in different geographical locations. To address
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 3

these problems, we investigated how shared knowledge agile projects. According to Robson [Robson, 2002], an
creation and transfer activities performed in the dis- in-depth semi-structured interview is helpful in find-
tributed agile projects. Along with that, we also inves- ing out what is happening and seeking new insights.
tigated what challenges are faced by the practitioners Seventeen semi-structured interviews were conducted
when sharing knowledge among globally distributed ag- from seven teams in order to identify how practitioners
ile team members. are creating, storing and sharing knowledge related to
software development among geographically distributed
agile teams. These semi-structured interviews were a
3 Method & Data Analysis combination of both open and focused questions. It
helps both interviewer and interviewee to discuss a topic
Because this research addresses an issue “How can we in more details. Before the interviews started, we dis-
retain the benefits that agile practices provide with re- cussed about overall goal of this research to intervie-
spect to KM in distributed agile projects” which is rather wee. The interview questions were descriptive and with
under-investigated, this study takes an explorative ap- the base questions there were follow up questions asked
proach. Exploratory research helps to find out what is based on the discussion. We were concern about some
happening, seeking new insights and gathering ideas key terms: shared knowledge creation, knowledge trans-
[Marczyk et al., 2010, Runeson and Höst, 2009]. In fer, strategies and challenges which later helped us for
some qualitative research, data collected through ob- data analysis and those terms which also evolve with in-
servation or interviews are exploratory in nature. So, terview questions. We conducted seventeen semi-structu-
extensive interviews are helpful to handle this type of red interviews from six different companies. The se-
situation [Sekaran, 2006]. This type of exploratory re- lected companies are involved with software product
search was also helpful in achieving our goal through development, have different organizational settings and
analysis of similarities and differences among the cases structure and are located in different countries. The du-
[Creswell, 2008]. The primary focus of this study was to ration of these interviews averaged 60 minutes and the
discover the knowledge sharing activities in distributed interview sessions were tape recorded. Among the sev-
agile projects in order to identify techniques, strategies enteen semi-structured interviews, nine were conducted
and challenges. through Skype and eight were face-to-face, depending
on distance between interviewer and interviewee.

3.1 Sampling

The selection criteria for these interviewees were based 3.3 Analysis and Synthesis
on the kind of company they work at, the experience
of the company in distributed agile development (more In qualitative research, data analysis is the most diffi-
than 2 years), interviewee role in the distributed team cult and crucial aspect due to raw data sets. Accord-
as well as in the company, project duration and project ing to Basit [Basit, 2003], raw data can not help the
distribution. The participants of this research were proj- reader to understand the social world or the partici-
ect managers, team leaders, software architects, line pants view unless such data is systematically analyzed.
managers, senior software developers, system develop- To organize collected data we adopted thematic anal-
ers and Scrum masters in different countries involved in ysis [Braun and Clarke, 2006] technique during analy-
distributed agile projects, located in different countries sis. Thematic analysis is used to identify, analyze and
i.e. Sweden, Norway, Germany, Ukraine, China, India, report patterns or themes within data. It minimally or-
Bangladesh, USA, and Latvia. To get the rounded per- ganizes and describes data set in detail. In thematic
spective of this research phenomenon we included dif- analysis a theme captures data with relation to research
ferent roles from the agile team. questions and represents them in a pattern within the
data set [Braun and Clarke, 2006]. This analysis is per-
formed through a process which maintain six phases to
3.2 Data Collection establish meaningful patterns of the data set. Braun
and Clarke [Braun and Clarke, 2006] provides an out-
There are three types of interview techniques namely line through the six phases of analysis. These phases
structured, semi-structured and unstructured [Flick, 2009]. are: familiarization with data, generating initial codes,
Due to the qualitative nature of this study we used searching for themes among code, reviewing themes,
semi-structured interviews for conducting a series of in- defining and naming themes, and producing the final
terviews in software industries involved in distributed report.
4 Mohammad Abdur Razzak et al.

Table 1 Overview of the stuided distributed Agile projects

Projects Project Distribution Team Size Team Types Agile Position/Roles


Alpha Sweden-Germany 6-7* Dispersed Team Leader
Developer
Beta Norway-Bangladesh 5-6* Dispersed Project Manager
Developer
USA-Bangladesh 12-16** Distributed Head of Engineering
Gamma Senior Developer
Developer
Delta Sweden-Bangladesh 16-18** Dispersed Software Architect
Developer
Epsilon Latvia- Ukraine 11-15** Distributed Project Manager
Developer
Sweden-China 26-35*** Distributed Line Manager
Zeta Software Developers
System Developer
Eta Sweden-India 45-55*** Hybrid System Developer
Scrum Master
In Table 1 *,**,*** indicates Small, Medium and Large scale teams respectively

In the first stage, we transcribed all the collected 4 Validity Threats


interview data into written form in order to conduct
a thematic analysis. It helped us to identify possible To handle validity threats it is important to identify
themes, patterns and to develop potential codes [Guest all possible factors that might affect the accuracy or
et al., 2011]. Second phase started with initial codes dependability of the results.
from the extracted data. There are different types of
Coding techniques suggested in different studies such
as; open, axial, selective, descriptive/topic and pattern
or analytic[Miles and Huberman, 1994, Punch, 2009, 4.1 Internal Validity
Shull et al., 2007]. In our case, we applied open coding
technique and went through all transcribed textual data Internal validity for qualitative research mostly relates
by highlighting sections of the selected codes. That also to the researchers biasness and interpretation of data
helped us to relate coded data with research theme and [Bleijenbergh et al., 2011].For finding a similar knowl-
research questions. In third stage, we analyzed broader edge level for our interviewees, we went on interviewee
level of theme rather than codes that helps to sort dif- profiles on Linkedin and their years of experience. Af-
ferent codes into potential themes [Braun and Clarke, ter finding out the basic information, the interviewer
2006].As Braun and Clarke suggested coding as many sent a formal email to the interviewee with an invita-
potential themes/patterns as possible because initially tion letter about becoming involved with this research.
some themes seems to be insignificant, but later they To mitigate the threat of following our own bias, inter-
may be important in the analysis process. Later, mind view questions were designed to have a majority of open
mapping tools were used to represent them into theme- ended questions. Every interview started with a similar
piles. This stage gave us a sense of the significance of introduction and some clarification questions. Then the
individual themes. Stage four is reviewing themes. In recorded interview was transcribed immediately after-
this stage we identified irrelevant (not enough or di- ward to reduce the risk of missing some information.
verse) data with relate to different themes and broken Furthermore, researchers sent an interview report to
down into separate themes. After refining all themes we the interviewee in order to check whether interview data
identified “essence” of each theme and different aspects was correctly transcribed and to confirm the content in-
of the data each theme captures in stage five. At the dicated participants thoughts, viewpoints, feelings and
end, in stage six, we provided extract data with relate experiences. In qualitative research it is important to
to research questions and present some dialog that con- understand the interviewee’s inner meaning words. To
nected with different themes in support of results and maintain reliability during data analysis we used a the-
discussion sections. matic, qualitative data analysis technique, that helped
to identify, analyze and report themes within data. The
extracted data from the transcribed data was checked
twice for any discrepancy by two researchers.
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 5

4.2 External Validity up technical-business col- laboration on a project and


also helps to set the direction of the project. In ag-
External validity threat is more applicable to research ile software development customers are always involved
that are quantitative and which tries to generalize out- with the development teams by providing project re-
come of the research. However, our findings can be gen- quirements and performing acceptance testing. Through
eralized only for the agile software development teams customer collaboration agile teams participate in creat-
which are involved in the development of a shared project ing local knowledge. Evidence was also found from dif-
from distributed locations. ferent cases that customers are also involved with the
remote development teams to create knowledge through
continuous discussion and features feedback. We have
5 Results also found that customers are involved in issue track-
ing systems, which helps both the project manager and
In this section, we describe different findings (techniques, the developers towards early iteration. In two cases
strategies and challenges) from the seven cases, that (δandε), we found that customer collaboration performed
promote effective knowledge creation and sharing ac- only in the local sites for shared knowledge creation.
tivities in distributed agile projects.

5.1.3 Scrum/Kanban boards


5.1 Knowledge Creation: Locally and Globally
The are two types of boards used by the office to cre-
We have found that distributed agile project teams ate knowledge and common understanding. A Scrum
practice different types of techniques for both local and board is used for teams that plan their work in sprint.
global shared knowledge creation. Pair programming, A Kanban board is used to manage and construct team
customer collaboration, Scrum/Kanban boards and com- work in progress. In table 2 it is shown that, teams use
munity of practice are explicit practices used by the Scrum and Kanban boards for shared knowledge cre-
teams to perform both local and global shared knowl- ation among both local and globally distributed team
edge (see in Table 2). members. In two cases (γandη), we found that teams
are using boards both locally and globally. In Gamma
5.1.1 Pair Programming (γ) project, the remote team has a sub-Scrum board,
which is replica of the main Scrum board. Along with
Pair programming is used for both local and global that, the local team (in γproject) upload pictures of
knowledge creation. From the series of semi-structured the main Scrum board into a repository every day. But
interviews we have found that both local and remote in Eta (η) project, teams use a visual Scrum board to
team members work together in one workstation to perform shared knowledge creation among distributed
solve specific problems. They help each other to share team members.
their thoughts and create knowledge through discus-
sion. In two cases, we have found that teams do not 5.1.4 Innovation boards
perform pair programming for shared knowledge cre-
ation among remote team members. In the Epsilon(ε) Most innovative ideas are kept in the human mind as
project, all development team members are in one site, tacit knowledge. Due to continuous work loads, some-
and for that reason they do not need to perform pair times it is impossible to have a discussion with a team
programming for global shared knowledge creation. How- member, or other knowledgeable person. So, rather than
ever, Zeta(ζ) project is a collaboration with a Chinese talking with someone, people share their ideas through
team on the same product, but the development team the innovation board in an explicit way. In one interview
does not have any dependency. The development teams the researchers found that teams are using innovation
working on different modules and later core developers boards to share their ideas with both collocated and
merge all modules together for specific release. But the remote team members.
local teams in Zeta (ζ) project perform pair program-
ming. 5.1.5 Workshop/Seminars

5.1.2 Pre-planning game/customer collaboration Weekly or monthly workshops and seminars are ar-
ranged through collaboration between business teams,
In the de- velopment cycle the customer has an impor- technical teams and customers, in order to share knowl-
tant role. Customer collaboration helps teams to build edge about projects and the latest technologies. This
6 Mohammad Abdur Razzak et al.

Table 2 Knowledge creation techniques: Locally and Globally


Techniques α β γ δ ε ζ η
Pair programming L,G L,G L,G L,G — L L,G
Customer collaboration L,G — L,G L L L,G L,G
Scrum/Kanban boards L — L,G L — L L,G
Innovation boards — — — — — — L,G
Workshops/Seminars — — — — — L L
Community of practice — — — L,G L,G L,G L,G
Technical presentation — — L — — L L
Technical forum — — — — — L,G L,G
*In Table 2, L indicates Locally, G— Globally and “—” not in practice
Dispersed teams- α, β, δ; Distributed teams- γ, ε, ζ; Hybrid team- η

kind of workshop facilitates common understanding and All studied projects are concerned with using repos-
communication between different team members. Work- itories to share knowledge between local and remote
shops also help to facilitate tacit knowledge sharing team members. Most of the task and product related
through socialization. In the studied cases, we only ob- knowledge is kept in the repositories, which are easy to
served large-scale teams practicing these techniques lo- access by the remote team members. Different teams
cally, to create shared knowledge. Later, the theme of also depend on daily scrum, weekly sprints status, dis-
the workshops/seminars was shared among remote team cussion forums, online conferences and common chat
members through repositories. rooms to share knowledge between local and remote
team members. Electronic boards are helpful for shar-
ing knowledge across remote teams. Only one case was
5.1.6 Community of practice found where knowledge is shared between both collo-
cated and distributed teams through electronic boards.
To succeed in agile projects, learning is an important
asset for agile teams. Agile teams practice two modes of
5.2.1 Repositories
learning: peer learning and community learning. In peer
learning, team members start learning through interact- To share knowledge among distributed sites, local teams
ing and collaborating with team members. Community used different types of repositories like Wiki, JIRA,
learning is accessing and conceiving information that Redmine, Confluence and GitHub etc. These types of
is available in knowledge archives or in discussion fo- repos- itories provide efficient mechanisms to access cod-
rums. We found community of practice within different ified knowledge. From the gathered data it is evident
projects, where it performed to share knowledge cre- that (see in Table 3) practitioners are most dependent
ation among local and remote team members. on repositories to share knowledge among both local
We also found that to create shared knowledge, teams and distributed team members.
perform technical presentations. But these activities are Wiki, according to Ulrike Cress [Cress and Kim-
only performed in the local site and later slides or docu- merle, 2008], provides new opportu- nities to learn and
ments are shared among remote team members. Techni- use collaborative knowledge building and sharing, through
cal forums are also in practice to perform shared knowl- social interaction and individual learning. In different
edge creation between local and remote team members. cases we found that wikis are helpful for starting new
threads and discussing issues with other team mem-
bers. It is also helpful for new team members as it (the
5.2 Knowledge Sharing: Locally and Globally wiki ) provides detailed information about features, doc-
uments and so forth.
Knowledge exchange is always challenging in distributed Project and Issue tracking: Nowadays, almost all
agile teams due to a lack of face-to-face interaction medium and large distributed or dispersed agile teams
among team members. Practitioners and researchers are using JIRA/Redmine to track issues, bugs, tasks,
are trying to mitigate these challenges by initiating dif- deadlines, codes and hours. As collaboration and con-
ferent kinds of techniques and tools. From the studied tent sharing tools practitioners used Confluence to share
cases we observed that practitioners maintain different docs, files, ideas, specifications, diagrams and mockups.
types of tools and techniques to share knowledge among During the interview one project leader said,
globally distributed teams. Based on the findings, these ...Most of the time we share tacit knowledge be-
knowledge sharing techniques are listed in Table 3. tween both local and global teams. After that, the in-
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 7

Table 3 Knowledge sharing techniques among different sites


Techniques α β γ δ ε ζ η
Repositories L,G L,G L,G L,G L,G L,G L,G
Pair programming L,G L,G L,G L,G — L L,G
Version control — — — — L,G — —
Screen sharing G G G G — — —
Daily scrum L,G — L,G — L,G L L,G
Weekly sprint status L,G — L,G L,G G L L,G
Common chat room — — L,G L,G L,G L,G L,G
Technical forum — — — — — L,G L,G
Discussion forum — — L,G L,G — L,G L,G
Electronic board — — — — — — L,G
Online conference G — G G G L,G L,G
Rotation/Visit — — — — G G G
*In Table 3, L indicates Locally, G— Globally and “—” not in practice
Dispersed teams- α, β, δ; Distributed teams- γ, ε, ζ; Hybrid team- η

formation is converted through Redmine to make it ex- Beta(β) project, other projects explicitly maintain on-
plicit... Project Leader - Alpha project. line conferences globally for knowledge sharing among
It is also evident that, in one case we found local distributed team members.
teams up- load Scrum board pictures, slides and work-
shop information in the repositories, which is codified
5.2.4 Common chat room
and easy to access by the remote team members.
Common chat rooms are useful for exchanging knowl-
5.2.2 Pair programming edge among distributed teams. From the empirical find-
ings we observed that for faster and quicker communi-
Pair programming plays an impor- tant role in creating
cation among distributed team members, medium- and
and sharing developers knowledge in both locally and
large-scale teams maintain common chat rooms.
globally distributed project. In pair programming, two
In one case, a software architect said that ...the
developers work together at one computer with a com-
Sprint management system handles all task related knowl-
mon goal [Palmieri, 2002]. In the studied projects, we
edge but for the domain related knowledge sharing we
found teams are using pair programming techniques to
maintain a common chat room, which helps us to re-
share knowledge among remote team members. Team
solve specific problems within a short time - Software
members use Skype to share screens among remote team
Architect, Delta project
members. Along with that we also found that teams use
But, in another case we found that, it is not an effi-
TeamViewer and VPN services to share the same com-
cient way to communicate among distributed teams due
puter screen with remote team members, in order to
to language barriers, common understanding, techno-
perform pair programming.
logical factors and so forth. Frequently misunderstand-
ings occur and things go wrong. To mitigate these types
5.2.3 Daily Scrum/weekly sprints status/online
of problem, practitioners also suggested different types
conferences
of mitigation techniques.
Scrum meetings are a source for sharing project progress
information among team members. Usually a Scrum 5.2.5 Technical forum
standup meeting is held in collocation. From the gath-
ered data we found that distributed teams practice Scrum The idea behind a technical forum is learning through
standup meetings with Internet Relay Chat (IRC), Skype sharing knowledge. Technical forums are like communi-
or other group chatting software. Through daily Scrum ties of practice which create a network between tech-
weekly sprints status/online conferences local teams share nical team members. They are self-organizing groups
knowledge with distributed team members. In one case that consist of individuals who share information, ex-
(ζ), we found that due to less dependency, the devel- perience and technical skill on a specialized discipline
opment team does not need to perform Scrum meet- [McDermott, 1999]. Technical forums assist distributed
ings/weekly sprint status. But team (ζ) maintain on- teams in quick problem solving and reduce development
line conferences in order to share knowledge among re- time since team members do not get stuck on recurring
mote team members (if needed). However, apart from issues. Building trust between team members in the
8 Mohammad Abdur Razzak et al.

distributed environment is challenging; so knowledge 5.3 Challenges faced by practitioners during


sharing through technical forums can build trust be- knowledge sharing among distributed teams
tween developers. Technical forums help to create and
share both local and distributed knowledge. We have In agile software development most of the knowledge
found that large-scale team members practice techni- is tacit, which resides in the human mind rather than
cal forum techniques to share knowledge among remote documentation. This codified tacit knowledge is shared
team members. among between locally and globally distributed team
members through tools. The knowledge sharing approach
varies between team members due to experience levels.
5.2.6 Electronic board The types of problem this leads to are search availability
and difficulty finding the right knowledge at the right
The office boards hold a lot of knowledge which is diffi- time. We have also found that to share tacit knowl-
cult to share among distributed teams. The interviews edge between remote team members, teams maintain a
revealed that practitioners are using electronic boards common chat room and online conference (see in Table
to share and access knowledge both locally and glob- 3). In one project (β), we found that the team does
ally. Electronic boards hold the tasks list to perform , not share tacit knowledge among dispersed team mem-
latest information and along with that necessary tech- bers. But, based on the situation, sometimes the team
nical and business information are regularly updated in performs pair programming through screen sharing, to
a wiki. Electronic boards help to decrease the commu- resolve problems. Challenges faced by the practition-
nication overhead. ers during knowledge sharing among distributed team
In one case an interviewee said ...I am not satis- members are shown in Figure1. Mitigation techniques
fied with the current tools; Its tough to describe designs applied by practitioners are also shown in the same Fig-
to new team members. Visual aids are helpful during ure 1.
discussions - Project Manager, Beta project.

5.2.7 Rotation/Visits

The primary intention of team member rotation be-


tween different sites is knowledge sharing. Due to fre-
quent face-to-face interaction with product owners, on-
site team members get more business and domain re-
lated information than offshore team members [Sureshchan-
dra and Shrinivasavadhani, 2008]. A lack of face-to-
face meetings and poor socialization also causes a lack
of trust among distributed team members [Moe and
Šmite, 2008]. Rotation between on-site and distributed
team members promotes the sharing of business and
domain related knowledge across the teams. From the
data gathered we found that, both distributed and hy-
brid teams visit remote sites and rotate team members Dispersed teams- α, β, δ; Distributed teams- γ, ε, ζ;
to increase the trust and communication bandwidth be- Hybrid team- η
tween team members. But the studied dispersed teams Fig. 1 Knowledge sharing challenges and mitigation tech-
never visit and rotate with remote team members. niques
One of the distributed teams line managers said,
Visits to remote sites are highly costly. So, we rotate
team members and mostly, the duration of the rotation In Figure 1, arrows indicate the mitigation tech-
between team members is 3-6 months. - Line Man- niques ap- plied by practitioners for a specific chal-
ager, Zeta project lenge. Based on the severity of communication, language
We have also found that teams practice version con- and cultural challenges frequently faced by practitioners
trol, screen sharing and discussion forums to maintain during knowledge sharing in distributed agile projects
knowledge sharing among both local and remote team (see Figure 1). Distanced teams are also struggling with
members. misunderstanding and visualization challenges.
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 9

knowledge into explicit is called externalization. Tacit


knowledge cannot be interpreted fully even by an ex-
pert [Ahmed et al., 2012]. This type of knowledge is
more deeply placed in action and is hard to express in
words [Hislop, 2002]. Nelson et al. [Nelson and Winter,
1982] conclude that it is impossible to describe all the
necessary aspects of organizational tacit knowledge for
successful performance. In organizations, most of the
tacit knowledge is work related, which is learned infor-
mally as the team works [Wagner and Sternberg, 1987].
Not satisfied (0-3), Satisfied (4-6) and Highly satisfied Codification extract tacit knowledge into explicit ; it is
(7-10) Dispersed teams- α, β, δ; Distributed teams- γ, ε, ζ; a challenging task, so an expert needs to understand
Hybrid team- η
the essence of the tacit knowledge in order to increase
Fig. 2 Success of knowledge sharing the degree of explicitness of knowledge. Surprisingly, we
found from our results that all studied cases are con-
cerned about knowledge codification. To codify tacit
Though teams face different types of challenges dur-
knowledge, teams are using Wiki, JIRA, Confluence etc.
ing knowledge sharing among distributed team mem-
In local sites, technical presentations and discussion fo-
bers, we identified successful knowledge sharing in both
rums are also taken into account as knowledge codifica-
locally and globally distributed agile teams from the
tion strategies. Later, teams share codified knowledge
seven cases studied. Based on the seven cases the above
among remote team members through repositories and
graph (see Figure 2) has been drawn. An ordinal scale is
that is helpful for the remote team members to reuse
used to map the interviewee satisfaction with their KM
codified stored knowledge.
activities in both local and global teams. Figure 2 de-
picts that in project (Alpha) interviewees think knowl-
edge sharing activities are more successful among dis- 6.2 Knowledge Management Strategies in Practices
tributed team members than in the local team, due to
language barriers (non-native English speaker ) between We found that knowledge management schools are in
local team members. It is also evident from the gathered practice, according to the results in Table 2 and 3. We
data that dispersed feature teams are more successful in used Earls [Earl, 2001] framework to select types of
their knowledge sharing among distributed team mem- strategies, “schools” or practices in the different projects
bers than distributed and hybrid teams. that applied to managing knowledge locally and glob-
ally.
Based on the evidence from the different cases, we
6 Lesson Learned found that knowledge management schools were in use
to manage knowledge both locally and globally. It is
6.1 Codification of Knowledge also evident that systems, cartographic, engineering, or-
ganizational and spatial schools are practiced in dis-
According to Polanyi [Polanyi, 2009], Individuals know tributed agile projects to manage knowledge both lo-
more than they can say. Polanyi classified human knowl- cally and globally. Both commercial and strategic schools
edge into two categories. Tacit knowledge, which is very are focused on a business perspective (patent, copyright,
difficult to describe or express: this type of knowledge trademark, know-how and intellectual assets [Earl, 2001])
is transferred through demonstration. Tacit knowledge and there is also no evidence found within gathered
has an important cognitive dimension which consists of data sets that indicates those schools (commercial and
mental models, beliefs and perspectives [Nonaka, 1994, strategic) are in practice. For that reason those schools
Bennet and Tomblin, 2006, Nonaka, 2007]. So it can- are not taken into account in this research.
not be easily characterized by clear expressive language.
Explicit knowledge, is easily written down and codi- 6.2.1 Systems school
fied. It is easily possible to characterize explicit knowl-
edge in textual or symbolic forms. This kind of knowl- This schools philosophy is to codifying knowledge with
edge resides in textbooks, memos and technical docu- the help of technology. Organizations use repositories
ments. Codification of knowledge is the conversion of for storing and sharing knowledge. These knowledge
tacit knowledge into explicit knowledge in a written, repositories usually store domain specific information.
verbal or visual format. The extraction process of tacit The codification of knowledge can be compared with
10 Mohammad Abdur Razzak et al.

times achieved by yellow-pages, which ensure the acces-


sibility to others of a knowledgeable person within the
organization for knowledge exchange. Though knowl-
edge maps and directories on company intranets might
be helpful for distributed team members to have an
idea of who knows what, in distributed projects it seems
challenging to put into practice. This is because it needs
joint effort and commitment from both local and remote
team members. In collocation, it seems easier to find
a knowledgeable or experienced person because they
knew each other well. In globally distributed projects
who knows what and what is where are important issues
for effective knowledge exchange. We have found that
the cartographic school is practiced by different projects
(δ,ζ,η) to exchange knowledge both locally and glob-
ally. This strategy is also practiced in different compa-
nies by introducing the idea of knowledge brokers: this
helps other developers to consult with knowledgeable
and experienced software engineers [Schneider, 2009].
Knowledge brokers are knowledgeable and experienced
software engineers who will communicate with other
developers, provide them with information or listen to
them.

6.2.3 Engineering school

This school of knowledge management focuses on busi-


ness process re-engineering [Bjørnson and Dingsøyr, 2008]
and knowledge flows in organizations. This school has
a more empirical attention than other schools, which
focuses on managing knowledge about software devel-
opment processes and improvement of software devel-
opment processes. More specifically, this school focuses
on formal routines, mapping of knowledge flows, project
Fig. 3 Knowledge sharing strategies in practice reviews, and social interactions. Software process im-
provements like CMMI can be regarded as a stimulus
for knowledge flow throughout the organization. This
the externalization of knowledge by Nonaka [Dingsøyr school supports explicit knowledge sharing and in dis-
et al., 2009]. It is easy to realize the benefits of knowl- tributed projects, temporal distance does not affect this
edge bases and the systems school is the most researched school. In globally distributed projects coordination is
school [Bjørnson and Dingsøyr, 2008]. These knowl- one the major challenges and the engineering school fo-
edge bases become richer and more useful over time. cuses on the coordination process and aims to ensure
As shown in the Figure 2, the systems school is in prac- knowledge flows within the organization though shared
tice in all cases to manage knowledge locally and glob- databases. The processes of using tools (i.e the instal-
ally. Though search functions are a difficult issue in lation manual for GitHub or SVN with eclipse), qual-
the systems school, practitioners depend on it because ity code writing techniques, testing and reviews are all
across distances this school effectively perform knowl- documented in repositories to share among distributed
edge sharing activities using repositories. teams. Practice of this school is found in the studied
projects.
6.2.2 Cartographic school
6.2.4 Organizational school
This school focuses on the mapping of organizational
knowledge and aims to build knowledge directories by The philosophy of the organizational school is to cre-
disclosing who knows what [Earl, 2001]. This is some- ate a network by collaborating between communities
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 11

to share or pool knowledge. This school of knowledge


management focuses on organizational structure. These
structures are often referred as “knowledge communi-
ties” [Bjørnson and Dingsøyr, 2008]. This is a network-
ing approach for people to communicate and share knowl-
edge. Based on the seven cases, this school is in practice
for knowledge sharing both locally and globally.

6.2.5 Spatial school

The intention of the spatial school is to encourage so-


cialization (tacit to tacit knowledge) as a means of knowl-
edge exchange [Lloria, 2008]. The spatial school is more
concerned with the development and utilization of the
social capital which develops from people interactions,
formal or informal, repeatedly over time [Earl, 2001].
The spatial school focuses on designing office space to
promote knowledge sharing [Dingsøyr et al., 2009]. Or- Fig. 4 Nonaka’s dynamic knowledge creation model [Non-
aka, 1994]
ganizations use different office settings to promote com-
munication between people. For example, in the case
of software organizations agile methodologies may use models are created and shared. Trust is the main in-
boards, charts or other tools to create spatial knowl- gredient in order to foster socialization (social interac-
edge. Sometimes, even common spaces like conference tion) in the organization [Nonaka and Takeuchi, 1995].
rooms, dining rooms or places for refreshment and ac- The main intension of the tacit knowledge is to learn
tivities are also places where knowledge can be shared. and gain experience from others; so knowledge is cre-
Five cases were found that practice the spatial school ated by learning during the discussion in front of cof-
to manage knowledge locally and only one case (hybrid fee machine, meeting, training and team work [Non-
team,η) was found that to practice the spatial school to aka, 1994] [Bolisani and Scarso, 1999][Haldin-Herrgard,
manage knowledge both locally and globally. The hy- 2000][Marwick, 2001]. In this research, we have found,
brid team uses visual boards to communicate among team members share theirs knowledge infront of cof-
collocated and distributed team members. fee machine. All studied projects share tacit knowledge
among both collocated and distributed teambers.
6.3 The Process of Organizational Knowledge Creation

Knowledge creation is continuous and dynamic pro- 6.3.2 Externalization- tacit to explicit
cess; and people are benefited from that through shar-
ing and interacting with each other [Ernst and Kim, The extraction process of tacit knowledge into explicit
2002]. Based on explicit and tacit knowledge, Nonaka et is called externalization. In this book [Ahmed et al.,
al. proposed dynamic knowledge creation model [Non- 2012] the authors claimed that, tacit knowledge can-
aka, 1994]. In this model, the authors discussed about not be interpret fully even by an expert. This type of
four types of knowledge conversion modes. The con- knowledge is more deeply placed in action and stiff to
version mode between tacit to tacit called socializa- express in word [Hislop, 2002]. Nelson et al. [Nelson and
tion, between tacit to explicit it is called externaliza- Winter, 1982] conclude, it is impossible to describe all
tion, between explicit to explicit it is called combination necessary aspects of organizational tacit knowledge for
and between explicit to tacit it is called internalization. successful performance. In another research Wanger et
Each modes can independently create knowledge. al. [Wagner and Sternberg, 1987] mentioned, in the or-
ganization most of the tacit knowledge is work related
6.3.1 Socialization- tacit to tacit that is learned informally during the team works. Cod-
ification is challenging to extract tacit knowledge into
Socialization facilitate to share tacit knowledge through explicit; so an expert needs to understand essence of
shared experience. In this context, the learning process the tacit knowledge to increase degree of explicitness of
start through observation, interaction and practice. So, knowledge. Through this study we have found, nowa-
as a result of this process technical skills and mental days, almost all small, medium and large scale soft-
12 Mohammad Abdur Razzak et al.

ware development firms start using tools3 to facilitate


explicit knowledge sharing throughout the both collo-
cated and distributed teams. Experience team members
helping each others indirectly4 with their experience is
the distributed environment using those tools, by the
problem solving, manual creation and individuals in-
ternalize what they experience.

6.3.3 Combination- explicit to explicit


Fig. 5 Ba and Knowledge Conversion [Nonaka and Konno,
The conversion strategy of existing explicit knowledge 1998]
into new explicit knowledge is called combination. In
the organization it is happen through meeting and con-
versation. The main intension of combination process 6.5 Shared Understanding between team members
is to manage all unstructured knowledge into one place
by sorting, adding, categorizing and defining context.
This process will help the team members to get right Sucessful development and deployment depends on the
information at the right time. In the distributed envi- shared understanding between stackholders and soft-
ronment team members might benefited from this pro- ware engineers. According to Martin et al. [Glinz and
cess. Fricker, 2014], there are two types of facts among group
of people during shared understanding: explicit shared
understanding(ESU) which denotes requirements, de-
sign documents, and manuals. Implicit shared under-
6.3.4 Internalization- explicit to tacit standing denotes the common understanding of non-
specified knowledge, such as assumotions, opinions, and
Express explicit knowledge and convert it into tacit values. Organization that facilitate values, structures,
knowledge is called internalization. People read doc- and practices that helps to coordinate and communi-
uments previously stored knowledge from the reposito- cate with team members effectively. During this study,
ries and try to learn from that to enhance their existing we have found, studied projects apply “Pair program-
knowledge. By applying this process explicit knowledge ming, customer collaboration, technical presentation and
become tacit and it helps if knowledge is verbalized in so forth to establish shared understanding among dis-
documents and expressed through oral stories. tributed team members. In addition to that, we have
also observed that, team also apply both tacit and ex-
plicit knowledge sharing strategies to build shared un-
derstanding among distributed team membres as in soft-
6.4 A Relation with the concept of “Ba” [Nonaka and ware engineering both strategies implies shared under-
Konno, 1998] standing.

Japanese philosopher Kitro Nishida originally proposed Martin et al. [Glinz and Fricker, 2013] identified
this “ba” concept, “Ba” means place [Nonaka and Konno, the enablers and obstacles for shared understanding.
1998]. This space can be physical (i.e. office, dispersed Domain knowledge, Previous joint work or collabora-
or distributed team), virtual(i.e. email, teleconference), tion, Existence of reference systems, Culture and Val-
mental (i.e., shared experiences, idea), or any combina- ues, Geographic distance, and Trust are enable and fos-
tion of them. Ba consider as a shared space that servers ter shared understanding. Contractual situation, Out-
as a foundation for knowledge creation. In this research, sourcing, Regulatory constraints, Normal vs. radical de-
we have found that, practitioners also apply ba through sign, Team size and diversity, and Fluctuation are an
spatial school. The intention of the spatial school is to obstacle to both implicit and explicit shared under-
encourage socialization (tacit to tacit knowledge) as a standing. Achivinging shared understanding among dis-
means of knowledge exchange. tributed team members is not easy though. To achive
shared understanding among distributed team mem-
3
wiki’s, redmine, JIRA etc. bers its required to overcome obstracles and enable the
4
Reading and listening to success stories make people feel knowledge shareing and creation techniques to establish
the truth and root of the story[Nonaka and Takeuchi, 1995] shared understanding.
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 13

7 Conclusion and Future Work spatial school facilitates knowledge sharing by us-
ing office space but in distributed agile projects this
7.1 Summary strategy is not explicitly in practice to share knowl-
edge among remote team members.
The aim of this research was to discover the knowl-
edge sharing techniques, strategies applied and chal- For the third research question, we found that:
lenges faced by the practitioners in distributed agile
projects. To perform knowledge management activities – During knowledge sharing among distributed team
in a distributed agile project, different teams practice mem- bers, practitioners faced different types of chal-
different types of approaches. But, in general, we found lenges, such as: language, communication, misun-
that different types of knowledge creation and shar- derstanding, vi- sualization, cultural, technological,
ing techniques are applied by practitioners to perform time zone difference and lack of information.
knowledge management activities in distributed agile – To mitigate those challenges, practitioners also ap-
projects. Along with that, we also found different types ply different types of mitigation techniques, such as:
of strategies practiced by the team members to manage informal communication, cultural exchange, com-
knowledge both locally and globally. mon platform, tools, visual prototyping, common
chat rooms, rotation, and overlapping hours.

7.2 Contributions
7.3 Future Work
For the first research question, we found that:
Through a series of semi-structured interviews from ag-
– To perform shared knowledge creation in a distributed ile practitioners, we investigated knowledge sharing ac-
agile project, team members practice: pair program- tivities in distributed agile projects. Communication,
ming, customer collaboration, Scrum/Kanban boards, coordination and collaboration are the keys to foster-
innova- tion boards, workshops/seminars, learning, ing knowledge sharing between team members in agile
technical pre- sentation and technical discussion tech- software development. However, we have seen knowl-
niques. edge sharing in distributed agile projects is challenging,
– In globally distributed agile projects, teams prac- due to factors such as communication difficulties, lan-
tice dif- ferent types of strategies to perform shared guage barriers and cultural barriers. To mitigate those
knowledge creation such as: systems, engineering, challenges and succeed in knowledge sharing within and
organizational and cartographic schools. We observed across borders, practitioners adopt different types of
that the spatial school is in practice for local knowl- techniques to manage knowledge both locally and glob-
edge creation but when the project is distributed, ally. Along with these techniques, we have also noticed
this school is used less due to expensive tools. that, practitioners adopt different types of strategies to
For the second research question, we found that: manage knowledge both locally and globally. Though
systems, engineering and organizational schools are ex-
– To share knowledge among distributed sites, team plicitly in practice, the spatial school has less concern
mem- bers practice different type of techniques: repos- with managing knowledge in distributed agile projects.
itories, pair programming, version control, screen With closer observation between software engineering
sharing, daily scrums, weekly sprint status, com- and schools Bjørnson and Dingsøyr found that there is
mon chat rooms, technical forums, discussion fo- a heavy focus on the systems and engineering schools
rums, electronic boards, online conferences, rota- [Bjørnson and Dingsøyr, 2008]. There are also limited
tions/visits etc. number of studies focusing on the organizational school,
– Systems, engineering and organizational school strate- but no studies in software engineering were found, that
gies are explicitly in practice to share knowledge focus on the spatial aspect [Bjørnson and Dingsøyr,
among distributed team members. These strategies 2008]. Agile software development is more related to so-
foster effective knowledge sharing activities for team cialization, which includes the spatial schools concepts
members in distributed agile projects. In distributed of knowledge sharing strategies. There is a lot of knowl-
development, who knows what and what is where edge residing in the office space and office space fosters
need to be known by employees, for effective knowl- knowledge sharing through spatial knowledge manage-
edge sharing: this is associated with the cartographic ment strategy. In the future, it will be interesting to
school. But, in distributed agile projects, this school find the spatial school being practiced in distributed
has is used less due to social-cultural distances. The agile projects.
14 Mohammad Abdur Razzak et al.

8 Acknowledgement T. Chau and F. Maurer. Knowledge sharing in agile


software teams. Logic versus approximation, pages
We are thankful to our dear supervisor Dr. Darja Šmite, 173–183, 2004.
Associate Professor and this paper also published as a S. Dorairaj, J. Noble, and P. Malik. Knowledge man-
Blekinge Institute of Technology’s Master thesis of 1st agement in distributed agile software development.
and 3rd authors in 2013. In Agile Conference (AGILE), 2012, pages 64–73.
IEEE, 2012.
M. Earl. Knowledge management strategies: Toward a
References
taxonomy. Journal of management information sys-
tems, 18(1):215–233, 2001.
K. Schneider. Experience and knowledge management
M T Hansen, N Nohria, and T Tierney. Whats your
in software engineering. Springer, 2009.
strategy for managing knowledge? Knowledge Man-
I. Richardson, M. O’Riordan, V. Casey, B. Meehan, and
agement Critical Perspectives on Business and Man-
I. Mistrik. Knowledge management in the global soft-
agement, 77(2):322, 2005.
ware engineering environment. In Global Software
I. Nonaka. A dynamic theory of organizational knowl-
Engineering, 2009. ICGSE 2009. Fourth IEEE Inter-
edge creation. Organization science, 5(1):14–37,
national Conference on, pages 367–369. IEEE, 2009.
1994.
S. Sahay, B. Nicholson, and S. Krishna. Global IT out-
T. Dingsøyr, F.O. Bjørnson, and F. Shull. What do we
sourcing: software development across borders. Cam-
know about knowledge management? practical impli-
bridge University Press, 2003.
cations for software engineering. Software, IEEE, 26
A. Boden and G. Avram. Bridging knowledge
(3):100–103, 2009.
distribution-the role of knowledge brokers in dis-
F.O. Bjørnson and T. Dingsøyr. A survey of percep-
tributed software development teams. In Cooperative
tions on knowledge management schools in agile and
and Human Aspects on Software Engineering, 2009.
traditional software development environments. Ag-
CHASE’09. ICSE Workshop on, pages 8–11. IEEE,
ile Processes in Software Engineering and Extreme
2009.
Programming, pages 94–103, 2009.
H. Holz and F. Maurer. Knowledge management sup-
S. Nerur, R.K. Mahapatra, and G. Mangalaraj. Chal-
port for distributed agile software processes. Ad-
lenges of migrating to agile methodologies. Commu-
vances in Learning Software Organizations, pages 60–
nications of the ACM, 48(5):72–78, 2005.
80, 2003.
Ikujiro Nonaka and Noboru Konno. The concept of
D. Šmite, N.B. Moe, and P. Ågerfalk. Agility across
ba : Building a foundation for knowledge creation.
time and space: Implementing agile methods in global
California Management Review, 40(3):40–54, 1998.
software projects. 2010.
W. Maalej and H.J. Happel. A lightweight approach
RK Kavitha and I. Ahmed. A knowledge man-
for knowledge sharing in distributed software teams.
agement framework for agile software development
Practical Aspects of Knowledge Management, pages
teams. In Process Automation, Control and Com-
14–25, 2008.
puting (PACC), 2011 International Conference on,
T. Hildenbrand, M. Geisser, T. Kude, D. Bruch, and
pages 1–5. IEEE, 2011.
T. Acker. Agile methodologies for distributed col-
B. Curtis, H. Krasner, and N. Iscoe. A field study of
laborative development of enterprise applications.
the software design process for large systems. Com-
In Complex, Intelligent and Software Intensive Sys-
munications of the ACM, 31(11):1268–1287, 1988.
tems, 2008. CISIS 2008. International Conference
B. Nicholson and S. Sahay. Embedded knowledge and
on, pages 540–545. IEEE, 2008.
offshore software development. Information and or-
A. Boden, G. Avram, L. Bannon, and V. Wulf. Knowl-
ganization, 14(4):329–365, 2004.
edge management in distributed software develop-
T.H. Davenport and L. Prusak. Working knowledge:
ment teams-does culture matter? In Global Software
How organizations manage what they know. Harvard
Engineering, 2009. ICGSE 2009. Fourth IEEE Inter-
Business Press, 2000.
national Conference on, pages 18–27. IEEE, 2009.
I. Rus, M. Lindvall, and S. Sinha. Knowledge manage-
G.R. Marczyk, D. DeMatteo, and D. Festinger. Essen-
ment in software engineering. IEEE software, 19(3):
tials of research design and methodology, volume 2.
26–38, 2002.
Wiley, 2010.
C. O’Dell and C.J. Grayson. If only we knew what
P. Runeson and M. Höst. Guidelines for conducting and
we know: identification and transfer of internal best
reporting case study research in software engineer-
practices. California management review, 40:154–
ing. Empirical Software Engineering, 14(2):131–164,
174, 1998.
Knowledge Management in Distributed Agile Software Development Projects: Techniques, Strategies and Challenges 15

2009. VINE, 36(3):289–303, 2006.


U. Sekaran. Research methods for business: A skill Ikujiro Nonaka. The knowledge-creating company. Har-
building approach. John Wiley & Sons, 2006. vard Business Review, 26(4-5):598–600, 2007.
J.W. Creswell. Research design: Qualitative, quantita- P.K.K. Ahmed, K.K.K. Lim, and A.Y. Loh. Learning
tive, and mixed methods approaches. Sage Publica- through knowledge management. Routledge, 2012.
tions, Incorporated, 2008. D. Hislop. Mission impossible? communicating and
U. Flick. An introduction to qualitative research. Sage sharing knowledge via information technology. Jour-
Publications Limited, 2009. nal of Information Technology, 17(3):165–177, 2002.
C. Robson. Real world research: a resource for so- R.R. Nelson and S.G. Winter. An evolutionary theory
cial scientists and practitioner-researchers, volume 2. of economic change. Belknap press, 1982.
Blackwell Oxford, 2002. R.K. Wagner and R.J. Sternberg. Tacit knowledge in
T. Basit. Manual or electronic? the role of coding in managerial success. Journal of Business and Psy-
qualitative data analysis. Educational Research, 45 chology, 1(4):301–312, 1987.
(2):143–154, 2003. F.O. Bjørnson and T. Dingsøyr. Knowledge manage-
V. Braun and V. Clarke. Using thematic analysis in ment in software engineering: A systematic review
psychology. Qualitative research in psychology, 3(2): of studied concepts, findings and research methods
77–101, 2006. used. Information and Software Technology, 50(11):
G. Guest, K.M. MacQueen, and E.E. Namey. Applied 1055–1068, 2008.
thematic analysis. Sage Publications, Incorporated, M.B. Lloria. A review of the main approaches to knowl-
2011. edge management. Knowledge Management Research
M.B. Miles and A.M. Huberman. Qualitative data anal- & Practice, 6(1):77–89, 2008.
ysis: An expanded sourcebook. Sage Publications, In- Dieter Ernst and Linsu Kim. Global production net-
corporated, 1994. works, knowledge diffusion, and local capability for-
K.F. Punch. Introduction to research methods in edu- mation. Research policy, 31(8):1417–1429, 2002.
cation. Sage Publications Limited, 2009. I. Nonaka and H. Takeuchi. The knowledge-creating
F. Shull, J. Singer, and D.I.K. Sjøberg. Guide to company: How Japanese companies create the dy-
advanced empirical software engineering. Springer, namics of innovation. Oxford University Press, USA,
2007. 1995.
I. Bleijenbergh, H. Korzilius, and P. Verschuren. E. Bolisani and E. Scarso. Information technology man-
Methodological criteria for the internal validity and agement: a knowledge-based perspective. Technova-
utility of practice oriented research. Quality & Quan- tion, 19(4):209–217, 1999.
tity, 45(1):145–156, 2011. T. Haldin-Herrgard. Difficulties in diffusion of tacit
U. Cress and J. Kimmerle. A systemic and cogni- knowledge in organizations. Journal of Intellectual
tive view on collaborative knowledge building with capital, 1(4):357–365, 2000.
wikis. International Journal of Computer-Supported A.D. Marwick. Knowledge management technology.
Collaborative Learning, 3(2):105–122, 2008. IBM systems journal, 40(4):814–830, 2001.
D.W. Palmieri. Knowledge management through pair Martin Glinz and Samuel A Fricker. On shared un-
programming. 2002. derstanding in software engineering: an essay. Com-
R. McDermott. Learning across teams. Knowledge puter Science-Research and Development, pages 1–
Management Review, 8(3):32–36, 1999. 14, 2014.
K. Sureshchandra and J. Shrinivasavadhani. Adopting Martin Glinz and Samuel Fricker. On shared under-
agile in distributed development. In Global Software standing in software engineering. In Software Engi-
Engineering, 2008. ICGSE 2008. IEEE International neering, pages 19–35. Citeseer, 2013.
Conference on, pages 217–221. IEEE, 2008.
N.B. Moe and D. Šmite. Understanding a lack of trust
in global software teams: a multiple-case study. Soft-
ware Process: Improvement and Practice, 13(3):217–
231, 2008.
M. Polanyi. The tacit dimension. University of Chicago
press, 2009.
A. Bennet and M.S. Tomblin. A learning network
framework for modern organizations: Organizational
learning, knowledge management and ict support.

You might also like