1 / 26

Global Software Development in the FreeBSD Project

Global Software Development in the FreeBSD Project. Diomidis Spinellis Athens University of Economics and Business and FreeBSD. Outline. FreeBSD Methodology Findings Global development Productivity and quality Human interactions. Rationale. Rough side of global software development

lee
Download Presentation

Global Software Development in the FreeBSD Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Rationale • Rough side of global software development • “Setting benchmarks in global outsourcing” • “If it works there, it works everywhere” • Practices that work • Repository data • Mining incidental data • Drawing conclusions

  4. FreeBSD • Complete operating system • Open source • High performance application servers • Networked embedded systems • Derived from BSD Unix • Focus on stability and reliability • smallbusiness.yahoo.com • Part of Apple’s Mac OS X

  5. Family Tree

  6. Development Documentation • ~350 developers • Documentation Third party application ports ~15700 Operating system utilities ~9.8MLoC Kernel ~3.8MLoC

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

  8. Development Process • Unpaid volunteers • Teams • Core • Release engineering • Security • Ports • Donations • Committer etiquette • Mentoring

  9. Global Development

  10. Around the Globe

  11. Division of Work

  12. Hold and Advance

  13. … and Fix Closed GNATS entries per area

  14. Roads and Buildings

  15. Round the Clock

  16. Passing Work Around

  17. 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

  18. Productivity • More developers produce more software(base case)  r=0.67 (95% CI)

  19. Productivity • … but developer distance doesn’t affect productivity.  r=-0.14 (95% CI)

  20. Code Style  r=0.05 (95% CI)

  21. Defect Density  r=0.07 (95% CI)

  22. Human Interactions • Look for neighbors • Cooperating developers • Mentors and mentees Jan Van Haasteren: Neighbours

  23. 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

  24. Mentors and mentees

  25. FreeBSD is Global • 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

  26. Tesekur Ederim! • http://www.freebsd.org • http:/www.dmst.aueb.gr/dds

More Related