Skip to main content
QUICK REVIEW

[論文レビュー] Code Red: The Business Impact of Code Quality -- A Quantitative Study of 39 Proprietary Production Codebases

Adam Tornhill, Markus Borg|arXiv (Cornell University)|Mar 8, 2022
Software Engineering Research被引用数 4
ひとこと要約

本研究は、コードの健全性指標、バージョン管理データ、Jiraのイシュー追跡を用いて、39の独自プロダクションコードベースを定量的に分析し、低品質なコードがバグ発生率、開発時間、予測不可能性を著しく増加させることを示している。低品質なコードはバグが15倍多く、修正に平均124%長くかかり、最大サイクルタイムが9倍にまで及ぶ。これは、コード品質が技術的問題ではなく、重要なビジネス要因であることを裏付けている。

ABSTRACT

Code quality remains an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for time-to-market and new features. The resulting technical debt is estimated to waste up to 42% of developers' time. At the same time, there is a global shortage of software developers, meaning that developer productivity is key to software businesses. Our overall mission is to make code quality a business concern, not just a technical aspect. Our first goal is to understand how code quality impacts 1) the number of reported defects, 2) the time to resolve issues, and 3) the predictability of resolving issues on time. We analyze 39 proprietary production codebases from a variety of domains using the CodeScene tool based on a combination of source code analysis, version-control mining, and issue information from Jira. By analyzing activity in 30,737 files, we find that low quality code contains 15 times more defects than high quality code. Furthermore, resolving issues in low quality code takes on average 124% more time in development. Finally, we report that issue resolutions in low quality code involve higher uncertainty manifested as 9 times longer maximum cycle times. This study provides evidence that code quality cannot be dismissed as a technical concern. With 15 times fewer defects, twice the development speed, and substantially more predictable issue resolution times, the business advantage of high quality code should be unmistakably clear.

研究の動機と目的

  • コード品質がバグ発生率、開発時間、イシュー解決の予測可能性に与えるビジネス的影響を定量化すること。
  • ビジネスマネージャーにとって共感できる測定可能なKPIが不足している問題を解決すること。
  • 技術的負債や低品質なコードが開発者の時間を著しく浪費し、チームの生産性を低下させることを実証すること。
  • 高いコード品質が開発スピードの向上、バグ削減、スケジュールの予測可能性向上をもたらす実証的証拠を提供すること。
  • コード品質を単なる技術的懸念ではなく、根本的なビジネス目標として位置づけること。

提案手法

  • 本研究では、コード品質の代理指標としてCodeSceneのCode Health指標を用い、ファイルを「健全(Healthy)」「警告(Warning)」「赤(Alert)」の3段階に分類している。
  • ソースコード解析、バージョン管理のマイニング、Jiraのイシューデータを統合し、ファイル単位での開発滞在時間を算出している。
  • 多様な分野にまたがる39の独自プロダクションコードベースから合計30,737件のファイルを分析している。
  • コード品質レベルごとにバグ密度、平均および最大サイクルタイム、開発時間のばらつきを算出している。
  • 統計的分析により、コード健全性のカテゴリごとの開発作業量と予測可能性を比較している。
  • この手法により、開発時間とイシュー解決パターンをファイルレベルで細かく追跡可能となっている。

実験結果

リサーチクエスチョン

  • RQ1コード品質は、プロダクションコードにおける報告済みバグの数にどのように影響するか?
  • RQ2コード品質は、問題の解決に要する平均時間にどのように影響するか?
  • RQ3コード品質は、サイクルタイムのばらつきという指標で測定した場合、イシュー解決の予測可能性にどの程度影響を与えるか?
  • RQ4コード品質は、イシュー解決の最大サイクルタイムにどのように影響するか?
  • RQ5コード品質と開発作業の不確実性の関係は何か?

主な発見

  • 低品質なコード(赤色のコード健全性)は、高品質なコード(健全コード)に比べて15倍のバグを含む。
  • 低品質なコードの問題解決には、高品質なコードに比べて平均で124%長い時間がかかる。
  • 低品質なコードにおけるイシュー解決の最大サイクルタイムは、高品質なコードの9倍にのぼる。
  • 低品質なコードの変更における開発時間には顕著なばらつきがあり、予測不可能性が高まっている。
  • 警告(Warning)カテゴリのコードですら、健全コードに比べて78%長い開発時間を要しており、中程度の品質問題が顕著なビジネス的影響を持つことが示された。
  • 低品質なコードにおける開発時間の高いばらつきは、ストレスを増大させ、計画の正確性を低下させ、チームのパフォーマンスと持続可能性に悪影響を及ぼす。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。