1 / 15

Technical Coordination in Open Source Software Development

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

fonda
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technical Coordination in Open Source Software Development James D. HerbslebSchool of Computer Science Carnegie Mellon University+1 412 268-8933jdh@cs.cmu.edu http://www-2.cs.cmu.edu/~jdh/

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

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

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

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

  6. Functionality Software Design Domain Development Work Software Application Domain

  7. Decisions Development Work Constraints Software Application Domain Functionality Software Design Domain

  8. Decisions people Constraints time Software Application Domain Functionality Software Design Domain

  9. time Software Application Domain Functionality Software Domain people Coordination

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

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

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

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

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

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

More Related