Font Size: a A A

Design for quality: The case of open source software development

Posted on:2009-03-27Degree:Ph.DType:Thesis
University:New York University, Graduate School of Business AdministrationCandidate:Conley, Caryn AlisonFull Text:PDF
GTID:2448390005950091Subject:Business Administration
Abstract/Summary:
Open source software (OSS) is one of the most prominent examples of the voluntary, decentralized, and distributed production of digital goods over the Internet. Not only do thousands of volunteers from around the world contribute their time and talent to creating software that is then made freely available for others to use and alter, many organizations are adopting and investing considerable resources in OSS. In practice, these community-based OSS projects do not utilize traditional organizational mechanisms, since they generally lack employment contracts to guide behavior, and detailed requirements, budgets, and timelines to structure the software development process. In the absence of this type of organizational structure, other organizational mechanisms become even more important in guiding volunteers' behavior and facilitating the software development process. One such mechanism is the design of the software itself. Research suggests that product design, or product architecture, affects work processes and outputs in the production of goods and services. This thesis asserts that software design will significantly influence the software development process and resulting software quality in community-based OSS projects.I propose and examine a model of the relationship between elements of software design and software quality in open source software (OSS) development projects. Specifically, I hypothesize that software architecture affects characteristics of subsequent code contributions and code contributors, which in turn affect software quality. I conduct a cross-sectional and longitudinal analysis of 203 software releases in 46 OSS projects hosted on SourceForge.net. Results lend support for the hypothesized relationship between software architecture (degree of software modularity) and software development, suggesting that the degree of software modularity is positively associated with the number of contribution opportunities and number of code contributions, and negatively associated with contribution size. In addition, data suggest that degree of modularity is associated with more contributors, and also influences the size of contributions made by different types of contributors as well as the distribution of work across contributors. However, results suggest the relationship between software modularity and software quality is more complicated than predicted, and depends on project characteristics and how software quality is measured. In general, higher modularity is associated with lower software complexity, and sometimes associated with fewer bug reports and a greater percentage of closed bug reports. Unexpectedly, higher modularity is associated with a larger number of static bugs. Opportunities to contribute and number of contributors sometimes mediate the relationship between degree of modularity and software quality. Implications are developed for the theory of modularity and the practice of software development.
Keywords/Search Tags:Software, Quality, Community-based OSS projects, Modularity
Related items