The impact of maturity, scale and distribution on software quality : An industrial case study

University essay from Blekinge Tekniska Högskola/Institutionen för programvaruteknik

Abstract: Context. In this ever-changing world of software development, the process of organizations adopting distributed development is gaining prominence. Implementing various development processes in such distributed environment is giving rise to numerous issues which affects the quality of the product. These issues could be due to the involvement of architects across national borders during the process of development. In this research, the focus is to improve software quality by addressing the impact of maturity and scale between teams and its affect on code review process. Further to identify the issues behind the distribution between teams separated by geographical, temporal and cultural distances. Objectives. The main objective of this research is to identify how different factors such as maturity on quality of deliverables, scale and distribution that impacts the code review process affecting software quality. Based on code review comments in data set, the factors that were examined in this research are evolvability of defects and difference in the quality of software developed by mature and immature teams within code review process. Later on, the issues related to the impact of geographical, temporal and cultural distances on the type of defects revealed during distributed development are identified. Methods. To achieve these objectives, a case study was conducted at Ericsson. A mixed approach has been chosen that includes, archival data and semi-structured interviews to gather useful data for this research. Archival data is one of the data collection method used for reviewing comments in data set and gather quantitative results for the study. We employed approaches such as descriptive statistics, hypothesis testing, and graphical representation to analyze data. Moreover, to strengthen these results, semi-structured group interview is conducted to triangulate the data and collect additional insights about code review process in large scale organizations. Results. By conducting this research, it is inferred that teams with a lower level of maturity produce more number of defects. It was observed that 35.11% functional, 59.03% maintainability, 0.11% compatibility, 0.028% security, 0.73% reliability, 4.96% performance efficiency, 0.014% portability of defects were found from archival data. Majority of defects were of functional and maintainability type, which impacts software quality in distributed environment. In addition to the above-mentioned results, other findings are related to evolvability of defects within immature teams which shows that there is no particular trend in increase or decrease in number of defects. Issues that occur due to distribution between teams are found out in this research. The overall results of this study are to suggest the impact of maturity and scale on software quality by making numerical assumptions and validating these finding with interviews. Interviews are also used to inquire information about the issues from dataset related to the impact of global software engineering (GSE) distances on code review process. Conclusions. At the end of this research it is concluded that in these type of projects, immature teams produce more number of defects than mature teams. This is because when large-scale projects are distributed globally, it is always harder to share and acquire knowledge between teams, increase group learning and mentor teams located in immature sites. Immature developers have problems of understanding the structure of code, new architects need to acquire knowledge on the scope and real time issues for improving quality of software. Using results presented in this thesis, researchers can find new gaps easily to extend the research on various influences on code review process in distributed environment. 

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)