The Benefits and Limitations of Knowledge Management in Global Software Development

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

The Benefits and Limitations of Knowledge Management in Global Software

Development

Torgeir Dingsøyr1, Knut-Helge Rolland2, M. Letizia Jaccheri2,


1
SINTEF ICT, 2Dept. of Computer and Information Science NTNU,

[email protected], {knutrr|letizia}@idi.ntnu.no

single out some factors that are of profound relevance.


Abstract Previous studies have shown how cultural issues are
directly related to and influence how software is
The role of knowledge management practices and developed and managed. It has been shown that teams
tools in global software development will be explored from different cultures tend to prefer dissimilar
by empirical investigations. These investigations will approaches to architectural design. For example, there
look at global software development processes by are differences in how abstractions are chosen and
taking into special account multicultural factors and what architectural patterns are used [3]. Clearly, an
will rely on both quantitative methods for project understanding of these issues would be of profound
selection and qualitative methods for in depth study of importance for managing global software projects
the single project contexts. successfully. Moreover, recent research has
underscored the challenge of adopting common and
standardized practices and tools in global software
work and the need for developing a specific
1. Introduction competence to do global product development [8].
However, while the above literature points at some
Software development work is becoming global in practices and competencies for successfully conducting
the sense that development work is increasingly carried global software development, little is said about how
out in teams that are geographically separated across such competencies can be learned and adopted in other
national boundaries and cultures. This trend is captured organizations and domains. Considering the limited
in commercial software production where parts of the capability of learning in many software development
development activities often are outsourced to low-cost projects and organizations [6], it is then important to
countries, as well as in ‘open source software’ projects investigate how organizations and individuals can
where development sometimes is global in scope. facilitate learning both within specific global software
The problem we want to discuss in this position development initiatives and between different projects.
paper are the fact that while software development In this position paper we will outline a research
becomes increasingly distributed and global in nature, design for studying the limits and benefits of
much of the techniques and tools for improvement still Knowledge Management (KM) practices and tools for
assume that individuals are co-located. For example, improving organizations’ capabilities of continuous
the principle of pair-programming in the XP approach learning in global software development projects.
was established to improve learning and knowledge-
exchange among programmers [2] and traditional code
inspection methods often assume face-to-face 2. Arenas to learn from
interaction in terms of more or less formal meetings.
Software development conducted in a distributed Global software development has existed in some
fashion is often referred to as ‘Global Software Work’ forms since the early eighties in both volunteer
(GSW). More accurately, Sahay defines GSW as contexts and commercial ones, such as banking
“software work undertaken at geographically separated applications. One example of an environment that does
locations across national boundaries in a coordinated global software development is the Open Source
fashion involving real time and asynchronous community [5]. The Open Source community consists
interaction” [9]. Given these characteristics, it becomes of a myriad of projects, which vary in number of
clear that GSW involves different kinds of developers and their organization roles, kind and size
complexities compared to traditional software of developed software, degree of involvement of
development where members of the project are more or commercial actors, popularity, vitality, degree of
less co-located and are therefore able to share their success, and duration of the project. The slogan “the
experiences through face-to-face communication. success of open sources projects” seems to stem from
Drawing from past experience reported in the the big success of projects such as Linux and Apache
literature on global software development, we can [7].
The software research community has devoted a lot Research should be conducted in order to illuminate
of attention to the open source world, as can be these benefits and limits in more detail, and for
deduced for example from the series of open source increasing the understanding of global software
workshops in the ICSE context. Many are the questions development in general.
which are of interest of the software community when
looking at the open source world. Which are the 4. Research design
successful projects and how do we define this notion of
success in a not profit world? Is success a function of In order to study the new landscape of software
project vitality? Is success a function of the impact the development, it is relevant to draw from different
open source software has on the commercial market, research disciplines and perspectives in a cross
such as for example the Linux operating system? disciplinary and multi-perspective approach. On the
Given that successful open source project are the research method side, we will be open to both the
focus of our interest, how and what do we want to learn empirical software engineering community and the
from them and how do we want to transfer the learned community of research that focuses on explaining
knowledge into commercial contexts or even into software development in relation to a broader social,
educational ones? One possibility is that of making organisational, and economical context.
hypotheses about the reasons or causes for success of Our investigations will look at global software
open source projects, and then trying to describe these development processes by taking into special account
reasons in order to disseminate them. How does Open multicultural factors. On the one hand, there is a need
source project implement knowledge management? Is to use descriptive statistics to get an orienteering map
it the software process model of open source project in the complex world of global software development.
which is the cause of success? If we regard a process If we look at open source projects for example, it is of
model as descriptions of tasks, practices, great help to classify them by evaluation parameters,
responsibilities, tools, and document types, which of like number of active users, lines of code, age, vitality,
these elements is of most importance for project number of represented countries which help us to
success? compare them and to choose those which we want to
study in depth.
3. Knowledge Management: Benefits and In this way, we will select a couple of case studies
limitations to capture and describe learning practises and networks
in real-world settings, how tools, techniques, or
Learning in the context of software development concepts are employed. One case will involve Open
has often been limited to different kinds of information Source development, and one will involve global
technology support for learning and knowledge- software development in a commercial setting. We will
exchange [4]. For example, there has been much focus select cases involving software development
on reusing life-cycle experience, processes, and environments in at least three countries, and projects
products for software development in terms of having that run over a period of at least two years.
an ‘Experience Factory’ [1]. Likewise, the information Data from the case studies will be collected
systems literature has emphasized introduction of according to the following two principles:
‘Knowledge Management Systems’ in order to support
organisation-wide knowledge-exchange and learning. • Multiple sources of evidence. We will collect
Arguably, these technologies and knowledge-sharing data from several sources, such as
practices can play important roles in facilitating documentation, archival records, interviews,
learning in software organizations. However, as there direct observations, participant-observation,
exists a wide range of different KM practices and tools, and physical artefacts. Analysis will be
there is thus a growing need for investigating assisted by using the qualitative data analysis
empirically what kind of KM that is relevant for global tool Nvivo.
software development. A salient point related to global • Case study database. We will document the
software development is also that systematic practices data collected in the case studies in terms of
and tools for KM are perhaps even more relevant for notes, documents, tabular materials,
software development in (globally) distributed settings narratives, photographs, and video, and
there lack of more informal face-to-face interaction organise it in a case study database. For this
must be substituted with other ways of coordinating purpose we will use the facilities offered by
work and ways for facilitating mutual learning between eRoom, which provides a shared, secure
distributed development teams. On the other hand, workplace on the Web for the project team.
establishing KM practices and tools across different
cultural settings might also be especially challenging 5. Conclusion
due to cultural differences in how knowledge is
formed, structured and utilized in different countries In this position paper, we have argued that software
[10]. development is increasingly global, which makes the
Thus, the literature seems to suggest that there are complexity of software development larger due to
both potential benefits and limits for improving changing technologies, methods, geographical location
learning through KM in global software development. and multicultural arrangements. Knowledge
management tools have the objective to reduce the Development: Addison Wesley, 211
problems of complexity in global software pp., 2002.
development. Through investigations of practices in
organizational learning, we seek to reach a better
[6] K. Lyytinen and D. Robey, "Learning
understanding of how knowledge management tools Failure in information systems
and learning issues in general function in global development," Information Systems
software work. Such an understanding can give the Journal, vol. 9, pp. 85-101, 1999.
software engineering community better abilities to see [7] A. Mockus, R. T. Fielding, and J. D.
what kind of knowledge management practices and
tools that are suitable for global development, as well
Herbsleb, "Two case studies of open
as new insights on key practices from the open source source software development: Apache
community. and Mozilla," ACM Transactions on
8. References Software Engineering and
[1] V. R. Basili, Caldiera, G and Methodology (TOSEM), vol. 11, num.
Rombach, H.D., "The Experience 2, pp. 309-346, 2002.
Factory," in Encyclopedia of Software [8] W. J. Orlikowski, "Knowing in
Engineering, vol. 1, J. J. Marciniak, Practice: Enacting a Collective
Ed.: John Wiley, 1994, pp. 469-476. Capability in Distributed Organizing,"
[2] K. Beck, Extreme Programming Organization Science, vol. 13, num. 3,
Explained: Addison-Wesley, 190 pp., pp. 249-273, 2002.
2000. [9] S. Sahay, "Global software alliances:
[3] G. Borchers, "The Software the challenge of ‘standardization’,"
Engineering Impacts of Cultural Scandinavian Journal of Information
Factors on Multi-cultural Software Systems, vol. 15,, pp. 3-21, 2003.
Development Teams," presented at [10] G. Walsham, "Knowledge
25th International Conference on Management: The Benefits and
Software Engineering (ICSE'03), Limitations of Computer Systems,"
2003. European Management Journal, vol.
[4] T. Dingsøyr and R. Conradi, "A 19, num. 6, pp. 599-608, 2001.
Survey of Case Studies of the Use of
Knowledge Management in Software
Engineering," International Journal of
Software Engineering and Knowledge
Engineering, vol. 12, num. 4, pp. 391
– 414, 2002.
[5] J. Feller and B. Fitzgerald,
Understanding Open Source Software

You might also like