An Empirical Study of the Impact of Software Process Patterns on Software Quality and Team Productivity
Rafia Azhar, Ali Afzal Malik · 2023
Software development companies use a variety of software processes to improve team productivity and software quality. Each software process has its own set of patterns and practices. These process patterns are general reusable solutions to common problems that arise anywhere in the software development lifecycle. The main goals of this research are to identify the commonly used software process patterns in the Pakistani software industry and to quantitatively measure the impact of some of these common software process patterns on the quality of the software produced and the productivity of the teams producing these software systems. To achieve these goals, first a survey was designed and conducted in the Pakistani software industry to identify the commonly used software process patterns. Three of these identified patterns – daily scrum, test-driven development, and small releases - were then shortlisted for a set of controlled experiments. These controlled experiments were performed using two consecutive sprints of three different real-life projects each undertaken at a different software house. Values derived from the data obtained in the controlled experiments were calculated using three metrics - team productivity, defect density and weighted defect density. Results of these experiments conclusively demonstrated that each of these three selected software process patterns has a positive impact on both team productivity and software quality.