ソフトウェア・デファインド(Software Defined)の罠 (99/365)
モノづくりに携わっていると、「試作」と「量産」という言葉がよく使われます。どちらも、大きくモノづくりのプロセスを表しているのですが、その目的と内容は大きく違います。
でも、最近そこを理解していない人が多く見られるように感じます。
原因のひとつは、ここ20年多くの新しいサービスは、インターネット、クラウド、といった高度に統合された環境の上で、マイクロサービスとか、アプリケーションと呼ばれるソフトウェアで実現されてきたからでしょう。
かつて製品と呼ばれるものは、主にハードウェアでした。自動車や家電製品がこれにあたります。
これらの製品は、ガレージや工場の一角で行われる試作品開発から始まります。試作品は、原理実証に始まり、モックアップによる形状や操作系の検証などいろいろな項目を試していきます。
完成しても試作品はあくまで試作品です。そのまま市場に出すわけにはいきません。そもそもコストがかかりすぎているはずですし、作りにくい構造かもしれないし、動作安定性もありません。
そこで、試作品は開発部門から量産部門に引き渡されます。量産部門では、部品代、材料費を精査し、さらに製造上の問題点を洗い出し、最終的には許容される原価の範囲で、決められた納期に、決められた数量を生産できるかという観点であらゆる検討、さらなる改良試作に取り組みます。
こうして初めて量産品が製品として市場に出るわけです。製品がアイデアから世に出るまで、
企画部門⇔開発部門⇔量産部門⇔営業部門
とバトンタッチが行われるわけですが、そこには常に緊張関係が生まれます。
「このデザインで強度が出せるわけないだろ!」
「こんな設計で量産できるか!」
「こんな機能のものをどう売れって言うんだ!」
このようないわゆる、Right fight (健全な戦い)を繰り返して製品の完成度があがっていきます。
しかし、最近のアプリやサービスは、クラウド上のマイクロサービスを組み合わせて、そこにオリジナルのソフトウエアを加えれば少人数で市場に出すことができます。特にクラウドの進化によって、ハードウェアはあらかた仮想化されプラットフォームが用意されていますから、モノづくり、サービスづくりは、ほぼ単体のソフトウェア開発と同値になっています。
極端なケースでは、ひとりでPC1台あればサービスを生み出せるわけです。これは一面、素晴らしいことです。いわば、製品開発の民主化です。しかし、このような業態があまりに注目されてきた弊害として、依然としてモノづくりが向き合わなければいけない、「試作」と「量産」の違いに対する意識が薄れているように感じます。
Software Defined (ソフトウェアによる機能定義)
という言葉をご存知でしょうか。確かに、最近はアプリのインストールによってスマホがいままでにない使い方を獲得しますし、テスラの電気自動車はソフトウェアアップデートによって自動運転が使えるようになったりします。
確かに、Software Defined ですよね。しかし、ソフトウェアは常にハードウェアと一体になって機能を発揮します。それはコンピューターと呼ばれるものです。「いまさらコンピュータ?」と言うなかれ。現代のIT社会はすべて「コンピュータ」の上に成り立っています。存在が見えなくなっているだけです(*)。
スマホは、ほぼ全身コンピュータの塊です。むき出しのコンピューターに、通信機能と、タッチディスプレイ、カメラ、マイク、スピーカーなどI/Fを搭載したものです。
テスラは、電気自動車というメカに、ECUと呼ばれる高性能のコンピュータ、カメラやレーダなどのセンサー、通信機能を組み合わせたものです。
Software Defined を実現するために一番大事なことは、対象となる「コンピュータ」が十分な安定性と、プログラム可変という柔軟性、そして未知の拡張に耐え得る性能余裕を持っていることです。
性能余裕とは、処理能力の余裕、メモリなど記憶容量の余裕、I/Fのバンド幅の余裕などです。さらに言うとコンピュータに接続されているセンサーも重要です。カメラセンサーのないスマホに撮影機能をインストールすることはできません。当たり前です。
最近興味深いニュースがありました。テスラは、全車種に自動運転のソフトウェアアップデートを有償で提供すると発表したのですが、一部の初期モデルは、コンピュータの、つまりハードウェアの有償更新が必要となり、訴訟問題に発展したのです。
何を言いたいかと言いますと、Software Defined は素晴らしいコンセプトですが、万能ではないということです。ハードウェアと連携した統合設計が必要ですし、すべてのソフトウェアのプラットフォームとなるハードウェア、特にコンピュータの設計は、細心の注意を持って、「量産」設計される必要があるのです。
最近「半導体」産業が注目されているのですが、「半導体」は材料の名称です。実際は、「半導体」上に構成される、「コンピューター」こそが重要なのです。このことに気付いてほしいと思います。
私は20年間「半導体業界」で開発に取り組んだのですが、「半導体業界」という呼称にずっと違和感を感じていました。私が取り組んだのは、「コンピュータ開発」だったからです。
この勘違いを正すことはとても大事なことと考えています。この話題は今後も取り上げようと思います。
今日も最後までお読みいただきありがとうございました。
(*)追伸
文中、
現代のIT社会はすべて「コンピュータ」の上に成り立っています。存在が見えなくなっているだけです(*)。
と書きました。これはまさに80年代に坂村健氏が提唱した、いたるところにコンピュータが偏在するという、
ユビキタスコンピューティング
のコンセプトそのものですね。見えなくなるのは、使う側からすれば生活の一部になるということですが、作る側から見れば、コンピュータに対する意識が薄れるという問題が生じているのかもしれません。