What do programmers believe? Where do they get their beliefs from? Do these beliefs arise out of experience, peer opinion, or research results? Do these beliefs jive with actual empirical evidence from the developers' software projects and workplace? Watch this talk for answers, they may surprise you.
3. Actually, Ulcers
are caused
by Bacterial
Infections!
Ulcers are caused
By Stress,
Spicy foods,
alchohol…
No WAY.
4
Marshall, B. J. & Warren, J .R. (1984) Unidentified curved bacilli in the stomach of
patients with gastritis and peptic ulceration. Lancet 1:1311-1315.
4. Autism is caused
By
Vaccinations!
No WAY.
Wakefield et al, 1994: Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and
pervasive developmental disorder in children
6
5. Belief & Evidence in
Medicine
Extra-ordinary claims require extra-ordinary evidence.
(Wacholder et al, Ioannides, et al).
Moral Imperatives for Experimental Power.
(Chaloner et al)
Compendia of Evidence for Practitioners.
(See healthypeople.gov)
9
6. What about Software
Engineers..
• Highly Trained, Opinionated, Professionals
• Increasing evidence on important SE Issues (but no
such thing as goodprogramming.gov )
• Do software engineers pay attention to evidence? To
research?
10
11. SUMMARY
• SURVEY: What do programmers believe?
• SURVEY: How strongly do they believe it?
• SURVEY: Where do they get these beliefs from?
• DATA ANALYSIS: Do their beliefs correspond with
quantitative project evidence?
16
First Such Attempt!
12. What do programmers
believe?Published Findings in
Empirical Software
Engineering
Findings replicable
in Microsoft
project data
Survey
Questions
Uh…ABOUT
WHAT?
17
Actionable
Result
Developers could
form
informed opinion
13. Sample Question
Geographically distributed teams produce code of as
good quality as non-distributed teams.
1. Strongly Agree
2. Agree
3. Neutral
4. Disagree
5. Strongly Disagree
18
16. Most Controversial
1. Code Quality depends on programming language
2. Fixing Defects is riskier than adding new features
3. Geographically distributed teams produce code of as
good quality as non-distributed teams.
21
17. Opinion Source
Code quality (defect occurrence) depends on
which programming language is used.
1. Strongly Agree
2. Agree
3. Neutral
4. Disagree
5. Strongly Disagree
Where do they
originate?
22
18. Opinion Source
What factors played a role in your previous
answer? Please choose the relevant factors, and
rank them:
1. Research Papers
2. Articles in Industry Magazines
3. What I hear from my mentors/managers
4. What I hear from my peers
5. Personal Experience
6. Other
23
21. A Tale of Two Projects
• Project-A: Operating System; 400,000 files, 150 Million
SLOC, began in the Puget Sound area.
• Project-B: Web Service, 430,000 files, 85 Million SLOC,
always distributed.
• Both practice distributed (many buildings, cities, regions,
and countries) development.
• Project-B is a bit more distributed than Project-A.
26
22. A Tale of Two Projects
• Project-A: Operating System; 400,000 files, 150 Million
SLOC, began in the Puget Sound area.
• Project-B: Web Service, 430,000 files, 85 Million SLOC,
always distributed.
• Both practice distributed (many buildings, cities, regions,
and countries) development.
• Project-B is a bit more distributed than Project-A.
Single
Building
Single
City
Single
Region
Single
Country
Project A 56% 90% 91% 92%
Project B 76% 80% 83% 85%
76% of files were
committed by Devs
in one building
85% of files were
committed by Devs
in one country
27
23. A Tale of Two Projects
• Project-A: Operating System; 400,000 files, 150 Million
SLOC, began in the Puget Sound area.
• Project-B: Web Service, 430,000 files, 85 Million SLOC,
always distributed.
• Both practice distributed (many buildings, cities, regions,
and countries) development.
• Project-B is a bit more distributed than Project-A.
”Geographically distributed teams produce
code whose quality (defect occurrence) is just
as good as teams that are not geographically
distributed”
Project-A members tended to DISAGREE
Project-B members tended to AGREE
p < 0.001
28
24. A Tale of Two Projects
• Project-A: Operating System; 400,000 files, 150 Million
SLOC, began in the Puget Sound area.
• Project-B: Web Service, 430,000 files, 85 Million SLOC,
always distributed.
• Both practice distributed (many buildings, cities, regions,
and countries) development.
• Project-B is a bit more distributed than Project-A.
Evidence?
29
25. Evidence…
Single
Building
Single
City
Single
Region
Single
Country
Project A better worse worse worse
Project B better worse worse worse
When Controlling for size, number of commits, number of
authors, and ownership.
Files developed in
single building have
fewer defects!
Files developed in
single city have
more defects!
All Effects
<< Small!
(Cohen’s D)
30
26. Observations
1. Developers beliefs vs. Evidence disparity?
2. Source of opinions: Experience vs. Evidence.
3. Emphasizes importance of Evidence-based Software Engineering..
(Kitchenham, 2004,
Dybå et al, 2005,
Jørgensen et al 2015 )
31
27. Future Work
1. Is developer belief driven by Salience?
2. Are developer beliefs self-serving?
3. Should we re-design our experiments?
4. Should we be making sites like
goodprogramming.gov ?
32
28. Observations
1. Developers beliefs vs. Evidence disparity.
2. Source of opinions: NOT necessarily Scientific Evidence.
3. Emphasizes importance of Evidence-based Software Engineering..
(Kitchenham, 2004,
Dybå et al, 2005,
Jørgensen et al 2015 )
33
Editor's Notes
Talk a little bit about why practitioners may have that prior belief from experience.
Aclchohol was mis-spelled.
May be remove 8. also may be cut out animation on autism.
Watch wording.
Watch contradiction with what you say.
Survey respondent demographics.
Mention order…most to least, etc. (add what we mean by controversial).
Look at current survey data to correlate education level with the answer to this question.
Also more neutral the more research papers you read.
People who are educated express less confidence in their opinions.
Say something about the disparity. Say something about effects beign small first.