既存の製品を購入する場合と、自分でソフトウェアモジュールを作成するのは、通常いつですか?


13

いつ何をするかについてのあなたの決定の根拠を見つけようとしています。より多くのコンテキストを提供できてうれしいですが、今のところは一般的なものにしたいと思います。


オプション#3「オープンソースライブラリを使用する」についてはどうですか。実際には妥協点になります。必要に応じて調整できるからです。
ネイサンロング

@NathanLong:それは良い点ですが、OPがこの質問をしている場合、このシナリオだけが興味深いことを意味すると思います。また、製品はオープンソースであり、まだ市販されている可能性があるため、「フリーソフトウェア」を意味すると思います。また、ライセンスの種類によっては、必要に応じて微調整できるとは限りません(たとえば、再販を計画していて、互換性がない場合)。そのため、この道を見るには多くの異なる要因があります。(しかし、それは悪い提案ではない)
ヘイレム

回答:


17

それは非常に単純化されていると思いますが、そのようなことは一般的なガイドラインとして当てはまります。

個人的な環境で

  • コーディングを楽しんでいますか?
  • または、コーディングから何かを学びますか?

そして:

  • コーディングするのに十分な時間はありますか?

はいの場合、私はそれを買うよりも書くのを好みます。

プロフェッショナルな環境で

製品の総所有コスト(開発、テスト、保守、サポート、または関連費用を含む)が製品のコストよりも高く、計算された投資収益率がこのコストを相殺しない場合、購入して先に進んでください。


1
ときどき自分でいくつかのものをコーディングするために非常に重要な+1。また、「そこから何かを学ぶ」のバランスをとり、その何かを学ぶ必要があるかどうかを判断する必要があります。
ゲイリーロウ

2
@GaryRowe:ありがとう。「インターネット配管工」や現在のWebトレンド、Web開発の求人市場について冗談を言うのに抵抗する必要があります。Arggghhhh、それはかなり魅力的ですが
...-ヘイレム

プロフェッショナルな環境では、開発コストだけでなく、継続的なメンテナンスコストと開発にかかる時間もかかります。
ギルバートルブラン

1
@GilbertLeBlanc:本当、ギルバート。エンドツーエンドのコストを意味しますが、実際に製品のTCOについてであるはずなので、あなたが提案したように明確にします。
ヘイレム

9

意思決定のために考慮すべき事項

  • 開発のコスト/メンテナンスのコスト対製品のコスト/メンテナンス契約のコスト:もちろん、それは明らかなことですが、実際にはそれだけではありません。たとえば、自分の会社だけでなく他の人にも販売したいソフトウェアを使用する場合、計算はまったく異なって見えます

  • 適切な製品の入手可能性。多くのビジネスプロセスでは、利用可能な標準的なソフトウェアはありません。または、利用可能なものがありますが、100個の機能が含まれているため、わずかに異なる方法で3つだけが必要であり、他の2つの重要な機能が欠落しているため、適切ではありません。

  • サードパーティベンダーに依存したいですか?特に小規模のベンダーは、将来ベンダーが市場から消滅するリスク、または製品のさらなる開発が必要な方向に進まないリスクを常に提供します。独自の管理下にある製品の場合、開発の方向性をはるかに高めることができます。

  • 特定のソフトウェアが必要になるのはいつですか?それよりも速くなるのは、自分で開発するか、何かを購入するか、自分のプロセスに合うまでそれを適応させて展開することですか?棚から何かを買うのはより速く、時には安い選択肢のように見えるかもしれませんが、私は個人的に、企業のニーズにぴったりのソフトウェアを開発し、既存のビジネスプロセスに適合し、何かを買っていくつかを教えるよりも多くの時間を節約するシナリオを見てきました数百人のユーザーが新しい異なる方法で作業を行うため、開発コストは無視できました。


8

暗号化に関係するもの。間違った方法でソフトウェアを深刻なセキュリティの脆弱性にさらす方法は100.000ありますが、正しい方法はいくつかあります。これには高度な専門知識が必要です。


また、1を参照してください:programmers.stackexchange.com/q/175489/7167
ゲイリー・ロウ

それは良い点ですが、「これでねじ止めしないでください」というラベルにふさわしいものは他にもたくさんあると思います。ただし、個人使用の場合(および露出がなく、機密データ用でない場合)、暗号化を使用して自分でショットを与えることは依然として楽しいです。数年前に楽しみと自己学習のためにいくつかの暗号を再実装しました。見るべきたくさんの大きな問題があり、それをするのがとても楽しく、たくさんのことを学びました。
ヘイレム

暗号の購入は避けたいです。信頼できる暗号ライブラリは通常、オープンソースまたはOSの一部です。私はほとんどのクローズドソースライブラリよりも自分のコードを信頼しています。暗号コードがどのように機能するかの明確で完全な仕様を少なくとも公開していないライブラリは使用しません。
-CodesInChaos

@CodesInChaosかなりの数の商用「クローズドソース」パッケージがソースコードを提供します。
ピーターB

実際、ピアレビューコードの方が優れていると思います。また、攻撃者がアルゴリズムを知らないと仮定するのは間違いだと思います。しかし、なぜそれを暗号にリンクするのでしょうか?
ラムジカヒル

0
  • 多大な労力、既存のフィッティング製品>>製品の購入
  • 技術に対する個人的な関心、またはすべての要件に適合する製品が存在しない>>
    自分で開発する

0

個人的なレベルでは、私が望むものと書くのが面白いものの奇妙な組み合わせで開発しています。

専門的なレベルでは、@ haylemは、いつ購入するか、いつ書くかについて、全体的なポイントを示しています。見落とされがちな巨大な要素があります。それは機会です。私の意見では、大企業の場合、ビジネスをより機敏にするときに、ビジネスアプリのコアライン(すべてのビジネスアプリではない)をカスタム作成することは理にかなっています。ソフトウェアの購入に関連する機会費用が発生します。これは、企業(ITだけでなく)がベンダーのドメインの見方に縛られるためです。

ほとんどの場合、それは重要ではありません。あなたの会計システムは創造的でない方が良いでしょう。あなたのワードプロセッサは他の人のものとまったく同じになります。しかし、あなたをあなたのものにするものは、あなたのビジネスが達成しようとしているものに適応できるように、社内でより良く書かれているかもしれません。


0

それは、他のほとんどすべての答えが言っているように、費用便益の決定です。

  • このプロジェクトを社内の開発者または外部の請負業者に提供してカスタム開発するのに、工数、材料などで何がかかりますか?(通常、高い;オーバーヘッドの一部と給与と福利厚生を数えると、経験豊富な開発者は1日あたり約1ドルの費用がかかります;関係する財政状況に応じて多かれ少なかれ)
  • 既製品を既製で購入するのに費用はかかりますか?(製品によって異なります。テキストエディターなどの汎用プログラムは通常安価であり、無料でさえありますが、回路パス設計製品などの専用プログラムは数百万ドルかかる場合があります)
  • カスタム開発ソリューションからどのようなメリットが得られますか?(通常、カスタムソリューションはビジネスに近いため、自動化するか、少なくともデジタル化できます)

カスタム開発ソリューションの利点で相殺されたコストが、市販の製品のコストよりも低いかどうかにかかっています。

考慮すべき機会費用もあります。これらは開発対購入の実際のコストに含まれるべきではありませんが、より広い世界ではそれらを考慮する必要があることを理解してください。社内の開発スタッフがこの1つのプロジェクトに取り組んでいる場合、彼らは他のプロジェクトに取り組んでいません。つまり、リストに別のプロジェクトがあり、それが毎日行われていなければお金がかかっている場合、それは優先度が高くなり、カスタム開発を棚上げするか、キャンセルすることさえでき、既製のパッケージを使用します。ただし、このプロジェクトを行わないことで社内のスタッフが座っている場合、開発者のコ​​ストは削減されます。開発スタッフが働いているかどうかに関係なく、開発スタッフに支払います。そのため、開発スタッフを潜在能力で使用している場合、全体的なコストは低くなります。


0

私はあなたが専門的で商業的な文脈で質問していると仮定し、単一のライブラリーではなくあなたのシステムの大部分について話していると思います。

メイクまたは購入対メイクまたはカスタマイズ

組織が既製の製品を使用できる場合があります。たとえば、独自のワードプロセッサを作成する人はほとんどいません。MSWord、OpenOfficeなどを使用します。スプレッドシートでも同じです。独自のテンプレートまたはマクロを使用してワードプロセッサを「カスタマイズ」することもできますが、人々はそれをカスタマイズしているとは思わないことに注意してください。それは、彼らが見るように、ワードプロセッサを単に「使用する」ことです。

ウェブショップからERPシステムまで、より複雑なシステムを同じ方法で使用することが可能かもしれません。しかし、設計者やビジネス開発の人々は、標準に含まれていない変更を必要とするようになるでしょう。おそらく、チェックアウトページの再設計、または割引オファーを計算する新しい方法。

最初からそれを知っているなら、あなたの決断は本当にMakeまたはCustomizeです。Just Buyはオプションではなくなりました。そして、今そのような要件がなくても、同僚が後でそれらを思い付くことを期待していますか?

  • 会社のロゴを適切な場所にアップロードするだけでなく、システムをカスタマイズできますか?
  • それはどれほど難しいですか、それはあなたのスタッフが行うことができますか、それともベンダーに委託する必要がありますか?ビジネスモデル全体が、開発したフリーソフトウェアにプレミアムサービスを提供することを目的としている会社があることに注意してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.