Coda

Why Good Developers Write Bad Code: An Observational Case Study of the Impacts of Organizational Factors on Software Quality

September 4, 2020

創立40年以上の電気通信系企業における内製システムのリプレースプロジェクトを観察し、コードに悪影響をおよぼす10の組織的な要因をまとめた。 表題には、”Good Developers”とあるが、開発者のスキルの高さは議論されていない。 列挙された要因は、包括的ではなく、また、あくまでコードの品質を悪化させるものであり、プロジェクトの失敗に直結するわけではない。

リプレース対象は、COBOLで書かれたレガシーシステム、Web UIからなり、 モバイル機器や複数のデータベースと通信する。 2010から2012年にかけて同システムのリプレースが試みられたが、システム結合フェーズでプロジェクトが失敗した。 観察である今回の案件は、2013年から2014年12月にかけて実施され、この失敗したプロジェクトの資料を再利用している。 プロジェクトはウォーターフォールモデルですすめられた。

著者らは、隔週のミーティングに参加し、議論には加わらない非参加観察法でコードに悪影響を要因を調べた。 参加必須のメンバーは、フルタイムでプロジェクトに関わる8人の開発者と彼らを管理するプロダクトマネージャ1人である。 会議では、メンバーが順番に先週の進捗と技術的ないし管理上を報告する。 1回あたりの会議の時間は1時間である。 議題によっては、テスターやデータベースの管理者などのプロジェクト関係者が最大で15人参加し、電話会議を通して最大で5人の利害関係者が参加した。

著者らがまとめた要因は次の表のとおり。

results