VCS調査

2010年3月8日

バージョン管理ツールについて議論した際、それは科学的根拠のない意見の寄せ集めだと述べました。そうしているうちに、調査を行うことで分析に偽りではあるものの、魅惑的な数値を加えることができると気づきました。Googleのスプレッドシートを使用すると、調査の実施が非常に簡単になるため、抵抗できませんでした。

2010年2月23日から2010年3月3日まで、Thoughtworksのソフトウェア開発メーリングリストで調査を実施しました。99件の回答を得ました。調査では、次のオプションを使用して、いくつかのバージョン管理ツールを評価するように全員に依頼しました。

  • 最高クラス:最高のVCSまたは同等の最高
  • OK:最高ではないが、それでOK
  • 問題あり:チームは他のものを使用する必要があると主張するでしょう
  • 危険:このツールは本当に悪く、Thoughtworksは変更を強く求めるべき
  • 意見なし:使用したことがない

結果は次のとおりでした

ツール最高OK問題あり危険意見なし有効回答数承認率 %
Subversion20726109993%
git651910148599%
Mercurial332720366297%
ClearCase03144141585%
TFS00322244540%
CVS0145911158417%
Bazaar11330801782%
Perforce126161544461%
VSS11116422773%

生の要約値に加えて、結果を要約するのに役立つ2つの計算された列を追加しました。

  • 有効回答数:「意見なし」を除く回答の合計。(例:gitの場合:65 + 19 + 1 + 0)
  • 承認率 %:最高とOKの回答の合計を有効回答数で割ったもので、パーセントで表されます。(例:gitの場合:(65 + 19)/ 85)

グラフは、承認率と有効回答数の散布図を示しています。ご覧のとおり、Subversion、git、Mercurialを中心に、高い承認と大量の回答が集中しています。また、これら3つ、Bazaar、Perforceと残りの間には、承認に大きな隔たりがあることも明らかです。

グラフは主要な情報をうまく捉えていますが、言及すべき他のいくつかの微妙な点があります。

  • Subversion、git、Mercurialの3つ組は承認率で近い位置にありますが、gitは特に多くの「最高」スコアを得ています(65対20と33)。
  • VSSは最も「危険」な回答を得ましたが、数人はそれを承認しました。
  • TFSとClearCaseの両方があまり好まれていませんが、ClearCaseはTFSよりも多くの「危険」な回答を得ました(41対22)。
  • 小さな違いは重要ではないと思うので、読みすぎないでください。VSS、TFS、ClearCaseの間の承認率の違いは有意ではないと思いますが、これら3つと上位ツールとの違いは有意です。

いくつかの注意点。これは、社内のソフトウェア開発ディスカッションリストをフォローしているThoughtWorkerの意見調査であり、それ以上のものではありません。彼らの一部は私の以前の記事によって偏っていた可能性があります(私が自分のThoughtBot意見制御ソフトウェアを確実に機能させることに成功したことがないため、ありそうもないですが)。ツールの意見は、ツール自体よりも組織に関するプロセスによって左右されることがよくあります。しかし、これらにもかかわらず、興味深いデータポイントだと思います。

また、ここから得られる重要なポイントは、gitとMercurialを比較したり、TFSとClearCaseを比較したりするなど、数値的に近いもの同士の比較ではないことを強調する必要があります。このような調査にはある程度のノイズがあり、ここでのノイズはそのような違いよりも大きいと推測されます。重要なポイントは、主要なツール(Subversion、git、Mercurial)と遅れているツールとの間の大きな承認ギャップです。これは基本的に、バージョン管理ツールのポイントです。