1 James Herbsleb Carnegie Mellon University The Architecture of Coordination The author gratefully acknowledge.

Slides:



Advertisements
Similar presentations
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Advertisements

© 2011 Carnegie Mellon University System of Systems V&V John B. Goodenough October 19, 2011.
Software Architecture Prof.Dr.ir. F. Gielen
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Metrics for Process and Projects
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
Talking About Concerns... James D. Herbsleb School of Computer Science Carnegie Mellon University.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Software Configuration Management
27 September 1999 Crisis Management William L. Scherlis Carnegie Mellon University School of Computer Science.
Chapter 3: The Project Management Process Groups
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Dagstuhl, February 16, 2009 Layers in Grids Uwe Schwiegelshohn 17. Februar 2009 Layers in Grids.
ITIL: Why Your IT Organization Should Care Service Support
Software Architecture in Practice (3rd Ed) Introduction
What is Business Analysis Planning & Monitoring?
Abstract Load balancing in the cloud computing environment has an important impact on the performance. Good load balancing makes cloud computing more.
A Research Agenda for Accelerating Adoption of Emerging Technologies in Complex Edge-to-Enterprise Systems Jay Ramanathan Rajiv Ramnath Co-Directors,
Team Launch Introduction. Real projects are large and complex, and most software is created by teams Merely throwing people together does not result in.
Technical Coordination in Open Source Software Development James D. Herbsleb School of Computer Science Carnegie Mellon University
CompSci 230 Software Design and Construction
Does Distributed Development Affect Software Quality???? An Empirical Case Study of Windows Vista Christian Bird, Premkumar Devanbu, Harald Gall, Brendan.
Reliability Andy Jensen Sandy Cabadas.  Understanding Reliability and its issues can help one solve them in relatable areas of computing Thesis.
DATABASE UTILITIES. D ATABASE S YSTEM U TILITIES In addition to possessing the software modules most DBMSs have database utilities that help the DBA in.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Presented By : Abirami Poonkundran.  This paper is a case study on the impact of ◦ Syntactic Dependencies, ◦ Logical Dependencies and ◦ Work Dependencies.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Performance Concepts Mark A. Magumba. Introduction Research done on 1058 correspondents in 2006 found that 75% OF them would not return to a website that.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
© Copyright 2011 John Wiley & Sons, Inc.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Computing Ontology Part II. So far, We have seen the history of the ACM computing classification system – What have you observed? – What topics from CS2013.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
Using Social Network Analysis Methods for the Prediction of Faulty Components Gholamreza Safi.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Principles of Software Engineering: Why Study Software Engineering? COSI 120b, Spring 2005.
State of Georgia Release Management Training
Vertical Interaction in Open Software Engineering Communities Patrick Wagstrom Ph.D. Thesis Defense March 9, 2009 Committee: James Herbsleb Kathleen Carley.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
INTRODUCTION Mehmet Sait Andaç Web: Office: 431.
James Howison What should scientific software learn from “the open source way”? CC Credit: XSEDE Communities Symposium.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
Open source development model and methodologies.
CS 577b: Software Engineering II
Why Open Source Works Jim Herbsleb School of Computer Science
Software Configuration Management
Software Configuration Management
Software Configuration Management
Planning Phase: Project Control and Deliverables
Maintaining software solutions
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
ITIL: Why Your IT Organization Should Care Service Support
ITIL: Why Your IT Organization Should Care Service Support
Rest of Project Management
Introduction To software engineering
CS385T Software Engineering Dr.Doaa Sami
ITIL: Why Your IT Organization Should Care Service Support
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

1 James Herbsleb Carnegie Mellon University The Architecture of Coordination The author gratefully acknowledge support by the National Science Foundation under Grants IIS , IIS , and IGERT

2 Architectures and Organizations  Level of an industry − E.g., modular clusters  Level of an organization − E.g., matching hypothesis  Level of a practicing architect, manager, or engineer − Architectural decisions define coordination problems − Understanding and managing impact of decisions

3 Today...  How can you measure the match of an organization with the structure of the software it is producing?  Coordination theory about the “modularity mismatches” – the failures or limits of modularity

4 Product Structure: Conway’s Law “Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization's communication structure.” M.E. Conway, “How Do Committees Invent?” Datamation, Vol. 14, No. 4, Apr. 1968, pp. 28–31.

5 Conway’s Law Components Software Teams Organization Homomorphism

6 Designing Coordination Problems Components Software Teams Organization

7 Designing Coordination Problems Components Software Teams Organization ? What kind of coordination is required?

8 Measuring Coordination Requirements (C R ) XX = Task Assignments Task Dependencies (A)(D)(A T ) Coordination Requirements (C R ) a 11 … a 1k a n1 … a nk d 11 … d 1k d k1 … d kk a 11 … a 1n a k1 … a kn cr 11 … cr 1n cr n1 … cr nn Socio-Technical Congruence and Productivity Concept

9 Coordination in a Distributed Project Software firm, 1 product, 114 developers 8 teams, 3 locations, all in US Product separated into components Each component assigned to 1 team Cataldo, M., Wagstrom, P., Herbsleb, J.D., Carley, K. (2006). Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In Proceedings, ACM Conference on Computer-Supported Cooperative Work, Banff Canada, pp

10 A Word About Tools and Data Use archival data from large software development project Modification request (MR) system –Users, testers, developers request changes –Bug fixes, new functionality Version control system –Maintains all changes to all files –Some set of changes correspond to each MR –Has data about who made change when Communication data –IRC chat –Discussions within MR system

11 Measuring Coordination Requirements (C R ) XX = Task Assignments Task Dependencies (A)(D)(A T ) Coordination Requirements (C R ) a 11 … a 1k a n1 … a nk d 11 … d 1k d k1 … d kk a 11 … a 1n a k1 … a kn cr 11 … cr 1n cr n1 … cr nn Socio-Technical Congruence and Productivity Files changed together Developer modified files Transpose of developer modified files Who needs to coordinate with whom Concept Data

12 Volatility in Coordination Requirements Change in coordination group Members of other teams Proportion Week

13 Measuring Congruence 13 Socio-Technical Congruence and Productivity Diff (C R, C A ) = card { diff ij | cr ij > 0 & ca ij > 0 } Congruence (C R, C A ) = Diff (C R, C A ) / |C R | Coordination Requirements (C R ) Actual Coordination (C A ) cr 11 … cr 1n cr n1 … cr nn ca 11 … ca 1n ca n1 … ca nn Team structure Geographic location Use of chat On-line discussion

14 Predicting Resolution Time Table 2: Results from OLS Regression of Effects on Task Performance ( + p < 0.10, * p < 0.05, ** p < 0.01). Model IModel IIModel IIIModel IV (Intercept) ** ** * * Dependency * * * * Priority * * * * Re-assignment * * * * Customer MR Release * * * * Change Size (log) * * * * Team Load * * * * Programming Experience * * * * Tenure * * * * Component Experience (log) * * * Structural Congruence * * Geographical Congruence * * MR Congruence * * IRC Congruence * -- Interaction: ReleaseX Structural Congruence Interaction: ReleaseXGeographical Congruence Interaction: Release X MR Congruence Interaction: Release X IRC Congruence * -- N Adjusted R (* p < 0.05, ** p < 0.01)

15 Effects of Congruence Time to complete a work item is reduced by each of the types of congruence –Team structure congruence –Geographic location congruence –Chat congruence –On-line discussion congruence

16 Average Level of Congruence for Top 18 Contributors

17 Average Level of Congruence for the Other 94 Developers

18 The Story So Far... Coordination requirements are highly volatile. Congruent coordination activities are associated with performing the work faster. The top developers behave much more congruently than the rest. Have replicated congruence finding on GNOME projects Have experimented with many different ways of computing dependencies –Logical dependencies the most predictive by far

19 Theory Build on modularity/architecture literature –Product structure and task structure Build on network analysis –Network attributes matter –Relations among people, decisions, components Methodology: build on idea of logical dependencies

20 Coordination: Five Propositions P1: Design progresses by making decisions. P2: Decisions are linked by constraints in a potentially large and complex network. –The “decision network” P3: The need for coordination among individuals arises from –Properties of the decision network –Assignment of decisions to people P4: Effective coordination is the result of coordination actions, moderated by coordination capacity. P5: Coordination breakdowns occur when effective coordination is insufficient for coordination needs

21 Example Domain: Field Robotics

22 Example Network: Field Robotics

23 Coding Method Meeting segments AvionicsOpticsSoftware

24 Coding Method Meeting segments Divide into decision discussions AvionicsOpticsSoftware

25 Coding Method Meeting segments Divide into decision discussions Code according to components involved in the decision discussion –Co-occurrence much like logical dependency AvionicsOpticsSoftware Camera Mobility

26 Example Network: Field Robotics

27 Hardware Discussions Newman Modularity:.39

28 Software Discussions Newman Modularity:.03

29 Network Theory of Coordination Coordination Effectiveness Coordination Effectiveness Outcomes Coordination Requirements Coordination Requirements Coordination Actions Coordination Actions Coordination Capacity Coordination Capacity Task Assignment Decision Network Decision Network

30 Challenges Planning –Predicting coordination requirements –Assessing coordination capacity –Choosing optimal coordination actions Coordinating –Monitoring for unexpected mismatches –Organizational tactics, architectural tactics Theorizing –Principles, patterns for network dependencies –Prior theories as special cases