Research Methods and Theory in Global Software Development

advertisement
The Architecture of
Coordination
James Herbsleb
Carnegie Mellon University
jdh@cs.cmu.edu
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
1
Architectures and Organizations

Level of an industry
−

Level of an organization
−

E.g., modular clusters
E.g., matching hypothesis
Level of a practicing architect, manager,
or engineer
Architectural decisions define coordination
problems
− Understanding and managing impact of decisions
−
2
Today . . .


3
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
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.
4
Conway’s Law
Components
Teams
Homomorphism
Software
5
Organization
Designing Coordination Problems
Components
Software
6
Teams
Organization
Designing Coordination Problems
Teams
Components
?
What kind of
coordination is
required?
Software
7
Organization
Socio-Technical Congruence and Productivity
Measuring Coordination Requirements (CR)
Concept
8
Task
Assignments
Task
Dependencies
(A)
(D)
a11
…
a1k
an1
…
ank
X
Coordination
Requirements
(AT)
d11
…
d1k
dk1
…
dkk
X
(CR)
a11
…
a1n
ak1
…
akn
=
cr11
…
cr1n
crn1
…
crnn
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.
9
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
10
Socio-Technical Congruence and Productivity
Measuring Coordination Requirements (CR)
Concept
Task
Assignments
Task
Dependencies
(A)
(D)
a11
…
a1k
an1
…
ank
Developer
modified files
X
Coordination
Requirements
(AT)
d11
…
d1k
dk1
…
dkk
X
Files changed
together
a11
…
a1n
ak1
…
akn
Transpose of
developer
modified files
Data
11
(CR)
=
cr11
…
cr1n
crn1
…
crnn
Who needs to
coordinate with
whom
Volatility in Coordination Requirements
Change
Req.
ChangeininCoordination
coordination group
Members ofCoordordination
other teams
Out-Group
Req.
0.70
Proportion
Percentage
0.60
0.50
0.40
0.30
0.20
0.10
0.00
Week
Week
12
Socio-Technical Congruence and Productivity
Measuring Congruence
Coordination
Requirements
(CR)
Actual
Coordination
(CA)
cr11
cr1n
…
ca11
ca1n
…
crn1
crnn
…
can1
cann
…
• Team structure
• Geographic location
• Use of chat
• On-line discussion
Diff (CR, CA) = card { diffij | crij > 0 & caij > 0 }
Congruence (CR, CA) = Diff (CR, CA) / |CR|
1
13
Predicting Resolution Time
Table 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
2
Adjusted R
0.787
0.872
0.756
0.854
(* p < 0.05, ** p < 0.01)
14
Average Level of Congruence
for Top 18 Contributors
Congruence (avg.)
IRC
Structure
Geography
0.90
0.80
0.70
0.60
0.50
0.40
0.30
0.20
0.10
0.00
Release 1
16
MR
Release 2
Release 3
Release 4
Average Level of Congruence
for the Other 94 Developers
Congruence (avg.)
IRC
Structure
Geography
0.90
0.80
0.70
0.60
0.50
0.40
0.30
0.20
0.10
0.00
Release 1
17
MR
Release 2
Release 3
Release 4
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
18
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
19
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
20
Example Domain: Field Robotics
21
Example Network: Field Robotics
22
Coding Method
• Meeting segments
Avionics
23
Optics
Software
Coding Method
• Meeting segments
• Divide into decision discussions
Avionics
24
Optics
Software
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
Camera
25
Mobility
Software
Example Network: Field Robotics
26
Hardware Discussions
Newman Modularity: .39
27
Software Discussions
Newman Modularity: .03
28
Network Theory of Coordination
Decision
Network
Task
Assignment
Coordination
Requirements
Coordination
Effectiveness
Coordination
Actions
Coordination
Capacity
29
Outcomes
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
30
Download