Technical Coordination in Open Source Software Development James D. Herbsleb School of Computer Science Carnegie Mellon University +1 412 268-8933

Slides:



Advertisements
Similar presentations
Computer-Supported Collaborative Learning (CSCL), Virtual Math Teams (VMT), Group Cognition Gerry Stahl.
Advertisements

13-Optimization Assoc.Prof.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department Gebze Technical.
Constraint Satisfaction Problems Russell and Norvig: Parts of Chapter 5 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
Distributed Constraint Optimization Problems M OHSEN A FSHARCHI.
Adopt Algorithm for Distributed Constraint Optimization
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 4 Instructor: Haifeng YU.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
Load Balancing using Mobile Agent Approach Prepared by: Wong Tsz Yeung,Ah Mole Supervisor : Prof. Michael Lyu 18 December 2000.
Information Resources Management January 23, 2001.
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
CPSC 322, Lecture 18Slide 1 Planning: Heuristics and CSP Planning Computer Science cpsc322, Lecture 18 (Textbook Chpt 8) February, 12, 2010.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
Multi-agent Oriented Constraint Satisfaction Authors: Jiming Liu, Han Jing and Y.Y. Tang Speaker: Lin Xu CSCE 976, May 1st 2002.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Nature’s Algorithms David C. Uhrig Tiffany Sharrard CS 477R – Fall 2007 Dr. George Bebis.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
CPSC 322, Lecture 17Slide 1 Planning: Representation and Forward Search Computer Science cpsc322, Lecture 17 (Textbook Chpt 8.1 (Skip )- 8.2) February,
Using additional information in DisCSPs search Prof. Amnon Meisels and Mr. Oz Lavee Prof. Amnon Meisels and Mr. Oz Lavee Ben Gurion University Israel.
Impact of Problem Centralization on Distributed Constraint Optimization Algorithms John P. Davin and Pragnesh Jay Modi Carnegie Mellon University School.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Lesson 10: IT Project and Program Management. Lesson 10 Objectives  Identify resources for technical data  Identify project management fundamentals.
Patrick Adam Wagstrom October 2004 Community Building in Open Source Software Ecosystems Patrick Adam Wagstrom Department.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Yiangos Ktorides Cyprus Computer Society Computer Science at the Primary and Secondary Schools of Cyprus.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Does Distributed Development Affect Software Quality???? An Empirical Case Study of Windows Vista Christian Bird, Premkumar Devanbu, Harald Gall, Brendan.
Building “ Problem Solving Engines ” for Combinatorial Optimization Toshi Ibaraki Kwansei Gakuin University (+ M. Yagiura, K. Nonobe and students, Kyoto.
Presented By : Abirami Poonkundran.  This paper is a case study on the impact of ◦ Syntactic Dependencies, ◦ Logical Dependencies and ◦ Work Dependencies.
1 Modularity in Abstract Software Design: A Theory and Applications Yuanfang Cai Dept. of Computer Science University of Virginia Dissertation Proposal.
Constraint Satisfaction Problem:  Used to model constrained combinatorial problems  Important real-world applications: hardware & software verification,
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
1 James Herbsleb Carnegie Mellon University The Architecture of Coordination The author gratefully acknowledge.
1 5.1 Software Engineering Practice  Provide value to the user  KIS—keep it simple!  Maintain the product and project “vision”  What you produce,
ANTs PI Meeting, Nov. 29, 2000W. Zhang, Washington University1 Flexible Methods for Multi-agent distributed resource Allocation by Exploiting Phase Transitions.
Distributed Work. 2 2 Overview Today Review evidence about effects of distributed work on task & social outcomes in teams Try to understand what problems.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
© J. Christopher Beck Lecture 13: Modeling in Constraint Programming.
Supporting Conceptual Design Innovation through Interactive Evolutionary Systems I.C. Parmee Advanced Computation in Design and Decision-making CEMS, University.
Constraint Satisfaction Problems/Programming ZUI 2012/2013.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Distributed Constraint Satisfaction: Foundation of Cooperation in Multi-agent Systems Makoto Yokoo Kyushu University lang.is.kyushu-u.ac.jp/~yokoo/
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 6 Binary CSP.
Distributed Constraint Satisfaction Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Constraint Satisfaction Problems (Chapter 6)
Networked Systems Survivability CERT ® Coordination Center Software Engineering Institute Carnegie Mellon University Pittsburgh, PA © 2002 Carnegie.
Distributed Work. 2 2 Overview Today Review evidence about effects of distributed work on task & social outcomes in teams Try to understand what problems.
Communities and Portals Lan Zhang School of Information University of Texas at Austin.
1 Requirements Engineering for Agile Methods Lecture # 41.
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
Why Open Source Works Jim Herbsleb School of Computer Science
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Introduction to Expert Systems Bai Xiao
ME 521 Computer Aided Design 15-Optimization
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Simon: Modeling and Analysis of Design Space Structures
CSE (c) S. Tanimoto, 2001 Search-Introduction
TWO CASE STUDIES OF OPEN SOURCE SOFTWARE DEVELOPMENT: APACHE AND MOZILLA HAKAN TERZIOGLU 2/24/2019 EEL 5881.
Constraint satisfaction problems
Presented By: Darlene Banta
Constraint satisfaction problems
Multidisciplinary Optimization
Presentation transcript:

Technical Coordination in Open Source Software Development James D. Herbsleb School of Computer Science Carnegie Mellon University

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 Multi-site Delay multi sitesingle site Network Element A Network Element B Work Days Last Modification - First Modification All changes July 1997 to July,1999 Modification Request (MR) interval

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

Application Domain Software Design Domain Functionality Development Work

Application Domain Software Design Domain Software Functionality Decisions Constraints Development Work

Application Domain Software Design Domain Software Functionality time people Decisions Constraints

Application Domain Software Domain Software Functionality time people Coordination

10 Number of people involved in decision + Density of interdependence among decisions + Automatic constraint enforcement Effectiveness of communication among decision-makers Visibility of constraints among decisions Reduced productivity + Increased cycle time + Coordination breakdowns: Violations of mutual constraints among engineering decisions Defects (when violations are not discovered and fixed) + + Rework (when violations are discovered and fixed) “Macro” Theory of Coordination

11 Number of people involved in decision + Density of interdependence among decisions + Automatic constraint enforcement Effectiveness of communication among decision-makers Visibility of constraints among decisions Reduced productivity + Increased cycle time + Coordination breakdowns: Violations of mutual constraints among engineering decisions Defects (when violations are not discovered and fixed) + + Rework (when violations are discovered and fixed) Coordination and Open Source  Development work done by users − Eliminates enormous communication problem − Constraints imposed by implicit requirements are apparent − Simpler, smaller product

12 Number of people involved in decision + Density of interdependence among decisions + Automatic constraint enforcement Effectiveness of communication among decision-makers Visibility of constraints among decisions Reduced productivity + Increased cycle time + Coordination breakdowns: Violations of mutual constraints among engineering decisions Defects (when violations are not discovered and fixed) + + Rework (when violations are discovered and fixed) Coordination and Open Source  Management structure − Minimal -- core group with commit privileges − Decision-making by those with demonstrated technical merit − Participation mirrors dependencies

13 Number of people involved in decision + Density of interdependence among decisions + Automatic constraint enforcement Effectiveness of communication among decision-makers Visibility of constraints among decisions Reduced productivity + Increased cycle time + Coordination breakdowns: Violations of mutual constraints among engineering decisions Defects (when violations are not discovered and fixed) + + Rework (when violations are discovered and fixed) Coordination and Open Source  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 x 1, x 2,..., x n whose − values are taken from finite, discrete domains D 1, D 2,..., D n − constraints p k (x k1, x k2,..., x kn ) are predicates defined on − the Cartesian product D k1 x D K2 x... x D kj.  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