Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs...

25
Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA +1 630 713 1869 [email protected]

Transcript of Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs...

Page 1: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

Globally-Distributed Software Development:

The Bell Labs Collaboratory

James HerbslebBell Labs

Lucent Technologies2701 Lucent Lane

Lisle, IL 60532 USA

+1 630 713 [email protected]

Page 2: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 3: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 4: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 5: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 6: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 7: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

Graphical model of work interval for Network Element A

Page 8: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 9: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 10: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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)

Page 11: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 12: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 13: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 14: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 15: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

15

Experience Browser

Page 16: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 17: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 18: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 19: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 20: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 21: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 22: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

26 hours ago

23 hours ago

3 days ago

20 hours ago

ConnectIcon

10 minutes ago

Currently in use

Busy

Page 23: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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

Page 24: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.

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?

Page 25: Globally-Distributed Software Development: The Bell Labs Collaboratory James Herbsleb Bell Labs Lucent Technologies 2701 Lucent Lane Lisle, IL 60532 USA.