Does distributed development affect software quality? An empirical case study of Windows Vista

Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, and Brendan Murphy

Abstract

Existing literature on distributed development in software engineering, and other fields discusses various challenges, including cultural barriers, expertise transfer difficulties, and communication and coordination overhead. Conventional wisdom, in fact, holds that distributed software development is riskier and more challenging than collocated development. We revisit this belief, empirically studying the overall development of Windows Vista and comparing the post-release failures of components that were developed in a distributed fashion with those that were developed by collocated teams. We found a negligible difference in failures. This difference becomes even less significant when controlling for the number of developers working on a binary. Furthermore, we also found that component characteristics (such as code churn, complexity, dependency information, and test code coverage) differ very little between distributed and collocated components. Finally, we examine the software process used during the Vista development cycle and examine how it may have mitigated some of the difficulties of distributed development introduced in prior work in this area.

Details

Publication typeArticle
Published inCommunications of the ACM
URLhttp://doi.acm.org/10.1145/1536616.1536639
Pages85–93
Volume52
Number8
AddressNew York, NY, USA
PublisherAssociation for Computing Machinery, Inc.
> Publications > Does distributed development affect software quality? An empirical case study of Windows Vista