私の現在の職場は現在移行期にあり、新しい所有者が引き継がれ、物事は最終的に標準化され、適切なガイドラインが施行されています.
しかし、私たちはまだ VSS を使用しています。VSS を使用する理由は、最初に設定したもの以外にありません。Visual Studio や、それを特に必要とするツールは使用しません。
長期的には、Subversion のようなものに移行する方がはるかに優れたソリューションになることを彼らに納得させるために、私が提起できる絶対的に最良の議論は何でしょうか。
私の現在の職場は現在移行期にあり、新しい所有者が引き継がれ、物事は最終的に標準化され、適切なガイドラインが施行されています.
しかし、私たちはまだ VSS を使用しています。VSS を使用する理由は、最初に設定したもの以外にありません。Visual Studio や、それを特に必要とするツールは使用しません。
長期的には、Subversion のようなものに移行する方がはるかに優れたソリューションになることを彼らに納得させるために、私が提起できる絶対的に最良の議論は何でしょうか。
VSS は、データベースの管理をクライアントに完全に依存しています。クライアントがネットワーク経由の書き込みの途中で間違ったタイミングで接続を切断した場合、ファイルはサーバー上でゴミ箱に捨てられます。ヒントだけでなく、すべての履歴。あなたが良いバックアップを持っていることを願っています。私はそれを経験しました。悪いニュースです。
VPN やその他のリモート接続での VSS の使用はひどいものです。SMB を使用してデータを転送しており、ヒントを得るためにファイルとそのすべてのデルタを取得する必要があります。汚い。
VSS が 1 GB のデータで動作し始めるのを見てきました。データベース エラーなど。MS (FAQ または KB のどこか) は、実際には 2GB が安全な上限であると述べています。優れた管理ツール (クライアントが亡命を実行する) がないため、これに関する警告は実際には表示されません。
ある程度のトランザクションと整合性制御を提供するサーバー プロセスを備えたものは、優れたソリューションです。
最良の議論は、なぜ彼らを転覆に切り替えさせたいのかという理由でなければなりません. :)
私は VSS についてまったく何も知りませんが、「壊れていない場合は修正しないでください」というフレーズが頭に浮かびます。VSS が壊れており、修正が必要であることを上司に示す必要があります。経営陣にどのようにお金を節約できるかを示すことができれば、さらに良い.
@ Adam Davis : ええと、Adam さん、VSS はひどいソース管理システムです。履歴の破損とデータの損失の長い歴史があります。マージが苦手で、複数の開発者をうまく処理できず、非常に遅いです。歴史も浅い。Microsoft はもはやそれを実際にはサポートしていません。彼らはそれを自社の内部開発に使用したことはなく、現在ではより最新のソリューション (VSTS) を支持して販売さえしていないことに注意してください。つまり、VSS と他のタイプのソース管理のどちらかを選択する必要がある場合は、別の方法を使用してください。
機能を確認するだけで、優れたソース管理によって次のことがもたらされます。
切り替えを証明する文書があれば、コストが削減されます。それに失敗すると、色とりどりのグラフとチャート。パワーポイントでのプレゼンテーションかもしれません。
インターネットには、VSS の欠陥に関するよく書かれた記事が散らばっています。これを VSS から遠ざけるための一連の証拠として収集します。VSS がサポートできない主要な要件 (リモート作業、他の OS のサポート、ツールの統合) を見つけ、それを使用して問題を解決します。次に、組織の要件に適したソース管理システムを見つける必要があります。Subversion がそのシステムであると確信していますか? 選択したシステムのデモンストレーションをセットアップし、これを使用してその価値を証明します。
私は以前の雇用主でこの変更を実装しました (最初は CVS に、次に SVN に)。それは成功しましたが、エッジの周りに多くのビットを構築し、多くの (時には信頼できない) オープン ソース プロジェクトに依存して、取得する必要がありました。必要なすべてのツール。後から考えると、Perforce、Vault、さらには Team System などのプロフェッショナル ツールを評価することを検討する必要がありました。これらを評価したことで、CVS/SVN が「無料」の値札に値するかどうかについて、適切な価値判断を下すことができたはずです。
分岐とフォークを処理できるようになることが始まりです。
vss と並行してしばらくの間、subversion を使用してみてください。おそらく、上司を説得するための多くの議論が見つかるでしょう。そうでないなら、あなたの上司は正しく、異動する理由はありません。
「vss問題」、「ソースセーフ破損」についてグーグルで検索するか、単にWikiページを参照してください. そうすれば、ビジネスの重要な部分に賭けることはおそらく長期的に実行可能なものではないことを彼らに納得させるはずです.
あなたのチームはどれくらいの大きさですか?(つまり、サラダドジャーかどうかではなく、メンバーの数を意味します) 非常にアクティブなユーザーが 6 人以上増え始めると、VSS は頭痛の種になります。
Microsoft がそれを使用しているとは思えません (実際、彼らはカスタマイズされた Subversion や CVS の亜種を使用しているのではないでしょうか?)。
基本的な答えは、切り替えがビジネスのニーズを満たしていることを証明する必要があるということです。例えば:
これらのことを主張するには、「これが正しい方法だからコストを下げる!」だけでなく、定量的な何かも必要です。
注意すべきことの 1 つは、最初に基本的なビジネス フィルターを通過しないと、開発者が変更を行うことが有益であると自分自身に納得させるのは簡単すぎるということです。こうなると、自分のツールに不満を抱き、経営陣が耳を傾けてくれないのではないかと二重に不満を抱く開発者になってしまいます。上記のいずれかをチェックできない場合、管理者を説得するチャンスはありません (管理者が無能でない限り、それは別の質問になります)。
Subversion over VSS を使用する理由
上司に提案したところ、かなり簡単に売れました。特に分岐の場合は、はるかに使いやすいことがわかりました (私たちのプロジェクトでは、VSS で「共有してピン留めする」のに 5 時間かかり、その後、各操作が完了するまでに余分な時間がかかりました!)。
壊れていなくても、VSS からの移行には潜在的な利点があります。まず、最も些細なことですが、新しい VSS ライセンスを購入する必要はありません。第 2 に、VSS 製品には多くの欠陥の例があります (一部は MS によっても認められています)。SVN の学習曲線は少なくとも VSS と同じくらい低く、開発者がソース管理システムに満足している場合は、それを早い段階で頻繁に使用する可能性が高くなります。それはあなたの会社のリスクを大幅に軽減することにつながり、それは良いメリットです。
他の回答に記載されている技術的なポイントに加えて、対応する準備が必要な非技術的な理由が潜んでいる可能性があります。
あなたの会社がオープンソースソフトウェアに対して何らかのポリシーを持っているかどうか (またはオープンソースソフトウェアに対する誤解された恐れがあるかどうか) を調査する必要があります。会社またはその弁護士が、どのライセンスがプロプライエタリ コードに「感染」し、どれがそうでないか、また、プロプライエタリ コードに影響を与えないオープン ソース コードで何ができるかを理解していない場合、あなたは次のことを行います。プロプライエタリ ツールからオープン ソース ツールに切り替えるのに苦労しています。(そして、あなたはより大きな教育の仕事を手にしているかもしれません。)
プロプライエタリ (VSS など) からオープン ソース (Subversion など) への切り替えを主張する際には、コードの品質と、コードに関する保証やその他の契約権が必要ないことを弁護する準備も必要です。
@Jason: VSS が壊れています。
VSS からの変更を動機付ける最も強力な方法は、ソース コードがいかに重要な資産であるかを指摘することだと思います。その誠実さでリスクを取ることは、賢明なビジネス上の選択ではありません。
プログラマーがこの資産の作成者であること、プログラマーの生産性を向上させることは、ソース コード資産の価値を高めることを意味することを付け加えてください。Joel on Software は、プログラマーへの投資がいかに彼の会社にとって大きな勝利であるかについてよく語っています。
ここでの他の回答はすべて、主張するときに指摘できる特定の理由を説明しています。