1
James HerbslebCarnegie Mellon University
[email protected]://conway.isri.cmu.edu/~jdh/
The Architecture of Coordination
The author gratefully acknowledge support by the National Science Foundation under Grants IIS-11 0414698, IIS-0534656, and IGERT 9972762
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.
7
Designing Coordination ProblemsComponents
Software
Teams
Organization
?
What kind of coordination is required?
8
Measuring Coordination Requirements (CR)
X X =
TaskAssignments
Task Dependencies
(A) (D) (AT)
CoordinationRequirements
(CR)
a11 … a1k
an1 … ank
d11 … d1k
dk1 … dkk
a11 … a1n
ak1 … akn
cr11 … cr1n
crn1 … crnn
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. 353-362.
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 (CR)
X X =
TaskAssignments
Task Dependencies
(A) (D) (AT)
CoordinationRequirements
(CR)
a11 … a1k
an1 … ank
d11 … d1k
dk1 … dkk
a11 … a1n
ak1 … akn
cr11 … cr1n
crn1 … crnn
Socio-Technical Congruence and Productivity
Files changedtogether
Developermodified files
Transpose ofdeveloper
modified files
Who needs tocoordinate with
whom
Concept
Data
12
Volatility in Coordination Requirements
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
Week
Per
cent
age
Change in Coordination Req. Out-Group Coordordination Req.Change in coordination group Members of other teams
Pro
port
ion
Week
13
Measuring Congruence
13
Socio-Technical Congruence and Productivity
Diff (CR, CA) = card { diffij | crij > 0 & caij > 0 }
Congruence (CR, CA) = Diff (CR, CA) / |CR|
CoordinationRequirements
(CR)
ActualCoordination
(CA)
cr11 … cr1n
crn1 … crnn
ca11 … ca1n
can1 … cann
• Team structure• Geographic location• Use of chat• On-line discussion
14
Predicting Resolution TimeTable 2: Results from OLS Regression of Effects on Task Performance (+ p < 0.10, * p < 0.05, ** p < 0.01).
Model I Model II Model III Model IV(Intercept) 2.987** 3.631** 1.572* 1.751*
Dependency 0.897* 0.653* 0.784* 0.712*
Priority -0.741* -0.681* -0.702* -0.712*
Re-assignment 0.423* 0.487* 0.304* 0.324*
Customer MR -0.730 -0.821 -0.932 -0.903
Release -0.154* -0.137* -0.109* -0.098*
Change Size (log) 1.542* 1.591* 1.428* 1.692*
Team Load 0.307* 0.317* 0.356* 0.374*
Programming Experience -0.062* -0.162* -0.117* -0.103*
Tenure -0.269* -0.265* -0.239* -0.248*
Component Experience (log) -0.143* -0.143* -0.195* -0.213*
Structural Congruence -0.526* -0.483*
Geographical Congruence -0.317* -0.312*
MR Congruence -0.189* -0.129*
IRC Congruence -0.196* --
Interaction: ReleaseX Structural Congruence 0.007 0.009
Interaction:ReleaseXGeographical Congruence -0.013 -0.017
Interaction: Release X MR Congruence -0.009+ -0.011+
Interaction: Release X IRC Congruence -0.017* --
N 809 809 1983 1983
Adjusted R2 0.787 0.872 0.756 0.854
(* p < 0.05, ** p < 0.01)
16
Average Level of Congruence for Top 18 Contributors
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
Release 1 Release 2 Release 3 Release 4
Con
grue
nce
(avg
.)
IRC MR Structure Geography
17
Average Level of Congruence for the Other 94 Developers
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
Release 1 Release 2 Release 3 Release 4
Con
grue
nce
(avg
.)
IRC MR Structure Geography
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
25
Coding Method• Meeting segments• Divide into decision discussions• Code according to components involved
in the decision discussion– Co-occurrence much like logical dependency
Avionics Optics Software
Camera Mobility
29
Network Theory of Coordination
CoordinationEffectiveness
CoordinationEffectiveness OutcomesOutcomes
CoordinationRequirements
CoordinationRequirements
CoordinationActions
CoordinationActions
CoordinationCapacity
CoordinationCapacity
Task Assignment
Task Assignment
DecisionNetwork
DecisionNetwork
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