Engineers長い原文を私から見て要約/意訳するとこうなります。ボーイングは航空ソフトウェアの開発費を減らすためにオフショアを企業戦略として大々的に検討。なるのを減らしたかった。時給の安いインドのソフトウェア開発企業に外注することに決めた。この企業は航空ソフトウェアの開発経験がなかった。ボーイングはこのインド企業に、できるだけ上位の仕様を送り、より下位の仕事を任せるようにした。回もやりとりするなど、ボーイングの社員はより多くの監督作業をすることになった。作られたソフトウェアは、ボーイングが培ってきた設計原則に違反していた。テストもろくにされなかった。ボーイングのベテランエンジニアは、「ボーイングの設計者の能力は時間と共に低下しているように見える」と語った。3年も遅れ、予算も数十億ドルオーバーした。ソフトウェアの欠陥によって、2018年10月と2019年3月に2件の墜落事故を起こし、346人が死亡した。「これまで外注していたソフトウェア開発を内製に戻す」と述べた。私の知識と経験では、高品質なソフトウェアを開発するには、医者が持つような体系的知識とスキルに加え、数学者やアーティストのようなセンスが求められます。ベースとなる知識・スキル・センスは同じです。重要なのは素人にはできないということです。見よう見まねで可能でしょう。高品質ソフトウェアに求められるエンジニアリングは到底実現できないことでしょう。中には、工学や科学を専攻していなくとも、独学と実務経験をもとにソフトウェアエンジニアリングのスキルを身につける方々がいます。大学でソフトウェアを学んだ人を追い抜くケースも見ますが、そう多いものではありません。企業は能力の高い人材を探したり、育つ仕組みを整備することが重要です。そのような人が自国に限られるのであれば、海外に活路を求めるというのは良策かと思います。それはオフショアという呼び方かもしれませんし、その企業のグローバル開発拠点かもしれません。逆に、人件費を下げたいだけがために経済発展途上国の企業に外注すると、自分の首を絞める結果となるのではないかと考えます。ボーイングの件は、それを示す良例ではないでしょうか。それは能力不足によることだけではありません。オフショアに限らず外注の場合、要求仕様に基づくものさえ作れば売り上げることができるので、ユーザーにとって価値のないソフトウェアを作るリスクがあります。外注か内製かについて、どのような条件であれば、どのようなバランスをとるのがビジネス上最適なのか。それを工学的、統計的に示すには多くの実験をしなければなりません。センスや信念をもとに素早く定性的な判断をするかという概ねの二択があります。企業にとっては前者を選択する余裕は無いと思います。ボーイングはソフトウェアエンジニアリングにおけるセンスのない経営者が後者を選択して失敗したのではないかと想像しました。このブログがソフトウェア開発に携わる誰かの目に留まり、何らかの意思決定に影響するでしょうか。月別アーカイブリンクヘルプはてなブログお知らせはてなブログをはじめよう!masskanekoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。