Date post: | 11-Jan-2016 |
Category: |
Documents |
Upload: | oswald-garrison |
View: | 218 times |
Download: | 1 times |
Global Software Development in the FreeBSD ProjectDiomidis SpinellisAthens University of Economics and Businessand FreeBSD
OutlineFreeBSDMethodologyFindingsGlobal developmentProductivity and qualityHuman interactions
RationaleRough side of global software developmentSetting benchmarks in global outsourcingIf it works there, it works everywherePractices that workRepository dataMining incidental dataDrawing conclusions
FreeBSDComplete operating systemOpen sourceHigh performance application serversNetworked embedded systemsDerived from BSD UnixFocus on stability and reliabilitysmallbusiness.yahoo.comPart of Apples Mac OS X
Family Tree
Development~350 developers
DocumentationThird party application ports~15700Operating system utilities~9.8MLoCKernel~3.8MLoCDocumentation
Development FacilitiesCVS (12 years of historical data; >938k)Problem reports (>95k)Mailing lists (>100)TinderboxWeb siteDevelopers handbookRelease engineeringBrowsable CVSMailing listsPRs
Development ProcessUnpaid volunteersTeamsCoreRelease engineeringSecurityPortsDonationsCommitter etiquetteMentoring
Global Development
Around the Globe
Division of Work
Chart9
37.022
144.397
145.161
1793.869
2527.855
6.373
KLoC
KLoC
Sheet1
MainBranch
Africa2194715075
Asia10130243095
Australia13377811383
Europe1283063510806
North America14144771113378
South America48531520
KLoCMainBranch
Africa372215
Asia14410143
Australia14513411
Europe17941283511
North America252814141113
South America652
Sheet1
Branch
Main
KLoC
Work type per area
Sheet2
KLoC
KLoC
Sheet3
wwwsrcdocports
Africa11237022158525868
Asia2183914439774938786213
Europe10871817938691347701690072
SouthAmerica25363732028145150
NorthAmerica464492527855328491827419
Australia42214516151494514
wwwsrcdocports
Africa037226
Asia2214475786
Europe10917941351690
South America062145
North America462528331827
Australia0145195
Sheet3
src
www
doc
ports
Work type per area
Hold and Advance
Chart11
15.07521.947
43.095101.302
11.383133.778
510.8061283.063
1113.3781414.477
1.524.853
Branch
Main
KLoC
Work type per area
Sheet1
MainBranch
Africa2194715075
Asia10130243095
Australia13377811383
Europe1283063510806
North America14144771113378
South America48531520
KLoCMainBranch
Africa372215
Asia14410143
Australia14513411
Europe17941283511
North America252814141113
South America652
Sheet1
Branch
Main
KLoC
Work type per area
Sheet2
KLoC
KLoC
Sheet3
wwwsrcdocports
Africa11237022158525868
Asia2183914439774938786213
Europe10871817938691347701690072
SouthAmerica25363732028145150
NorthAmerica464492527855328491827419
Australia42214516151494514
wwwsrcdocports
Africa037226
Asia2214475786
Europe10917941351690
South America062145
North America462528331827
Australia0145195
Sheet3
src
www
doc
ports
Work type per area
and FixClosed GNATS entries per area
Chart7
1.28443
12.6661
40.5642
2.34077
35.9055
7.23898
work
MainBranch
Africa2194715075
Asia10130243095
Australia13377811383
Europe1283063510806
North America14144771113378
South America48531520
KLoCMainBranch
Africa372215
Asia14410143
Australia14513411
Europe17941283511
North America252814141113
South America652
work
Branch
Main
KLoC
Work type per area
distribution
KLoC
KLoC
passing work
wwwsrcdocports
Africa11237022158525868
Asia2183914439774938786213
Europe10871817938691347701690072
SouthAmerica25363732028145150
NorthAmerica464492527855328491827419
Australia42214516151494514
wwwsrcdocports
Africa037226
Asia2214475786
Europe10917941351690
South America062145
North America462528331827
Australia0145195
Africa1.28443901
Asia12.66618885
Europe40.564228455
South America2.340771642
North America35.905525187
Australia7.238985078
passing work
src
www
doc
ports
Work type per area
Commit days>8h by different committers>8h same committersNext day commits
Files11.04290.119160.1966640.374491
Modules117.03414.65036.0069221.0038
All4467428222394367
>8h by different committers>8h by the same committerNext day commits
Files1.08%1.78%3.39%
Modules12.52%5.13%17.95%
All95.86%50.12%97.76%
>8h by different committers
>8h by the same committer
Next day commits
Granule
Days
Roads and Buildings
Chart6
37.0220.1121.58525.868
144.39721.83974.938786.213
1793.869108.718134.771690.072
6.3730.2532.028145.15
2527.85546.44932.8491827.419
145.1610.4220.51494.514
src
www
doc
ports
Work type per area
Sheet1
MainBranch
Africa2194715075
Asia10130243095
Australia13377811383
Europe1283063510806
North America14144771113378
South America48531520
MainBranch
Africa2215
Asia10143
Australia13411
Europe1283511
North America14141113
South America52
Sheet1
Branch
Main
KLoC
Development per area
Sheet2
wwwsrcdocports
Africa11237022158525868
Asia2183914439774938786213
Europe10871817938691347701690072
SouthAmerica25363732028145150
NorthAmerica464492527855328491827419
Australia42214516151494514
wwwsrcdocports
Africa037226
Asia2214475786
Europe10917941351690
South America062145
North America462528331827
Australia0145195
Sheet2
src
www
doc
ports
Work type per area
Sheet3
Round the Clock
Passing Work Around
Chart6
0.01079064380.017809090.0339123781
0.12517986230.05132628130.1794675052
0.95858518020.50123125140.9776136109
>8h by different committers
>8h by the same committer
Next day commits
Granule
Days
work
MainBranch
Africa2194715075
Asia10130243095
Australia13377811383
Europe1283063510806
North America14144771113378
South America48531520
KLoCMainBranch
Africa372215
Asia14410143
Australia14513411
Europe17941283511
North America252814141113
South America652
work
Branch
Main
KLoC
Work type per area
distribution
KLoC
KLoC
passing work
wwwsrcdocports
Africa11237022158525868
Asia2183914439774938786213
Europe10871817938691347701690072
SouthAmerica25363732028145150
NorthAmerica464492527855328491827419
Australia42214516151494514
wwwsrcdocports
Africa037226
Asia2214475786
Europe10917941351690
South America062145
North America462528331827
Australia0145195
Africa1.28443901
Asia12.66618885
Europe40.564228455
South America2.340771642
North America35.905525187
Australia7.238985078
passing work
src
www
doc
ports
Work type per area
Commit days>8h by different committers>8h same committersNext day commits
Files11.04290.119160.1966640.374491
Modules117.03414.65036.0069221.0038
All4467428222394367
>8h by different committers>8h by the same committerNext day commits
Files1.08%1.78%3.39%
Modules12.52%5.13%17.95%
All95.86%50.12%97.76%
>8h by different committers
>8h by the same committer
Next day commits
Granule
Days
Productivity and QualityRound the clock developmentSoftware and hardware diversityLack of face-to-face communicationAsynchronous communicationA more rigorous process is requiredCultural diversity
ProductivityMore developers produce more software (base case) r=0.67 (95% CI)
Productivity but developer distance doesnt affect productivity. r=-0.14 (95% CI)
Code Style r=0.05 (95% CI)
Defect Density r=0.07 (95% CI)
Human InteractionsLook for neighborsCooperating developersMentors and menteesJan Van Haasteren: Neighbours
Cooperating developersMean distance betweenany two FreeBSD developers: 6,701km4010 instances of commitsSame fileSame dayDifferent developersMean distance: 6,489km
Mentors and mentees
MinMedianMeanMaxAny02.27.86.79.319M/M00.73.85.08.818
FreeBSD is GlobalRound the clock developmentNo ill effects onProductivityCode qualityBug densityDistanceDoesnt show up in ad hoc cooperationAppears to matter in mentoring
Tesekur Ederim!
http://www.freebsd.orghttp:/www.dmst.aueb.gr/dds