Technical coordination in open source software development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Technical Coordination in Open Source Software Development PowerPoint PPT Presentation


  • 115 Views
  • Uploaded on
  • Presentation posted in: General

Technical Coordination in Open Source Software Development. James D. Herbsleb School of Computer Science Carnegie Mellon University +1 412 268-8933 [email protected] http://www-2.cs.cmu.edu/~jdh/. Meanings of “Open Source”. Legal and pragmatic arrangements to ensure availability of source code

Download Presentation

Technical Coordination in Open Source Software Development

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Technical coordination in open source software development

Technical Coordination in Open Source Software Development

James D. HerbslebSchool of Computer Science

Carnegie Mellon University+1 412 [email protected]

http://www-2.cs.cmu.edu/~jdh/


Meanings of open source

Meanings of “Open Source”

  • Legal and pragmatic arrangements to ensure availability of source code

  • Development process

    • Open community

    • Widely dispersed contributors

    • Emulated in many other contexts

    • Seems relatively free of coordination problems


Multi site delay

Modification Request (MR) interval

Last Modification - First Modification

All changes July 1997 to July,1999

multi site

single site

18.1

6.9

Network Element B

Multi-site Delay

Work

Days

30

20

12.7

10

4.9

0

Network Element A


Coordination

Coordination

  • “Managing dependencies between activities” (Malone & Crowston, 1994)

  • Are many kinds of dependencies, we are focusing on depedencies among engineering decisions, e.g.,

    • Selecting or designing algorithm

    • Selecting or designing data structure

    • Selecting object model

    • Writing the termination condition for a loop

    • Etc., etc.

  • Coordination issues are pervasive in software engineering


Assumptions

Assumptions

  • Decisions are a reasonable unit of “progress” in software project

  • Decision-making consumes resources (calendar time and effort)

  • Decisions tend to be highly mutually constraining

  • The “coordination problem” is avoiding constraint violation

  • Constraint violation produces defects


Technical coordination in open source software development

Functionality

Software

Design

Domain

Development

Work

Software

Application

Domain


Technical coordination in open source software development

Decisions

Development

Work

Constraints

Software

Application

Domain

Functionality

Software

Design

Domain


Technical coordination in open source software development

Decisions

people

Constraints

time

Software

Application

Domain

Functionality

Software

Design

Domain


Technical coordination in open source software development

time

Software

Application

Domain

Functionality

Software

Domain

people

Coordination


Macro theory of coordination

Automatic constraint enforcement

Number of

people involved

in decision

Effectiveness of

communication

among

decision-makers

Defects (when violations are not discovered and fixed)

+

+

Increased

cycle time

Density of interdependence

among decisions

+

+

Visibility of constraints

among decisions

Rework (when violations are discovered and fixed)

+

Reduced

productivity

+

“Macro” Theory of Coordination

Coordination breakdowns: Violations of

mutual constraints

among engineering

decisions


Coordination and open source

Automatic constraint enforcement

Number of

people involved

in decision

Effectiveness of

communication

among

decision-makers

Defects (when violations are not discovered and fixed)

+

+

Increased

cycle time

Density of interdependence

among decisions

+

+

Visibility of constraints

among decisions

Rework (when violations are discovered and fixed)

+

Reduced

productivity

+

Coordination and Open Source

Coordination breakdowns: Violations of

mutual constraints

among engineering

decisions

  • Development work done by users

    • Eliminates enormous communication problem

    • Constraints imposed by implicit requirements are apparent

    • Simpler, smaller product


Coordination and open source1

Automatic constraint enforcement

Number of

people involved

in decision

Effectiveness of

communication

among

decision-makers

Defects (when violations are not discovered and fixed)

+

+

Increased

cycle time

Density of interdependence

among decisions

+

+

Visibility of constraints

among decisions

Rework (when violations are discovered and fixed)

+

Reduced

productivity

+

Coordination and Open Source

Coordination breakdowns: Violations of

mutual constraints

among engineering

decisions

  • Management structure

    • Minimal -- core group with commit privileges

    • Decision-making by those with demonstrated technical merit

    • Participation mirrors dependencies


Coordination and open source2

Automatic constraint enforcement

Number of

people involved

in decision

Effectiveness of

communication

among

decision-makers

Defects (when violations are not discovered and fixed)

+

+

Increased

cycle time

Density of interdependence

among decisions

+

+

Visibility of constraints

among decisions

Rework (when violations are discovered and fixed)

+

Reduced

productivity

+

Coordination and Open Source

Coordination breakdowns: Violations of

mutual constraints

among engineering

decisions

  • Open, archived technical discussions

    • Draws on very large pool of potential experts

    • Newbies can catch up with minimal distractions to existing staff

    • Preserves design rationale


Technical coordination modeled as csp

Technical Coordination Modeled as CSP

  • Constraint satisfaction problem

    • a project is a large set of mutually-constraining decisions, which are represented as

    • n variables x1, x2, . . . , xnwhose

    • values are taken from finite, discrete domains D1, D2, . . . , Dn

    • constraints pk(xk1, xk2, . . . , xkn) are predicates defined on

    • the Cartesian product Dk1 x DK2 x . . . x Dkj.

  • Solving CSP is equivalent to finding an assignment for all variables that satisfy all constraints

Formulation of CSP taken from Yokoo and Ishida, Search Algorithms for Agents, in G. Weiss (Ed.) Multiagent Systems, Cambridge, MA: MIT Press, 1999.


Modeling coordination micro theory

Modeling Coordination -- “Micro” Theory

  • Create models to explore influence of

    • Ways of assigning decisions to agents

    • Communication practices and tools

    • Properties of constraint network, e.g.,

      • Average distance between nodes

      • Clustering

  • Open source process is a region in this “model space”

  • Empirically test hypotheses


  • Login