読者です 読者をやめる 読者になる 読者になる

分散型バージョン管理システムは実際の開発現場でどれだけ普及するか?

バージョン管理ツールは、「集中型」と「分散型」に分類できますが、OSSのバージョン管理ツールには以下のようなものがあります。

集中型 CVSSVN
分散型 Git、Mecruial、Bazaar


最近は、分散型のツールへの注目が高くなってきていますが、「実際の開発の現場でも普及するか?」というと、あまり普及するとは思わない。

OSSの開発コミュニティなど、ある程度スキルが高い開発者が集まる開発では、ブランチ管理が簡単といった分散型の効果が活きてくると思うのですが、実案件の開発現場となると、残念ながら、必ずしもそのような開発者だけではない。

数人程度の小規模プロジェクトならまだしも、大規模プロジェクトになると、レベルもバラバラな人が集まることは必至です。
そのようなプロジェクトでは、できるだけブランチは避けた方が、間違いなく混乱が少ない。


少し前のマーチン・ファウラー氏の記事ですが、バージョン管理ツールへの見解が書かれていました。

http://martinfowler.com/bliki/VersionControlTools.html


上記ページのグラフを見ると、GitやHg(Mecruial)は、SVNよりも高いスキルが必要とされています。
さらに、「お勧め度(横軸)」と「必要とされるスキル(縦軸)」を考慮すると、実案件での適用は、やはり、SVNの方が適しているように思います。


分散型を利用していて成功しているプロジェクトは、どの程度の規模まであるのでしょうかね?
あまり、情報ないんですよね。


とはいえ、バージョン管理ツールを利用していれば、まだしも良い方であり、未だに「日付ディレクトリ」で作業をしているプロジェクトも、世の中には多く見受けられます・・・

私自身は、バージョン管理(構成管理)は、全ての開発プロジェクトに共有のスキルセットだと考えているのですが、そのようになっていないプロジェクトは、どうにかしてあげたいですね。