The Impact of Software Development Practices on Quality

avoin
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
Lataukset479

Verkkojulkaisu

DOI

Tiivistelmä

The quality of software projects is affected by a myriad of factors. One way of improving software quality is to utilise software development practices that promote or enforce software quality. The goal of this thesis is to discover software development practices that may be impactful on quality through a literature review, and to ascertain the impactfulness of the discovered practices through a survey and a case study. The research question of this thesis is: Which software development practices are the most impactful on code quality and project success? The literature review resulted in the discovery of 38 software development practices. The survey analysis was able to find positive correlation between the utilisation of the software development practices and software project quality for 14 software development practices in Chapter 4. The analysis results were used to ascertain the relative impactfulness amongst the different practices in Chapter 6. The results indicate a relatively high level of correlation with quality for many software development practices, considering how many factors affect quality in software engineering. The three most impactful software development practices were found to be establishing and enforcing code style, considering higher level design issues in code reviews, and writing unit tests with the build-operate-check pattern. There were 6 software development practices whose impactfulness was rated as 5 or 4 (out of 5) by at least 75% of the survey respondents. Notably, two of them were also the most impactful on quality according to the correlation analysis. The survey response data also revealed interesting results with respect to how surprisingly many professional software projects do not require reviewing code changes before merging them, nor reviewing code generated by generative AI tools. The results of this thesis were utilised in developing the software development life cycle (SDLC) of Evitec Solutions, the employer of the author of this thesis. The results may be utilised by individual software engineers to improve their output quality, or by organisations to develop their SDLC or similar guidelines. Moreover, they may be utilised as basis for further research – for example, the software development practices may be implemented in different ways, which could affect their impactfulness.

item.page.okmtext