global software development in global software
play

Global Software Development in Global Software Development in - PowerPoint PPT Presentation

Global Software Development in Global Software Development in Global Software Development in the FreeBSD Project the FreeBSD Project the FreeBSD Project Diomidis Spinellis Diomidis Spinellis Athens University of Economics and Business


  1. Global Software Development in Global Software Development in Global Software Development in the FreeBSD Project the FreeBSD Project the FreeBSD Project Diomidis Spinellis Diomidis Spinellis Athens University of Economics and Business Athens University of Economics and Business

  2. Outline � FreeBSD � Methodology � Findings – Global development – Productivity and quality – Human interactions

  3. FreeBSD � Complete operating system � Derived from BSD Unix � Focus on stability and reliability – Yahoo’s s servers – Part of Apple’s Max OS X

  4. Development � ~350 developers Kernel ~2.8MLoC – Documentation Documentation Operating system utilities ~9.8MLoC Third party application ports ~12000

  5. Development Facilities � CVS (10 years of historical data; >938k) � Problem reports (>95k) � Mailing lists (>100) � Tinderbox � Web site – Developer’s handbook – Release engineering – Browsable CVS – Mailing lists – PRs

  6. Development Process � Unpaid volunteers � Teams – Core – Release engineering – Security – Ports – Donations � Committer etiquette � Mentoring

  7. Global Development

  8. Around the Globe

  9. Division of Work 3000 2500 2000 KLoC 1500 1000 500 0 Africa Asia Australia Europe North South America America

  10. Hold and Advance Work type per area 100% 80% 60% Main KLoC Branch 40% 20% 0% Africa Asia Australia Europe North South America America

  11. … and Fix Closed GNATS entries per area Africa Asia 1% Australia 13% 7% North America 36% Europe 41% South America 2%

  12. Roads and Buildings Work type per area 100% 80% ports 60% doc www 40% src 20% 0% Africa Asia Europe South North Australia America America

  13. Round the Clock 300 250 Average LOC per day 200 150 100 50 0 0 4 8 12 16 20 Time (UTC)

  14. Passing Work Around 100% 90% 80% >8h by different 70% committers 60% >8h by the same committer Days 50% 40% Next day commits 30% 20% 10% 0% Files Modules All Granule

  15. Productivity and Quality + Round the clock development + Software and hardware diversity - Lack of face-to-face communication - Asynchronous communication ? A more rigorous process is required ? Cultural diversity

  16. Productivity � More developers produce more software (base case) 1000 � r=0.67 (95% CI) 800 600 KLoC 400 200 0 0 10 20 30 40 50 Number of developers

  17. Productivity � … but developer distance doesn’t affect productivity. 1000 � r=-0.14 (95% CI) 800 600 KLoC 400 200 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Developer distance

  18. Code Style 100 80 % of non-adhering lines 60 40 20 � r=0.05 (95% CI) 0 0 10 20 30 40 50 60 70 80 90 Number of developers in the annotated file

  19. Defect Density 1 � r=0.07 (95% CI) 0.8 PRs per commit 0.6 0.4 0.2 0 0 20 40 60 80 100 120 140 160 180 200 Number of developers

  20. Human Interactions � Look for neighbors – Cooperating developers – Mentors and mentees Jan Van Haasteren: Neighbours

  21. Cooperating developers � Mean distance between – any two FreeBSD developers: 6,701km � 4010 instances of commits – Same file – Same day – Different developers – Mean distance: 6,489km

  22. Mentors and mentees Min ¼ Media Mean ¾ Max Any 0 2.2 7.8 6.7 9.3 19 M/M 0 0.7 3.8 5.0 8.8 18

  23. GSD Works � Round the clock development � No ill effects on – Productivity – Code quality – Bug density � Distance – Doesn’t show up in ad hoc cooperation – Appears to matter in mentoring

Recommend


More recommend