1 James Herbsleb Carnegie Mellon University [email protected] jdh/ The Architecture of Coordination The...

30
1 James Herbsleb Carnegie Mellon University [email protected] http://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

Transcript of 1 James Herbsleb Carnegie Mellon University [email protected] jdh/ The Architecture of Coordination The...

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.

5

Conway’s LawComponents

Software

Teams

Organization

Homomorphism

6

Designing Coordination ProblemsComponents

Software

Teams

Organization

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

21

Example Domain: Field Robotics

22

Example Network: Field Robotics

23

Coding Method• Meeting segments

Avionics Optics Software

24

Coding Method• Meeting segments• Divide into decision discussions

Avionics Optics Software

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

26

Example Network: Field Robotics

27

Hardware Discussions

Newman Modularity: .39

28

Software Discussions

Newman Modularity: .03

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