3

私には、これは本当にばかげた質問のように聞こえます。

ビルドツールを使用しないのはなぜですか?

ただし、同僚に、なぜ何らかのビルド ツールを使用する必要があるのか​​を説明する必要があります。

彼は、より多くのプログラマーと一緒にチームとして作業するという考えに真剣に取り組んでいますが、より大きなチームで作業するためにビルド プロセスで何を変更する必要があるかという全体像を理解していません。(つまり、コードの防御的プログラミング/ユニット テスト、バグ データベースの作成、モジュラー ライブラリのプログラミング、サブリポジトリを使用したバージョン管理へのモジュールの格納

これは、ROI を証明する必要があるテクノロジのかなり大きなスタックです...つまり、コンパイルをクリックするだけではなく、ビルド ツールを使用することの ROI から始めることにしました。

4

4 に答える 4

2

有効な ROI を得るには、投資のコストと、投資によってもたらされる節約または追加の収益のコストが必要です。

Ant や Maven (私なら Maven を使用します) のようなツールの場合、ライセンス料はかかりませんが、ツールに関するスキルを構築する必要があり、費用がかかる場合があります。

これらの自動化ツールの主な利点は次のとおりです。

  1. チームメンバーのオンボーディングを加速します。
  2. ビルド プロセスを文書化します。
  3. 自動テストによる品質の向上;
  4. ビルドの一貫性を確保します。

それぞれに値札を付ける必要があります。優れた IDE が構築とテストを行ってくれると主張することができます。しかし、これはユーザーごとに異なります。新しい開発者が有効なビルド環境を手に入れるのに 4 時間かかり、誰かが助けてくれているとしましょう。これには X のコストがかかりますが、自動化されたプロセスによって大幅に削減されます。それに加えて、バグを修正するのにどれだけの費用がかかりますか (ビルド プロセスによってすべてが回避されるわけではありませんが、30% が回避されるとしましょう)。これらが費用です。

それを、あなたの同僚がそのツールを学ぶためにどれだけ投資しなければならないかを比較してください (これは、そのようなツールを使用するための 1 回限りのコストです)。でも、あなたの同僚を悩ませているのは理屈よりも恐怖だと思います。

ROI は、使用されている値に同意するように人に示してから、より多くの利益をもたらします。そのため、過去のプロジェクト費用を使用してこれを行うようにしてください。この場合、お金ではなく時間を比較できます。人々が一貫性のないビルドに頭をぶつけると、プロジェクトが大幅に遅れることがあります。

于 2010-05-28T19:46:57.890 に答える
1

それがあなた自身のビジネスであろうと、他の誰かのために働いていることであろうと、私がそれについて考える方法。ツールを使用することで、少なくともツールの取得に費やされた費用を節約できる場合、それは価値のある投資です。お金を節約することは、次のことに費やす時間に関連している可能性があることに注意してください。

  • 計画 (ソフトウェアまたはその他)
  • 設計開発
  • 記録の保持 (例: バグ/ソース/ビジネス管理者の履歴を追跡する時間)
  • ツールが実行できる単調なタスク (バックアップ?)
  • ツールがあなたのためにできる問題であなた自身を心配してください。

ツールには通常、コストもかかる初期トレーニング/学習が必要であることを忘れないでください。そのため、ツールが 1 回限りのものである場合、学習のコストがツールのコストを上回るかどうかを検討する必要がある場合があります。

質問の根拠に戻ります...たとえば、ビルド ツールが $1000 の場合、時間は $100/時間です。ビルド ツールを複数回使用する予定であるため、ツールのトレーニング コストは無視します。

最終的なビルド環境を作成するツールで 0.5 時間を費やす必要がある場合、数学は次のように述べています。

ツールのコスト = $1000 + (0.5 x $100) = $1050

ビルド環境を手動でセットアップするのに 12 時間かかる場合

ツールなしの費用 = 12 x $100 = $1200

または、もう少し現実的な例として、6 つの今後のプロジェクトを見ることができます。各プロジェクトのセットアップには、ビルド ツールを使用する場合は 0.5 時間、使用しない場合は 3 時間かかります。

ツールを使用した場合の費用 = $1000 + (6 x (0.5 x 100)) = $1300 ツールを使用しない場合の費用 = 6 x (3 x 100) = $1800

これらのシナリオでのビルド ツールは、価値のある投資と見なされるようです。

お役に立てれば...

于 2010-05-28T20:04:15.743 に答える
1

Ant は、すべてのプログラミング ショップで明らかに有益であるだけではありません。ビルド プロセスにはどの程度の統合が含まれますか? どのツールを使用していますか? どの CI サーバーを選択しましたか?

簡単な答えは、Ant が時間を節約するときの ROI は高く、どれだけ時間を節約できるかを決定する際には、状況に関する詳細と経験のみが関係するということです。

私たちの場合、Nant を使用してデータベースを構築します。これは、データベースの構築にコマンド ライン レベルの手順が多数含まれているためです。VS 2010 と TestDriven.Net は他のどのビルド ソリューションよりもはるかにコンテキストに敏感であり、優れた CI サーバーである TeamCity は Visual Studio のビルド プロセスをネイティブに理解するため、.NET ソフトウェアでは Nant を使用しません。

于 2010-05-28T19:45:37.100 に答える
1

まず第一に、ビルドは単にコンパイルするだけではなく、通常はコードのコンパイル、テストのコンパイル、テストの実行、品質チェックの実行、コードのパッケージ化、パーツの組み立て、場合によってはデプロイなどの手順を含みます。

第二に、自動化されたビルドは、上記の手順を長期的に手動で実行するよりも常に ROI が高いことは明らかです (人間が間違いを犯すこと、IDE に依存したくないことは言うまでもありません。別の、場合によってはヘッドレスのプラットフォームなどでビルドを実行したい場合があります)。

第 3 に、ビルドの自動化は継続的インテグレーションの絶対的な要件であり、誰もが従うべきベスト プラクティスであることが知られています (できるだけ早くフィードバックが必要であり、問​​題が解決されるまでシステムにさらに影響を与えたくありません)。ビッグバン統合)。

したがって、私にとって問題は ROI ではなく、健全性です。念のため、ここに少し引用します ( Three Strikes And You Automateも参照してください)。

システム管理の自明の理が 1 つあるとすれば、それは次のとおりです。単純で退屈な作業を 2 回以上行っていることに気付いた場合は、それを自動化します。

于 2010-05-28T19:53:43.043 に答える