260 likes | 386 Views
This study explores global software development, focusing on the FreeBSD project, a highly respected open-source operating system. Conducted by Diomidis Spinellis at the Athens University of Economics and Business, the research reveals insights about methodologies, productivity, and quality in a distributed development environment. Key findings include the impact of human interactions and cultural diversity on productivity, the effective practices adopted by a global team of ~350 developers, and the significance of asynchronous communication. The study underscores that distance does not negatively affect productivity, thus offering valuable benchmarks for global outsourcing.
E N D
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 • “Setting benchmarks in global outsourcing” • “If it works there, it works everywhere” • Practices that work • Repository data • Mining incidental data • Drawing conclusions
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
Development Documentation • ~350 developers • Documentation Third party application ports ~15700 Operating system utilities ~9.8MLoC Kernel ~3.8MLoC
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
Development Process • Unpaid volunteers • Teams • Core • Release engineering • Security • Ports • Donations • Committer etiquette • Mentoring
… and Fix Closed GNATS entries per area
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
Productivity • More developers produce more software(base case) r=0.67 (95% CI)
Productivity • … but developer distance doesn’t affect productivity. r=-0.14 (95% CI)
Code Style r=0.05 (95% CI)
Defect Density r=0.07 (95% CI)
Human Interactions • Look for neighbors • Cooperating developers • Mentors and mentees Jan Van Haasteren: Neighbours
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
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
Tesekur Ederim! • http://www.freebsd.org • http:/www.dmst.aueb.gr/dds