the architecture of coordination

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

Upload: renate

Post on 15-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

The Architecture of Coordination. James Herbsleb Carnegie Mellon University [email protected] http:// conway.isri.cmu.edu/~jdh /. The author gratefully acknowledge support by the National Science Foundation under Grants IIS-11 0414698, IIS-0534656, and IGERT 9972762. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Architecture of Coordination

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

Page 2: The Architecture of Coordination

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

Page 3: The Architecture of Coordination

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

Page 4: The Architecture of Coordination

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.

Page 5: The Architecture of Coordination

5

Conway’s LawComponents

Software

Teams

OrganizationHomomorphism

Page 6: The Architecture of Coordination

6

Designing Coordination ProblemsComponents

Software

Teams

Organization

Page 7: The Architecture of Coordination

7

Designing Coordination ProblemsComponents

Software

Teams

Organization

?

What kind of coordination is required?

Page 8: The Architecture of Coordination

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

Page 9: The Architecture of Coordination

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.

Page 10: The Architecture of Coordination

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

Page 11: The Architecture of Coordination

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

Page 12: The Architecture of Coordination

12

Volatility in Coordination Requirements

0.00

0.10

0.20

0.30

0.40

0.50

0.60

0.70

Week

Perce

ntag

e

Change in Coordination Req. Out-Group Coordordination Req.Change in coordination group Members of other teams

Pro

porti

on

Week

Page 13: The Architecture of Coordination

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

Page 14: The Architecture of Coordination

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)

Page 15: The Architecture of Coordination

16

Average Level of Congruence for Top 18 Contributors

0.000.100.200.300.400.500.600.700.800.90

Release 1 Release 2 Release 3 Release 4

Con

grue

nce

(avg

.)

IRC MR Structure Geography

Page 16: The Architecture of Coordination

17

Average Level of Congruence for the Other 94 Developers

0.000.100.200.300.400.500.600.700.800.90

Release 1 Release 2 Release 3 Release 4

Con

grue

nce

(avg

.)

IRC MR Structure Geography

Page 17: The Architecture of Coordination

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

Page 18: The Architecture of Coordination

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

Page 19: The Architecture of Coordination

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

Page 20: The Architecture of Coordination

21

Example Domain: Field Robotics

Page 21: The Architecture of Coordination

22

Example Network: Field Robotics

Page 22: The Architecture of Coordination

23

Coding Method• Meeting segments

Avionics Optics Software

Page 23: The Architecture of Coordination

24

Coding Method• Meeting segments• Divide into decision discussions

Avionics Optics Software

Page 24: The Architecture of Coordination

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

Page 25: The Architecture of Coordination

26

Example Network: Field Robotics

Page 26: The Architecture of Coordination

27

Hardware Discussions

Newman Modularity: .39

Page 27: The Architecture of Coordination

28

Software Discussions

Newman Modularity: .03

Page 28: The Architecture of Coordination

29

Network Theory of Coordination

CoordinationEffectiveness Outcomes

CoordinationRequirements

CoordinationActions

CoordinationCapacity

Task Assignment

DecisionNetwork

Page 29: The Architecture of Coordination

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

Page 30: The Architecture of Coordination