Knowledge Management in Distributed Agile Software Development Projects
Knowledge Management in Distributed Agile Software Development Projects
Development Projects
Mohammad Abdur Razzak, Touhid Bhuiyan, Rajib Ahmed
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.
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.
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.
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
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.
5.2.7 Rotation/Visits
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.
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.