"Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects" (Sulayman K. Sowe, Rishab A. Ghosh and Luc Soete)
Empirical research aimed at understanding how individuals interact and
share their knowledge in a distributed software development environment has
traditionally been very difficult because the source of knowledge, the code, has
been a guarded secret and software developers and users were seldom in contact,
thus making it difficult to study, in situ, all the individuals involved in the software
development process. Free/Open Source Software (F/OSS) projects presents
renewed opportunities, as well as challenges, in understanding collaboration and
knowledge sharing amongst software developers and users in distributed software
development environments. In this paper, we discuss how developers and users
share their knowledge and collaborate in the software development process.
Knowledge sharing metrics, software repositories, and suitable methodologies for
studying knowledge sharing are presented. The paper aims to stimulate discussion,
present our current understanding, and empirical research opportunities and
challenges in knowledge sharing in distributed collective practices - F/OSS
projects.
The Ultimate Guide to Choosing WordPress Pros and Cons
Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects
1. Annals of Knowledge Sharing in Distributed Software
Development Environments: Experience from Open Source
Software Projects
Collaboration and Knowledge Sharing in Software Development Teams (SofTEAM ‘09)
International Workshop on Software ENgineering within Social software Environments (SENSE09)
Fraunhofer Institute Experimental Software Engineering, Kaiserslautern, Germany, March 3, 2009 .
______________________________________________________________________________________
Sulayman K. Sowe, Rishab A. Ghosh, Luc Soete
Collaborative Creativity Group, UNU-MERIT, Maastricht, The Netherlands
Contact: sowe@merit.unu.edu
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
2. Menu.....
Knowledge sharing in distributed software development environments
●
Knowledge sharing: Repositories
●
Knowledge sharing: Metrics
●
Knowledge sharing: Methodologies
●
Nature of knowledge sharing in F/OSS projects
●
Knowledge sharing in F/OSS projects: Some challenges
●
/2/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
3. Knowledge sharing in distributed software development environments
Knowledge sharing:
●
A synergistic process where project participants establish knowledge links (k) by
–
“talking to each other”, and in the process get more than they put in:
kAB= 1 if there is knowledge sharing between actors A and B, and 0 if otherwise.
Benefits:
●
Produce goods (software) and services (support).
–
Develop and refine project strategies.
–
Enable individual and project learning.
–
Helps build trust and confidence among participants.
–
Problems:
●
How to leverage tacit knowledge of
–
community members?
How to coordinate disperse individuals?
–
Providing easy to use tools for light-
–
weight knowledge sharing?
Ways and means of studying team
–
members?
/3/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
4. Knowledge sharing enablers
●
1
2
But we must ask
●
Is there knowledge sharing?
–
Knowledge sharing
Who are the people involved?
–
in the Bazaar
How much knowledge sharing are team members?
–
/4/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
5. Knowledge sharing repositories
Source code management (SCM) systems-CVS/SVN
●
Who committed, changed, commented, modified what aspect of the code. Easy to revert to
–
earlier knowledge construct.
Small number of people sharing knowledge regarding development process
–
Knowledge sharing is intense, trust and confidence is high and
●
technology is not a barrier.
Bug databases/tracking systems (BTS)
●
Large number of people sharing knowledge on software quality assurance issues.
–
Who submitted, fixed, closed, commented on, assigned to which bug
–
Discussion on project milestone, software release cycle, etc.
–
Mailing lists
●
Largest number of people sharing knowledge/experience/expertise.
–
Specialized 'rooms'; developers, users, localization, ports, documentation, etc.
–
Other knowledge sharing repositories
●
IRC, IM, Wikis, Trac, documented off-line developers sprints
–
/5/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
6. Knowledge sharing metrics
Experience from the sqo-oss and Flossmetrics projects
Shows, in addition to product and process metrics,
●
Composite community metrics are needed to understand the dynamics of
–
F/OSS development teams.
Source code - CVS/SVN
●
Count developers who made commits to the same module/branch of the code; Count
–
developers who commented on the code; Count cross-repository participation,
etc.
Bug tracking systems:
●
Count open critical bugs at time_x; Count critical bugs fixed at time_x; Average time
–
to fix N bugs; Knowledge link between bug reporters and fixers, etc.
Mailing lists:
●
Count unique subscribers; Count messages per list per time_x; Average thread depth;
–
x_members in more than 1 list (knowledge brokerage)
Total number of emails posted to a list (nposts)
–
Total number of replies made to questions posted to the lists (nreplies)
–
/6/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
7. Methodologies for studying Knowledge sharing
Characteristics of the data:
Debian developer and users mailing lists. 3735 developers
with 29685 posts and 128933 replies. 5970 users with
193276 posts and 165380 replies.
Mailing lists + SVN from Flossmetrics database on 14
projects.
Flossmetrice data, 830 projects with BTS and 284 SVN
dumps
/7/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
8. Nature of knowledge sharing in F/OSS projects
1): Knowledge sharing is skewed: Small number of
people (core) form knowledge cliques.
2): Knowledge brokerage.
3): The power-law nature of knowledge sharing.
4): Correlation between knowledge sharing activities.
Developer List User List
Test Variable nposts nreplies nposts nreplies
1000 ,475* 1000 ,550*
Kandella’s taub nposts Corr. Coef.
,475* 1000 ,550* 1000
nreplies Corr. Coef.
Spearmans rho nposts Corr. Coef. 1000 ,608* 1000 ,699*
nreplies Corr. Coef. ,608* 1000 ,699* 1000
/8/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
9. Nature of knowledge sharing in F/OSS projects..cont.
5): Knowledge sharing in more than 1 repository:
Developers tend to commit more to svn than post to mailing lists. But results are
–
inconclusive!
Source: Flossmetrics database( ref. WOPDaSD08); 468 developers made 96749
commits, 61258 posts.
/9/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe
10. Knowledge sharing in F/OSS projects...some research challenges
How to deal with large quantity of data?
●
Howe to study software development teams from more than 1 view point – using data
●
from different repositories?
How to link data points from different repositories?
●
How to ensure anonymity in the data (eg. Emails)?
●
Are team members really interested to 'see' and know what their colleagues are
●
doing?
Is ontology based folksonomics the right way to go to provide collaborative platforms?
●
Experience from http://www.osor.eu/
Thanks a lot for your attention
Questions & Comments
/10/
Annals of Knowledge Sharing in Distributed Software Development Environments:
Experience from Open Source Software Projects By SKSowe