Table of Contents
Fetching ...

Industrial Code Quality Benchmarks: Toward Gamification of Software Maintainability

Markus Borg, Amogha Udayakumar, Adam Tornhill

TL;DR

The paper tackles how to motivate long-term software maintainability amid mounting technical debt by proposing anonymous leaderboards as a gamification mechanism. It analyzes roughly 1,000 proprietary projects using CodeHealth, employing average and hotspot metrics and multiple segmentation schemes to assess feasibility and design considerations for cross-company benchmarking. Key findings show maintainability scores cluster at high values but exhibit a left skew; size weighting reveals more pronounced TD in larger or older codebases and uncovers nuanced patterns across industry clusters, project size, age, and language. The authors outline a GOAL-driven blueprint for building an anonymous leaderboard platform and discuss future directions, including data-envelopment analysis, to evaluate benchmarking efficiency and impact on TD remediation.

Abstract

Software maintainability is essential for long-term success in the software industry. Despite widespread evidence of the high costs associated with poor maintainability, market pressure drives many organizations to prioritize short-term releases. This focus leads to accumulating technical debt worldwide. In this preliminary work, we propose maintainability gamification through anonymous leaderboards to encourage organizations to maintain a sustained focus on code quality. Our approach envisions benchmarking to foster motivation and urgency across companies by highlighting thresholds for leaders and laggards. To initiate this concept, we analyze a sample of over 1,000 proprietary projects using CodeHealth scores. By examining the distribution of these scores across various dimensions, we assess the feasibility of creating effective leaderboards. Findings from this study offer valuable insights for future design activities in maintainability gamification.

Industrial Code Quality Benchmarks: Toward Gamification of Software Maintainability

TL;DR

The paper tackles how to motivate long-term software maintainability amid mounting technical debt by proposing anonymous leaderboards as a gamification mechanism. It analyzes roughly 1,000 proprietary projects using CodeHealth, employing average and hotspot metrics and multiple segmentation schemes to assess feasibility and design considerations for cross-company benchmarking. Key findings show maintainability scores cluster at high values but exhibit a left skew; size weighting reveals more pronounced TD in larger or older codebases and uncovers nuanced patterns across industry clusters, project size, age, and language. The authors outline a GOAL-driven blueprint for building an anonymous leaderboard platform and discuss future directions, including data-envelopment analysis, to evaluate benchmarking efficiency and impact on TD remediation.

Abstract

Software maintainability is essential for long-term success in the software industry. Despite widespread evidence of the high costs associated with poor maintainability, market pressure drives many organizations to prioritize short-term releases. This focus leads to accumulating technical debt worldwide. In this preliminary work, we propose maintainability gamification through anonymous leaderboards to encourage organizations to maintain a sustained focus on code quality. Our approach envisions benchmarking to foster motivation and urgency across companies by highlighting thresholds for leaders and laggards. To initiate this concept, we analyze a sample of over 1,000 proprietary projects using CodeHealth scores. By examining the distribution of these scores across various dimensions, we assess the feasibility of creating effective leaderboards. Findings from this study offer valuable insights for future design activities in maintainability gamification.

Paper Structure

This paper contains 16 sections, 6 figures.

Figures (6)

  • Figure 1: Distribution of CodeHealth in the dataset.
  • Figure 2: Maintainability benchmarking per industry sector cluster.
  • Figure 3: Maintainability grouped by project size.
  • Figure 4: Maintainability grouped by company size.
  • Figure 5: Maintainability grouped by codebase age.
  • ...and 1 more figures