A Conceptual Replication of Continuous Integration Pain Points A - - PowerPoint PPT Presentation

a conceptual replication of continuous integration pain
SMART_READER_LITE
LIVE PREVIEW

A Conceptual Replication of Continuous Integration Pain Points A - - PowerPoint PPT Presentation

A Conceptual Replication of Continuous Integration Pain Points A Conceptual Replication of Continuous Integration Pain Points david Michael christian bogdan .. widder hilton kastner vasilescu What Will I


slide-1
SLIDE 1

A 
 Conceptual Replication 


  • f 


Continuous Integration 
 Pain Points

slide-2
SLIDE 2

david widder Michael hilton bogdan vasilescu christian kastner

..

A 
 Conceptual Replication 


  • f 


Continuous Integration 
 Pain Points

slide-3
SLIDE 3

2

What Will I talk about?

slide-4
SLIDE 4
  • 1. What is Continuous integration? 


Why do people use it?

2

What Will I talk about?

slide-5
SLIDE 5
  • 1. What is Continuous integration? 


Why do people use it?

  • 2. Why do a replication?

2

What Will I talk about?

slide-6
SLIDE 6
  • 1. What is Continuous integration? 


Why do people use it?

  • 2. Why do a replication?
  • 3. Our Mixed Method

2

What Will I talk about?

slide-7
SLIDE 7
  • 1. What is Continuous integration? 


Why do people use it?

  • 2. Why do a replication?
  • 3. Our Mixed Method
  • 4. Highlights of Findings: 


What replicates + what doesn’t?

2

What Will I talk about?

slide-8
SLIDE 8

What is 
 continuous integration?

3

slide-9
SLIDE 9

What is 
 continuous integration?

3

slide-10
SLIDE 10

What is 
 continuous integration?

3

slide-11
SLIDE 11

What is 
 continuous integration?

3

slide-12
SLIDE 12

What is 
 continuous integration?

3

slide-13
SLIDE 13

What is 
 continuous integration?

3

slide-14
SLIDE 14

What is 
 continuous integration?

3

slide-15
SLIDE 15

What is 
 continuous integration?

3

slide-16
SLIDE 16

CI is a Best practice

4

slide-17
SLIDE 17

6 Reasons to Use CI Why we need CI What is CI and why use it? 7 Reasons you should use CI Why CI is important what is CI and why do you need it?

CI is a Best practice

4

slide-18
SLIDE 18

5

Lots of research Showing CI Benefits

slide-19
SLIDE 19

Fewer pull requests rejected

Helps catch 
 bugs faster

Encourages people to 
 write tests

release twice as

  • ften

Higher pull request Throughput

5

Lots of research Showing CI Benefits

slide-20
SLIDE 20

Also, lots of research showing CI pain points

6

slide-21
SLIDE 21

Also, lots of research showing CI pain points

Hard to

configure

long builds insecure

too many

  • ptions

unsupported 
 features

6

slide-22
SLIDE 22

7

We believe it is time to review and replicate 
 CI pain points

slide-23
SLIDE 23

8

Why review and replicate CI pain points?

slide-24
SLIDE 24
  • evaluate & synthesize

past research

8

Why review and replicate CI pain points?

slide-25
SLIDE 25
  • evaluate & synthesize

past research

  • provide replicated

guidance to practitioners

8

Why review and replicate CI pain points?

slide-26
SLIDE 26
  • evaluate & synthesize

past research

  • provide replicated

guidance to practitioners

  • focus future research
  • n areas of uncertainty

8

Why review and replicate CI pain points?

slide-27
SLIDE 27

9

What’s a conceptual replication?

current CI users

Switchers & Abandoners

slide-28
SLIDE 28

9

What’s a conceptual replication?

?

current CI users

Switchers & Abandoners

slide-29
SLIDE 29

why study leavers instead of current users?

10

slide-30
SLIDE 30

why study leavers instead of current users?

10

slide-31
SLIDE 31

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-32
SLIDE 32

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-33
SLIDE 33

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-34
SLIDE 34

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-35
SLIDE 35

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-36
SLIDE 36

11

logistic regressions

Survey &

interviews

?

lit review

Pain points Replicated (or not)

TravisCI Leavers
 OSS

Current CI Users
 Industry & OSS

Triangu lation

Pain Points

slide-37
SLIDE 37

12

lit review

37 papers

35 Pain Points

slide-38
SLIDE 38

13

132 Survey responses 12 interviews

?

“Why did your project stop using Travis CI, and what has the CI situation been like since then?”

slide-39
SLIDE 39

14

slide-40
SLIDE 40

15

132 Survey responses + 12 interviews

?

slide-41
SLIDE 41

15

132 Survey responses + 12 interviews

slide-42
SLIDE 42

16

People who leave CI vs
 Those who don’t

Why logistic regression?

slide-43
SLIDE 43

Abandonment vs Switching

CI

{ .. }

17

slide-44
SLIDE 44

Abandonment vs Switching

CI

{ .. }

17

slide-45
SLIDE 45

18

2 logistic regressions, 6,239 Repos

Abandonment vs Switching

CI

{ .. }

slide-46
SLIDE 46

18

2 logistic regressions, 6,239 Repos

Abandonment vs Switching

CI

{ .. }

slide-47
SLIDE 47

?

Triangulated Results

19

slide-48
SLIDE 48

20

Unsupported technologies

C#

slide-49
SLIDE 49

21

Unsupported technologies

C#

slide-50
SLIDE 50

21

Unsupported technologies

“I switched to Wercker, a container based CI pipeline, which means it can execute any scripts with much more flexibility.” (P89)

C#

slide-51
SLIDE 51

21

Unsupported technologies

“I switched to Wercker, a container based CI pipeline, which means it can execute any scripts with much more flexibility.” (P89)

C#

needing docker: 9.5x increase in switching, 5.25x increase in abandoning

slide-52
SLIDE 52

21

Unsupported technologies

“I switched to Wercker, a container based CI pipeline, which means it can execute any scripts with much more flexibility.” (P89)

C#

needing docker: 9.5x increase in switching, 5.25x increase in abandoning

Lacking Language support: 1.5x increase in switching and abandoning

slide-53
SLIDE 53

22

Unsupported technologies

C#

slide-54
SLIDE 54

22

Needing docker affects new TravisCI users only

Unsupported technologies

C#

slide-55
SLIDE 55

22

Needing docker affects new TravisCI users only when can people hack through technology support challenges, and when are the not able to?

Unsupported technologies

C#

slide-56
SLIDE 56

23

Lack 


  • f Tests
slide-57
SLIDE 57

24

Lack 


  • f Tests
slide-58
SLIDE 58

24

Lack 


  • f Tests

“The goal [of adopting Travis] was to ‘force’ myself to add some real tests (to have green Travis badge again!) but this failed so far :)” (P111)

slide-59
SLIDE 59

24

Lack 


  • f Tests

1% increase in tests = 
 16% lower chance of abandoning (no effect on switching)

“The goal [of adopting Travis] was to ‘force’ myself to add some real tests (to have green Travis badge again!) but this failed so far :)” (P111)

slide-60
SLIDE 60

25

CI consistency

slide-61
SLIDE 61

26

CI consistency

slide-62
SLIDE 62

26

“I had some open source projects running in TravisCI and some in CircleCI. I just wanted to consolidate the project to one place and I’m sorry to say that at that time TravisCI lost the battle.” (P57)

CI consistency

slide-63
SLIDE 63

26

“I had some open source projects running in TravisCI and some in CircleCI. I just wanted to consolidate the project to one place and I’m sorry to say that at that time TravisCI lost the battle.” (P57)

Exposure to leavers:

~1.5x increase in chances

  • f switching & abandoning

CI consistency

slide-64
SLIDE 64

27

CI consistency

slide-65
SLIDE 65

27

people’s past experience is very important in determining behavior on future projects!

CI consistency

slide-66
SLIDE 66

27

people’s past experience is very important in determining behavior on future projects! but Not observed in past literature, so 
 needs replication.

CI consistency

slide-67
SLIDE 67

Single method or conflicting results

?

?

28

slide-68
SLIDE 68

29

long build times

slide-69
SLIDE 69

30

long build times

slide-70
SLIDE 70

30

long build times

“We stopped using Travis CI because it was too slow for us.” (P125)

slide-71
SLIDE 71

30

long build times

“We stopped using Travis CI because it was too slow for us.” (P125)

longer build times associated with a decreased chance of switching and abandoning.

slide-72
SLIDE 72

30

long build times

“We stopped using Travis CI because it was too slow for us.” (P125)

longer build times associated with a decreased chance of switching and abandoning. Presence of very long builds associated with increased risk of abandoning.

slide-73
SLIDE 73

31

long build times

slide-74
SLIDE 74

31

So, When do long builds stop providing value, and start becoming annoying?

long build times

slide-75
SLIDE 75

32

Full results in the paper

slide-76
SLIDE 76

davidthewid

2 logistic regressions

Surveys, Interviews

?

Triangulation

lit review

Pain Points

slide-77
SLIDE 77

we were unable to cleanly replicate some pain points, they need further study to validate their existence

davidthewid

2 logistic regressions

Surveys, Interviews

?

Triangulation

lit review

Pain Points

slide-78
SLIDE 78

we were unable to cleanly replicate some pain points, they need further study to validate their existence we were able to cleanly replicate some pain points, now we can focus on solutions

davidthewid

2 logistic regressions

Surveys, Interviews

?

Triangulation

lit review

Pain Points

slide-79
SLIDE 79

we were unable to cleanly replicate some pain points, they need further study to validate their existence we were able to cleanly replicate some pain points, now we can focus on solutions future work should focus more than just TravisCI, and our commit status context method can help

davidthewid

2 logistic regressions

Surveys, Interviews

?

Triangulation

lit review

Pain Points

slide-80
SLIDE 80

we were unable to cleanly replicate some pain points, they need further study to validate their existence we were able to cleanly replicate some pain points, now we can focus on solutions future work should focus more than just TravisCI, and our commit status context method can help CI consistency: social ties impact a project’s tooling choices

davidthewid

2 logistic regressions

Surveys, Interviews

?

Triangulation

lit review

Pain Points