Analyzing Branching Strategies for Project Productivity: Identifying the Preferred Approach

Main Article Content

Ulvi Shakikhanli, Vilmos Bilicki

Abstract

The productivity of software development processes has been the subject of extensive research over the past few decades. Given the broad scope of the topic, even establishing a definitive definition for productivity has posed a challenge. This paper aims to investigate the influence of both repository structure and branching strategy on software productivity, a relatively unexplored area of study. As the choice of branching strategy is made early in the development process, its impact can be substantial on overall productivity. The findings of this study reveal that high productive projects tend to favour Multi repository structures over Mono repository ones. Moreover, highly productive projects predominantly adopt branching strategies such as Github Flow and GitFlow, as opposed to the Trunk-based approach. The analysis also encompasses various metrics including commit count, branch count, and programming languages utilized in the development process. With the help of those analysis a new approach for the calculation of productivity level and the estimation of development period have been proposed. By utilizing this robust dataset, this study provides objective insights into the impact of repository structure and branching strategy on software productivity.

Article Details

Section
Articles