Understanding the Impact on Software Quality for Evolving Systems in Distributed Development Environments
Abstract: Context: The existing body of knowledge falls short of providing comprehensive empirical evidence on the impact that global software development (GSD) strategies have on software quality during software evolution. The realization of expected benefits of such GSD strategies, e.g. reduced costs, should not be taken for granted. Challenges faced can negatively impact quality, which can consequently inhibit the realization of the potential benefits. Objective: This licentiate thesis provides empirical evidence pertaining to the effect on quality for evolving systems in distributed development environments. The aim is to provide empirical evidence that can be useful input in the decision-making process for future GSD projects that are executed in distributed development environments. Method: The findings presented in this licentiate thesis are obtained from three empirical studies and one extensive systematic literature review. The empirical studies were conducted at two large multinational corporations. Meanwhile, the purpose of the systematic review was to obtain empirical information that was used to successfully execute one of the empirical studies. All empirical work was done using both quantitative data (e.g., defect data, features per release, source code measures, release history) and qualitative data (e.g., interviews, focus group meetings, questionnaires, and analysis of company documentations). Result: Transfers have a potentially negative impact on quality and efficiency. Observations that were made on quantitative data in all three empirical studies were triangulated with subjective opinions that were obtained from practitioners. When studying the quality of a large software system, a significant decrease in quality was identified; similarly in a study focusing on maintenance work efficiency two studied large software products showed a noticeable decrease. Meanwhile, there was no discernible impact on quality for two products, as a result of distributed development and the handover of responsibilities between involved sites. Transfer critical factors, which can impact quality, as well as transfer enabling factors, which can alleviate transfer-related issues, were also identified from these empirical studies. Conclusions: Companies that engage in software transfers should expect a decline in quality during and immediately after a transfer. There are practices, such as, engaging in distributed development, and the gradual handover of responsibilities, that can alleviate transfer-related issues. The findings in this licentiate thesis can be a valuable input in the decision-making process for companies engaging in transfers in GSD contexts, and thus help in making informed decisions in current or future transfers. Moreover, this licentiate thesis shows that analyzing the evolution of size and complexity properties of a product’s source code, and defect data, can also provide useful objective data to support decision-making during similar projects.
This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.