Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs...
-
Upload
milo-chandler -
Category
Documents
-
view
220 -
download
0
Transcript of Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs...
Globally-Distributed Software Development:
The Bell Labs Collaboratory
James HerbslebBell Labs
Lucent Technologies2701 Lucent Lane
Lisle, IL 60532 USA
+1 630 713 [email protected]
2
Collaboratory Research Team
• University of Michigan– Tom Finholt– Mark Handel
• Carnegie Mellon University– Alberto Espinosa
• Bell Labs Research– David Atkins– David Boyer– James Herbsleb– Stacie Hibino– Audris Mockus– Dewayne Perry– Larry Votta– Graham Wills
3
Nuremberg
NapervilleSwindon
MalmesburyChippenham
Bangalore
Dublin
Paris
HilversumHuizen
Brussels
Columbus
Collaboratory Project
Tools
Rear View Mirror
CalendarBot
Experience Browser
TeamPortal
Models ofDevelopmentHow to distribute work
across global sites.
BestPractices
Design
Code
Test
Planning Travel xxxxxxxxxxxxxxxxx xxxxxx
Establishing Liaisons xxxxxx xxxxx xxxxxxxxxxxxxx xxxxx xxxx xxxxxxxxxxxxxxxx
Building Trust xxxxxxx xxxxx xxxxxxxxxx
Communication Etiquette xxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxx
Preventing Delay xxxxxxxx xxx xxxxxx xxxxxxxxxxx xxxxxx xxxxxxx
Using Commercial Tools xxxxxxxxx xxxxxxx xxxx xxxxxxx xxxxxx xxxxxxResearch
TeamResearch
Team
Empirical Studies
New ProductsGlobal Development
Solutions
4
Multi-site Delay
0
10
20
30multi site single site
12.7
4.9
18.1
6.9
Network Element A Network Element B
WorkDays
Last Modification - First ModificationAll changes July 1997 to July,1999
Modification Request (MR) interval
H1 Multi-site work just takes longer
Multi-site
Size
Number of People
Work Interval
Diffusion
H2 Multi-site MRs are larger, take longer
H3 Multi-site MRs are more diffuse, take longer
H4 Multi-site MRs involve more people, take longer
6
Modeling Interval
Variable Measure used in modelsMR interval Log of number of days, first
delta to last deltaNumber of people Log of number of peopleDiffusion Log of number of modules
touched by changeSize Log of number of deltaTime DateSeverity Is high severity Fix Is fixMulti-site Set of sites of all actors has
more than one element
Graphical model of work interval for Network Element A
Graphical model of work interval for Network Element A
148.90.25
Multi-site
Size
199.70.27
154.10.24
35.90.12
Number of People
Work Interval
Diffusion
H1 Multi-site work just takes longer
H2 Multi-site MRs are larger, take longer
H3 Multi-site MRs are more diffuse, take longer
H4 Multi-site MRs involve more people, take longer
H1 Multi-site work just takes longer
H2 Multi-site MRs are larger, take longer
H3 Multi-site MRs are more diffuse, take longer
Graphical model of work interval for Network Element A (left) and B (right)
148.90.25
Multi-site
Size
199.70.27
154.10.24
35.90.12
Number of People
Work Interval
Diffusion
96.2-0.13
2009.70.55
566.80.25
701.70.34
Number of People
Work Interval
Diffusion
Multi-site
Size148.9
0.25
Multi-site
Size
199.70.27
154.10.24
35.90.12
Number of People
Work Interval
Diffusion
Graphical model of work interval for Network Element A (left) and B (right)
11
MR IntervalDistance Requires More People?
• MR is assigned to “owner” who recruits others
• Multi-site requires more people?– Who is the right expert?– Can MR owner get “right person” to do the
work?– “Partial” expertise, several people– Correct errors
12
Nuremberg
NapervilleSwindon
MalmesburyChippenham
Bangalore
Dublin
Paris
HilversumHuizen
Brussels
Columbus
Collaboratory Project
Tools
Rear View Mirror
CalendarBot
Experience Browser
TeamPortal
Models ofDevelopmentHow to distribute work
across global sites.
BestPractices
Design
Code
Test
Planning Travel xxxxxxxxxxxxxxxxx xxxxxx
Establishing Liaisons xxxxxx xxxxx xxxxxxxxxxxxxx xxxxx xxxx xxxxxxxxxxxxxxxx
Building Trust xxxxxxx xxxxx xxxxxxxxxx
Communication Etiquette xxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxx
Preventing Delay xxxxxxxx xxx xxxxxx xxxxxxxxxxx xxxxxx xxxxxxx
Using Commercial Tools xxxxxxxxx xxxxxxx xxxx xxxxxxx xxxxxx xxxxxxResearch
TeamResearch
Team
Empirical Studies
New ProductsGlobal Development
Solutions
13
How to Identify Experts?
• Use change history– Developers use spontaneously– Previous tool that used several sources of data to
identify expert (McDonald & Ackerman)
• Requirements– Identify experts quickly and easily– Do not overburden a few individuals– Allow the user to find alternatives– No descriptions of expertise– No additional data collection, e.g., social networks
14
Quantitative Basis for Expertise
• Why quantify expertise?– Compare potential experts– Identify distributions of expertise, i.e., broad, as
well as narrowly specialized
• Experience atoms (EAs)– Smallest meaningful unit of experience – delta– Has several dimensions, e.g.,
• part of the product • tools and technology used• Person, team, organization that made change
15
Experience Browser
16
Nuremberg
NapervilleSwindon
MalmesburyChippenham
Bangalore
Dublin
Paris
HilversumHuizen
Brussels
Columbus
Collaboratory Project
Tools
Rear View Mirror
CalendarBot
Experience Browser
TeamPortal
Models ofDevelopmentHow to distribute work
across global sites.
BestPractices
Design
Code
Test
Planning Travel xxxxxxxxxxxxxxxxx xxxxxx
Establishing Liaisons xxxxxx xxxxx xxxxxxxxxxxxxx xxxxx xxxx xxxxxxxxxxxxxxxx
Building Trust xxxxxxx xxxxx xxxxxxxxxx
Communication Etiquette xxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxx
Preventing Delay xxxxxxxx xxx xxxxxx xxxxxxxxxxx xxxxxx xxxxxxx
Using Commercial Tools xxxxxxxxx xxxxxxx xxxx xxxxxxx xxxxxx xxxxxxResearch
TeamResearch
Team
Empirical Studies
New ProductsGlobal Development
Solutions
17
Extended Bridge Use
• Observed open bridge for flexible collaboration
• Example: switch in Mexico City has a problem– kept bridge open for 5 weeks– composition of team very dynamic– greatly simplified communication– seemed to speed problem resolution
18
Observation to Speculation
• Do users’ practices mirror circuit technology?
• Flexible, “usually-open” voice channels– billing could be based on bandwidth used– conversations represented visually– virtual warroom
• With voice over IP, “talking over distance” and “call” will not be synonymous– little need for “meetings,” “calls” and similar
discrete events
19
OpenChannelFrom Speculation to Service Design
Shared documents
Monitors (listen only)
OpenChannelsTradeNet
Audris Mockus New Jersey
David Atkins Palo Alto
Sue Cummins London
Ron Davis New Jersey
John Spillane Palo Alto
Don Fong Chicago
Anjum Khan Palo Alto
Jim Hill London
ParticipateParticipate MonitorMonitor ReplayReplay
TradeNet estimationMark Handel Palo Alto
Anjum Khan London
Don Fong Chicago
Ron Davis New Jersey
Jan Goff Palo Alto
ParticipateParticipate MonitorMonitor ReplayReplayExcel TradeNet:proposal1:hdw
ParticipateParticipate MonitorMonitor ReplayReplay
Excel TradeNet:proposal 2
Excel TradeNet:proposal 1
Participants (listen and speak)
Become aparticipant
Change fromparticipate tomonitor
Replay the last fewminutes
We need to finish our preparations for the review!
http://www-spr.research.bell-labs.coCurrent spec.
ConnectIcon
• Antidote for phone tag
• Send presence and contact ability to anyone
ConnectIcon
Hi Jim,
We need to talk about the review tomorrow!
Ann Kelly
To check my availability and get my contact information, please click this link:ConnectIcon from Ann Kelly
26 hours ago
23 hours ago
3 days ago
20 hours ago
ConnectIcon
10 minutes ago
Currently in use
Busy
23
Collaboratory Results
• Substantial use of tools
• Effective practices identified and introduced
• Little or no use of organizational models
• Overall effect difficult to assess quantitatively, given organizational changes
• Qualitative data suggest positive effects
• Insights into communication and coordination
24
Research Directions
• Collaboration technologies– Central role of informal, unscheduled communication– How to create the “virtual 30 meters”
• Conway’s law – software architecture and organizational structure– Conway postulated homomorphism– Understanding relationship is critical for bringing
architecture research into real world– What architectures are feasible for given
organizational structure?– What organizational structures are feasible for a given
architecture?