開発者は開発を特定のソフトウェアに限定する必要がありますか?

StackOverflow https://stackoverflow.com/questions/1485354

  •  18-09-2019
  •  | 
  •  

質問

開発者は開発用途を特定のアプリケーションに限定する必要がありますか?

ほとんどの人にとって、開発チームが同意する限り問題にならないというのが答えでしょう。

セキュリティ認証の監査を受ける企業にとって、企業のリスクと開発者の柔軟性やパフォーマンスのバランスを取る方法はあるでしょうか?

範囲

  1. コーディング/開発ソフトウェア
  2. システムソフトウェアを構築する
  3. ディストリビューションに含まれるサードパーティ ソフトウェア (ライブラリ、ユーティリティ)
  4. (追加) ワークステーション上の残りのソフトウェア

可能な解決策

  1. 開発者が目的のソフトウェアを使用する前に承認を求める必要がある、承認されたソフトウェアのホワイトリストを作成します。承認はビジネス目的/セキュリティリスクに基づいて行われます。

  2. ソフトウェアのブラックリストを作成します。開発者は使用したすべてのソフトウェアをリストします。審査委員会は定期的にリストを検討します。

チームの設定を超えて開発者ツールを制限する会社で働かなければならなかった人はいますか?彼らはこの状況にどう対処したのでしょうか?

編集

質問を整理しました。議論を少なくするように努めました。

役に立ちましたか?

解決

いいえ、開発者は使用するソフトウェアを制限すべきではありません。制限されると仕事がうまくいかなくなるからです。開発者のチームにどれだけの金額を支払っているかを考えてみてください。開発者が問題を解決するのを人為的に妨げたために、そのお金がすべてドブに捨てられることを本当に望んでいますか?

1) 会社は PC をロックダウンし、開発者を秘書として有能な扱いをする

開発者が管理者権限で何かを行う必要がある場合はどうなりますか?例えば:COM オブジェクトを登録しますか、IIS を再起動しますか、それとも構築中の製品をインストールしますか?ちょうどそれらをシャットダウンしたところです。

2) 承認されたソフトウェアのホワイトリストを作成します...

これも、ソフトウェアの量が膨大であるため、現実的ではありません。.NET 開発者として、私は定期的に (少なくとも週に 1 回) 50 を超える異なるアプリケーションを使用しており、これらのアプリケーションの多くについて、新しいアップグレードや代替品を常に評価しています。すべてをホワイトリストに通す必要がある場合、「承認」スタッフは、チームどころか、たった 1 人か 2 人の開発者だけで完全に手一杯になってしまいます。

これらのアクションのいずれかを実行すると、次のことが実現します。

  1. 開発者があなたの承認チームを待ったり、役立つツールのインストールが許可されていなかったために長くゆっくりとした退屈な方法で物事を進めたりすることで、膨大な時間とお金の山を浪費することになります。

  2. 自分自身を開発部門の敵にすることになります (開発者に頼んだことを実際に実行してもらいたい場合は良くありません)

  3. チームの士気を著しく低下させることになります。檻に閉じ込められているような気分が楽しい人は誰もいませんし、「grep さえインストールできれば 5 時間前に終わっていたのに」と考えるたびに不満を感じることになります。

より受け入れられる答えは、開発者のサボりに問題がある場合、Pidgin、MSN メッセンジャーなどの「問題のある」ソフトウェア (および Web サイト) のブラックリストを作成することです。開発者の中にはこれに反対する人もいますが、ブラックリストに記載する内容が賢明で、行き過ぎない限り、多くの人は問題なく受け入れるでしょう。

他のヒント

開発者が作業用マシンで使用できるソフトウェアを制限するのは素晴らしいアイデアです。そうすれば、開発者全員が辞めることになり、会社は給与や設備にそれほどお金をかける必要がなくなり、結果的に利益が増加します。

本当の答え:いいえ!!!

私は、開発者は、彼らがいる限り、彼らは彼らと彼らの仕事をすることができますとして使用するアプリケーションに完全にコントロールしているべきだと思います。開発者の生産性は、直接作業環境に関連していると誰もが制限され、誰もが、彼らは自分たちが好きなソフトウェアを使用するのが好きさ好きません。

はもちろん、などのバージョン管理、文書フォーマットの面でいくつかの規格があるはずですが、一般的に開発者は、彼らが望む任意のプログラムを使用する権利を持っている必要があります。

とセキュリティは、開発者の関心事であるべき - 会社の管理者は、攻撃のいずれかの種類から保護するために適切なファイアウォールを設定を気にする必要があります。

よりよい解決策は、開発者のための安全な独立した環境を作成することでしょう。あれば妥協という環境が危険にさらされて、会社の残りの部分を入れていないだろう。

開発の本質は、狡猾な淡白簡潔なソリューションを作成することです。これを達成するために、障害が起こる必要があります。

彼らはどのような、のはの一般的なインターネットを離れて取ることはありません。グーグル=コーディングヘルプ101:)

それともただ笑許さwww.stackoverflow.comを残しています。

これはさまざまな要因に依存すると思います。

1つはチームの規模です。開発者のチームが 6 人いる場合は、アプリケーションの必要性が生じたときにいつでも交渉できます。100 人の開発者からなるチームがある場合、おそらく何らかのポリシーが必要です。

もう 1 つの要素は、開発者が何をしているかです。組み込みプラットフォーム用に独自のコンパイラを使用して C コードをコンパイルする場合、常に変化する環境で分散 Web または PC ソフトウェアを作成するチームとは状況が大きく異なります。

作成するソフトウェアと対象顧客も重要です。Linux カーネルを新しいプラットフォームに移植する場合、コードがリークするかどうかはおそらくそれほど問題ではありません。OTOH、こういうケースが多いですね。 とても 違う。

他にも要因はありますが、最終的には次の 2 つの相反する目標に集約されます。

  • 開発者には創造性を刺激するため、できるだけ多くの自由を与えたいと考えています。
  • リスクを軽減するため、それらをできるだけ制限する必要があります。(ここで話しているのは、セキュリティ リスクだけでなく、機能しないソフトウェアなどを出荷するリスクについても話しています。)

会社に損害を与えないように十分な保証を与えながら、創造性を損なわない妥協点を見つける必要があります。

もちろん!あなたが繰り返し可能なビルドプロセスが必要な場合は、それはプログラマがコードの一部を生成するためのツールとして使用するために起こるランダム何でもジャンクのビットによって汚染されたくありません。あなたが構築しているものは何でもアプリケーションので、あなたも、あなたがそれを構築するために使用するツールは、ほぼ同じ期間のために利用可能であることを確認したい、はるかに長い誰もが期待するよりも持続します。インターネットからのランダムなツールは、そのようなgauranteeを提供していません。

あなたのチームは、「次のツールは、ビルド手順と他には何のために許可されている」と言うと、そのリストを短くしようとしなければなりません。

もちろん、プログラマが何をすべきかを決定するために見えるものは問題ないはずなので、全体のインターネットは限りそのわずかルックとしてだけで結構です。彼がいる限りそれは手で書かれていたかのようにあなたのチームだけでは、ツールの出力を受け入れる気にしないようマジック(またはランダムツール)によってコードを生成する場合も、それは問題ではない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top