ソフトウェア開発をエンジニアリングたらしめるものは何か

What makes software development engineering

ソフトウェア開発をエンジニアリングたらしめるものは何か

ソフトウェア開発が他の工学分野と違って感じられるのはなぜか。1968年のNATO Software Engineering Conferenceでの議論を出発点に、工学の定義を確認し、ECサイトの性能改善を例に、問題の測定から複数の解決策の比較、見積もりと実測のフィードバックまでを解説する。工学的手法は必須ではないが、ソフトウェアの重要性と失敗の深刻さを考えれば、その適用が求められる場面は多い。

「ソフトウェアエンジニアリング」という言葉は、ソフトウェア製造が、確立された工学分野で伝統的な理論的基礎と実践的規律に基づく必要があることを示唆することで、意図的に挑発的に選ばれた。
  1. mikewarot

    > 実際、カナダのいくつかの州では、「ソフトウェアエンジニア」「コンピュータエンジニア」など「エンジニア」を含むコンピューティングの肩書きは、(原則として)州のエンジニアリング規制機関によってエンジニアとして認可された人々に留保されています。

    最も合理的な立場だ。米国でもこれを強制すべきだ。

    編集:そう、私はソフトウェアエンジニアは認可された専門職であるべきだが、プログラマーはそうである必要はなく、厳密さが必要ない場合にはプログラマーという呼称で十分に代用できると主張している。

    --

    もし私がエンジニアなら、浄水場の制御システムへのインターフェースで、インターネットに接続され、制御の侵入を許すようなものを信頼するはずがない。ほんの一例として。

    2015年のOPMハッキング[1]は、国家安全保障の観点から最悪のケースであり、彼らのコンピュータシステムの設計にエンジニアが関与していなかったことを明確に証明している。制御の侵入は絶対に禁止されるべきだったが、そうはならなかった。なぜあのデータベースが金庫のファイルキャビネットではなくコンピュータに置かれたのか、なぜ他のシステムに接続され、要求に応じて手動で制御されたデータ持ち出しを行う完全なエアギャップ状態になっていなかったのか、私にはわからない。

    [1] https://en.wikipedia.org/wiki/2015_Office_of_Personnel_Manag...

  2. randysalami

    ソフトウェアの仕事のうちエンジニアリングと言えるのは一部だけだと思う。もし私が(雇用に関して)自分をソフトウェアエンジニアと呼ぶなら、それは実際に「ソフトウェアの開発、運用、保守への体系的で規律ある定量的なアプローチ」を行っているからだ。口先だけではない。そうでなければ、私はソフトウェアという言葉が肩書きにあってもなくても(ソフトウェアを扱う仕事であっても)、何か別のものだ。仕事以外では、私は本質的に自分をソフトウェアエンジンだと考えているが、仕事で必要なら、それをより低く扱うことに問題はない。

  3. woah

    ヨーロッパのどの地域でも強力なバリスタを造るために適切な弾力性を持つ苗木や枝を選べず、あるいは城壁の下に坑道を計画・指揮できないなら、自分をエンジニアと呼ぶことはできない。以上。

  4. tfrancisl

    エンジニアリング設計プロセスを使うなら、それはエンジニアリングだ。

  5. kerblang

    著者は1968年のNATO SECで人々が対処しようとした複雑性の危機を説明することから始めるが、その後、計算とキャッシュを伴う問題解決の取り組みとしてのエンジニアリングについて語る。

    複雑性の危機が続いているのは驚きだろうか?現代のシステムでは依存関係が手に負えないほど激しくなり、セキュリティ問題を含むあらゆる混乱を引き起こしている。学界はこれにほとんど関心がないようだ。

この日のほかの記事

2026-09-29