THE SKY IS NOT THE LIMIT: Multitasking Across GitHub Projects - - PowerPoint PPT Presentation

the sky is not the limit
SMART_READER_LITE
LIVE PREVIEW

THE SKY IS NOT THE LIMIT: Multitasking Across GitHub Projects - - PowerPoint PPT Presentation

THE SKY IS NOT THE LIMIT: Multitasking Across GitHub Projects Octocat, here and elsewhere, by GitHub https://octodex.github.com Bogdan Vasilescu (@b_vasilescu) Kelly Blincoe (@KellyBlincoe) Qi Xuan Casey Casalnuovo Dana Damian Prem Devanbu


slide-1
SLIDE 1

Octocat, here and elsewhere, by GitHub https://octodex.github.com

Multitasking Across GitHub Projects

THE SKY IS NOT THE LIMIT:

Bogdan Vasilescu (@b_vasilescu) Kelly Blincoe (@KellyBlincoe) Qi Xuan Casey Casalnuovo Dana Damian Prem Devanbu Vladimir Filkov

1247280 1414172

slide-2
SLIDE 2

Multitasking is common

#icsenumber

slide-3
SLIDE 3

EXAMPLE:

Software developers multitask too

GitHub developer (25 Nov 2013 — 18 May 2014)

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

1 3 5 8

slide-4
SLIDE 4

EXAMPLE:

Software developers multitask too

GitHub developer (25 Nov 2013 — 18 May 2014)

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

1 3 5 8

slide-5
SLIDE 5

EXAMPLE:

Software developers multitask too

GitHub developer (25 Nov 2013 — 18 May 2014)

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

1 3 5 8

slide-6
SLIDE 6

EXAMPLE:

Software developers multitask too

GitHub developer (25 Nov 2013 — 18 May 2014)

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

1 3 5 8

slide-7
SLIDE 7

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014)

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-8
SLIDE 8

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014) WHY?

  • Request from other

dev’s / management

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-9
SLIDE 9

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014) WHY?

  • Request from other

dev’s / management

  • Dependencies

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-10
SLIDE 10

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014)

  • Downtime

WHY?

  • Request from other

dev’s / management

  • Dependencies
  • Being “stuck”

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-11
SLIDE 11

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014)

  • Downtime

WHY?

  • Request from other

dev’s / management

  • Dependencies
  • Personal interest
  • Being “stuck”

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-12
SLIDE 12

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014)

  • Downtime

WHY?

  • Request from other

dev’s / management

  • Dependencies
  • Signaling
  • Personal interest
  • Being “stuck”

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

5 8

Software developers multitask too

slide-13
SLIDE 13

PROS CONS

Theory: How does multitasking affect performance?

slide-14
SLIDE 14
  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS CONS

Theory: How does multitasking affect performance?

slide-15
SLIDE 15
  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

slide-16
SLIDE 16
  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS

  • Cognitive switching cost

Depends on interruption duration, complexity, moment

(Altmann and Trafton, 2002) (Borst, Taatgen, van Rijn, 2015)

CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

slide-17
SLIDE 17
  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS

  • Cognitive switching cost

Depends on interruption duration, complexity, moment

(Altmann and Trafton, 2002) (Borst, Taatgen, van Rijn, 2015)

CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

  • “Project overload”

Mental congestion when too much multitasking

(Zika-Viktorsson, Sundstrom, Engwall, 2006)

slide-18
SLIDE 18
  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS

  • Cognitive switching cost

Depends on interruption duration, complexity, moment

(Altmann and Trafton, 2002) (Borst, Taatgen, van Rijn, 2015)

CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

  • “Project overload”

Mental congestion when too much multitasking

(Zika-Viktorsson, Sundstrom, Engwall, 2006)

In theory:

Productivity Amount of multitasking

slide-19
SLIDE 19

Hardly any empirical evidence

From: http://blog.codinghorror.com/the-multi-tasking-myth/

Rule of thumb (Weinberg, 1992) - not based on data

Percent of time

20 40 60 80 100

Number of simultaneous projects

1 2 3 4 5

Working time available per project Loss to context switching

slide-20
SLIDE 20

Hardly any empirical evidence

From: http://blog.codinghorror.com/the-multi-tasking-myth/

Rule of thumb (Weinberg, 1992) - not based on data

Percent of time

20 40 60 80 100

Number of simultaneous projects

1 2 3 4 5

Working time available per project Loss to context switching

slide-21
SLIDE 21

Hardly any empirical evidence

From: http://blog.codinghorror.com/the-multi-tasking-myth/

Recent work:

  • Work fragmentation

(Sanchez, Robbes, and Gonzalez, 2015)

  • Resuming interrupted tasks

(Parnin and DeLine, 2010)

Rule of thumb (Weinberg, 1992) - not based on data

Percent of time

20 40 60 80 100

Number of simultaneous projects

1 2 3 4 5

Working time available per project Loss to context switching

slide-22
SLIDE 22

Hardly any empirical evidence

14 million people 35 million projects

… but lots of data to test theories on.

slide-23
SLIDE 23

This work: Large-scale empirical study

WHAT?

?

Trends Reasons

? ?

Effects Limits

? Multitasking across projects

HOW?

Data mining User survey

(15% resp. rate)

+

Sample:

  • 1,200 programmers
  • 5+ years of activity
  • 50,000+ projects total
slide-24
SLIDE 24

This work: Large-scale empirical study

WHAT?

?

Trends Reasons

? ?

Effects Limits

? Multitasking across projects

HOW?

Data mining User survey

(15% resp. rate)

+

Sample:

  • 1,200 programmers
  • 5+ years of activity
  • 50,000+ projects total

EXAMPLE: GitHub developer (25 Nov 2013 — 18 May 2014)

  • Downtime

WHY?

  • Working for free? Motivations of participating

in open source projects

  • A. Hars and S. Ou. HICSS 2001
  • The open source software development phenomenon:

An analysis based on social network theory

  • G. Madey, V. Freeh, and R. Tynan. AMCIS 2002
  • Activity traces and signals in software

developer recruitment and hiring J Marlow, L Dabbish. CSCW 2013

  • Request from other

dev’s / management

  • Dependencies
  • Signaling
  • Personal interest
  • Being “stuck”

Mon Tue Wed Thu Fri Sat Sun Nov Dec Jan Feb Mar Apr

#Projects

1 3 5 8

Software developers multitask too

Trends & Reasons: Details in paper

slide-25
SLIDE 25

Effects: perception vs. data

PERCEPTION

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

resolve more issues increase project success feel more productive contribute more code overall review more pull requests introduce fewer bugs

Response Strongly disagree Disagree utral Agree Strongly agree ree Neutral

“When contributing to multiple projects in parallel, I:”

slide-26
SLIDE 26

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

feel more productive

Effects: perception vs. data

PERCEPTION

Response Strongly disagree Disagree utral Agree Strongly agree ree Neutral

“When contributing to multiple projects in parallel, I:”

slide-27
SLIDE 27

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

resolve more issues contribute more code overall review more pull requests

Effects: perception vs. data

PERCEPTION

Response Strongly disagree Disagree utral Agree Strongly agree ree Neutral

“When contributing to multiple projects in parallel, I:”

slide-28
SLIDE 28

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

increase project success introduce fewer bugs

Effects: perception vs. data

PERCEPTION

Response Strongly disagree Disagree utral Agree Strongly agree ree Neutral

“When contributing to multiple projects in parallel, I:”

slide-29
SLIDE 29

EMPIRICAL DATA

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

Response Strongly disagree Disagree

resolve more issues increase project success feel more productive contribute more code overall review more pull requests introduce fewer bugs

utral Agree Strongly agree ree Neutral

Multitasking vs. code production

Effects: perception vs. data

PERCEPTION

“When contributing to multiple projects in parallel, I:”

slide-30
SLIDE 30

EMPIRICAL DATA

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

Response Strongly disagree Disagree

resolve more issues increase project success feel more productive contribute more code overall review more pull requests introduce fewer bugs

utral Agree Strongly agree ree Neutral

Multitasking vs. code production

Effects: perception vs. data

Daily multitasking correlates to amount of code produced

PERCEPTION

“When contributing to multiple projects in parallel, I:”

slide-31
SLIDE 31

EMPIRICAL DATA

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

Response Strongly disagree Disagree

resolve more issues increase project success feel more productive contribute more code overall review more pull requests introduce fewer bugs

utral Agree Strongly agree ree Neutral

Multitasking vs. code production

Effects: perception vs. data

Daily multitasking correlates to amount of code produced Weekly and day-to-day scheduling of work matters

PERCEPTION

“When contributing to multiple projects in parallel, I:”

slide-32
SLIDE 32

EMPIRICAL DATA

15% 23% 29% 31% 34% 52% 47% 40% 33% 29% 23% 5% 37% 36% 37% 40% 43% 43%

ctive verall ests ssues ugs ccess 100 50 50 100

Percentage

Response Strongly disagree Disagree

resolve more issues increase project success feel more productive contribute more code overall review more pull requests introduce fewer bugs

utral Agree Strongly agree ree Neutral

Multitasking vs. code production

Effects: perception vs. data

Daily multitasking correlates to amount of code produced Weekly and day-to-day scheduling of work matters No scheduling is productive beyond 5 projects/week

PERCEPTION

“When contributing to multiple projects in parallel, I:”

slide-33
SLIDE 33

Modeling multitasking

MON TUE WED THU FRI SAT SUN

A B C B D A D A

  • Period matters
slide-34
SLIDE 34

Modeling multitasking

MON TUE WED THU FRI SAT SUN

A B A C C B D A D B B A B D

  • Period matters
  • Effort matters

(A vs. B)

slide-35
SLIDE 35

Modeling multitasking

MON TUE WED THU FRI SAT SUN

A B A A C C B D A D B B A A

  • Period matters
  • Effort matters
  • Break matters

(A vs. D)

slide-36
SLIDE 36

Modeling multitasking

MON TUE WED THU FRI SAT SUN

A B A A C C B D A D B B A

  • Period matters
  • Effort matters
  • Break matters

A

Daily Weekly Day-to-day

  • One-week panels ‣ Three dimensions

WE MODELED:

slide-37
SLIDE 37

Day

A B C D 1 2 3 4 5 6 7

Project

Multitasking dimensions

  • 1. PROJECTS PER DAY

Working sequentially Within-day multitasking vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-38
SLIDE 38

Day

A B C D 1 2 3 4 5 6 7

Project

Multitasking dimensions

  • 1. PROJECTS PER DAY

Working sequentially Within-day multitasking vs.

AvgProjectsPerDay = 1 AvgProjectsPerDay = 2.2

Day

A B C D 1 2 3 4 5 6 7

Project

slide-39
SLIDE 39

% Commits

0% 20% 40% 60% 80% 100% Project A B C D

% Commits

0% 20% 40% 60% 80% 100% Project A B C D

Multitasking dimensions

  • 2. WEEKLY FOCUS

Focusing on one project Contributing evenly to all vs.

High focus Low focus

slide-40
SLIDE 40

% Commits

0% 20% 40% 60% 80% 100% Project A B C D

% Commits

0% 20% 40% 60% 80% 100% Project A B C D

Multitasking dimensions

  • 2. WEEKLY FOCUS

Focusing on one project Contributing evenly to all vs.

High focus Low focus

SFocus = 0.25 SFocus = 1.85

Fraction commits in project i

SFocus = −

N

X

i=1

pi log2 pi

Shannon entropy:

slide-41
SLIDE 41

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

SFocus = 1 AvgProjectsPerDay = 1 SFocus = 1 AvgProjectsPerDay = 1

Day

A B 1 2 3 4 5 6 7

Project Day

A B 1 2 3 4 5 6 7

Project

Repetitive day-to-day Switching focus vs.

slide-42
SLIDE 42

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

SFocus = 1 AvgProjectsPerDay = 1 SFocus = 1 AvgProjectsPerDay = 1

Day

A B 1 2 3 4 5 6 7

Project Day

A B 1 2 3 4 5 6 7

Project

Repetitive day-to-day Switching focus vs.

Focus shifting networks (Xuan et al, 2014)

slide-43
SLIDE 43

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-44
SLIDE 44

D C

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-45
SLIDE 45

D C

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-46
SLIDE 46

D C

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-47
SLIDE 47

D C

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-48
SLIDE 48

D C

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-49
SLIDE 49

D C

1 5 1 1 1 1 1

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

B A

Repetitive day-to-day Switching focus vs.

Day

A B C D 1 2 3 4 5 6 7

Project

slide-50
SLIDE 50

D C

1 5/7 1/7 1 1/7 1/2 1/2

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

Day

A B C D 1 2 3 4 5 6 7

Project

B A

Repetitive day-to-day Switching focus vs.

slide-51
SLIDE 51

D C

1 5/7 1/7 1 1/7

SSwitch = −

N

X

i=1

2 4pi X

j∈πi

p(j|i) log2 p(j|i) 3 5

1/2 1/2

Multitasking dimensions

  • 3. DAY-TO-DAY FOCUS

Day

A B C D 1 2 3 4 5 6 7

Project

B A

Repetitive day-to-day Switching focus vs.

Markov entropy: How predictable is my focus tomorrow if today I work on project j?

slide-52
SLIDE 52

Linear mixed-effects regression

Random effect: developer

  • developer-to-developer

variability in the response

Random slope: time | developer

  • developers more productive

initially may be less strongly affected by time passing

Response: LOC added / week Controls:

  • time
  • total projects
  • programming languages

Longitudinal data

  • 1,200 developers
  • 5+ years each: multiple

weeks of observation

Day-to-day focus Projects per day Weekly focus

Predictors:

Projects

A B C D 1 2 3 4 5 6 7

0% 20% 40% 60% 80% 100%

A B C D A B 1 2 3 4 5 6 7

slide-53
SLIDE 53

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D

slide-54
SLIDE 54

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7

More within-day multitasking

0% 20% 40% 60% 80% 100% A B C D

slide-55
SLIDE 55

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7

Higher focus More repetitive day-to-day work More within-day multitasking

0% 20% 40% 60% 80% 100% A B C D

slide-56
SLIDE 56

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7

Higher focus More repetitive day-to-day work Interaction effects: No scheduling is productive over 5 projects/week More within-day multitasking

0% 20% 40% 60% 80% 100% A B C D

slide-57
SLIDE 57

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7

Higher focus More repetitive day-to-day work Interaction effects: No scheduling is productive over 5 projects/week More within-day multitasking

0% 20% 40% 60% 80% 100% A B C D

  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS

  • Cognitive switching cost

Depends on interruption duration, complexity, moment

(Altmann and Trafton, 2002) (Borst, Taatgen, van Rijn, 2015)

CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

  • “Project overload”

Mental congestion when too much multitasking

(Zika-Viktorsson, Sundstrom, Engwall, 2006)

In theory:

Productivity Amount of multitasking

slide-58
SLIDE 58

Implications - awareness

Average 2.7 projects/day (median 2; range 0–10) Average 6 projects/week (median 5; range 0–30) Multitasking correlates to amount of code produced No scheduling is productive beyond 5 projects/week

slide-59
SLIDE 59

Implications - awareness

Average 2.7 projects/day (median 2; range 0–10) Average 6 projects/week (median 5; range 0–30) Multitasking correlates to amount of code produced No scheduling is productive beyond 5 projects/week

TASK MANAGEMENT TOOLS

slide-60
SLIDE 60

Bogdan Vasilescu Kelly Blincoe Qi Xuan Casey Casalnuovo Daniela Damian Prem Devanbu Vladimir Filkov

Multitaskers do more; scheduling matters

vs.

Projects per day

Higher LOC added

vs.

Weekly focus Day-to-day focus (repeatability)

vs.

A B C D 1 2 3 4 5 6 7 A B C D 1 2 3 4 5 6 7 0% 20% 40% 60% 80% 100% A B C D A B 1 2 3 4 5 6 7 A B 1 2 3 4 5 6 7

Higher focus More repetitive day-to-day work Interaction effects: No scheduling is productive over 5 projects/week More within-day multitasking

0% 20% 40% 60% 80% 100% A B C D

  • Fill downtime

Switch focus between projects to utilize time more efficiently

(Adler and Benbunan-Fich, 2012)

PROS

  • Cognitive switching cost

Depends on interruption duration, complexity, moment

(Altmann and Trafton, 2002) (Borst, Taatgen, van Rijn, 2015)

CONS

Theory: How does multitasking affect performance?

  • Cross-fertilisation

Easier to work on other projects if knowledge is transferrable

(Lindbeck and Snower, 2000)

  • “Project overload”

Mental congestion when too much multitasking

(Zika-Viktorsson, Sundstrom, Engwall, 2006)

In theory:

Productivity Amount of multitasking

1247280 1414172