annals of knowledge sharing in distributed software development environments: experience from open...

10
Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe 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: [email protected]

Upload: hans-joerg-happel

Post on 19-Jan-2015

1.020 views

Category:

Technology


1 download

DESCRIPTION

"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 andshare their knowledge in a distributed software development environment hastraditionally been very difficult because the source of knowledge, the code, hasbeen 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 softwaredevelopment process. Free/Open Source Software (F/OSS) projects presentsrenewed opportunities, as well as challenges, in understanding collaboration andknowledge sharing amongst software developers and users in distributed softwaredevelopment environments. In this paper, we discuss how developers and usersshare their knowledge and collaborate in the software development process.Knowledge sharing metrics, software repositories, and suitable methodologies forstudying knowledge sharing are presented. The paper aims to stimulate discussion,present our current understanding, and empirical research opportunities andchallenges in knowledge sharing in distributed collective practices - F/OSSprojects.

TRANSCRIPT

Page 1: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

Annals of Knowledge Sharing in Distributed SoftwareDevelopment 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: [email protected]

Page 2: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/2/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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

Page 3: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/3/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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:

kkAB= 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?

Page 4: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/4/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

● Knowledge sharing enablers

● But we must ask– Is there knowledge sharing?– Who are the people involved?– How much knowledge sharing are team members?

1

2

Knowledge sharing in the Bazaar

Page 5: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/5/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

● 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

Knowledge sharing repositories

Page 6: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/6/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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.

Knowledge sharing metrics

● 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)

● 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.

Page 7: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/7/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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

Page 8: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/8/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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 ListTest Variable

1000 ,475* 1000 ,550*,475* 1000 ,550* 10001000 ,608* 1000 ,699*,608* 1000 ,699* 1000

nposts nreplies nposts nrepliesKandella’s taub nposts Corr. Coef.

nreplies Corr. Coef.Spearmans rho nposts Corr. Coef.

nreplies Corr. Coef.

Page 9: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/9/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

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.

Nature of knowledge sharing in F/OSS projects..cont.

Page 10: Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects

/10/Annals of Knowledge Sharing in Distributed Software Development Environments: Experience from Open Source Software Projects By SKSowe

● 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/

Knowledge sharing in F/OSS projects...some research challenges

Thanks a lot for your attentionQuestions & Comments