情報家電開発必勝法 その2

今日の情報家電開発はスピードが必須です。他社が2世代、3世代と商品の進化をかさねる間にやっと第一世代の商品を出すようなことでは商品力に劣ってしまいます。
また、開発費をさげなければ結果として商品の値段をさげることもできません。
開発期間、開発費の殆どをしめるのはソフトウェア開発なので、ソフトウェアを早く安くつくれば商品力があがる、というお話を前回してから2週間たってしまいました。どうもごめんなさい。

で、ソフトウエアはどうすれば早く安くつくれるのでしょうか。ちょっと禅問答のような回答になりますが、つくらなければいいのです。つまり再利用です。
10年前と違い今日では sourceforge, github, google code といった OSS ホスティングサービスが多々あるので、なにかソフトウエアを作るまえにまず再利用できるソフトウエアをさがしてみると大概みつかることのほうが多いのではないでしょうか。
もちろん、再利用には特有の難しさがあり、ソフトウェア工学の歴史はある意味、再利用の方法論の進化の歴史だったような部分があるのも事実です。そういった話しの詳細はまた後日。
また OSS の再利用についてはとくに、そのOSS が自分のプロジェクトの requireement をどこまでみたしているのかをどうやって評価すればいいのか?といった実務的な難しさもあります。こちらも後日、詳細をご紹介いたします。

さて、再利用で大成功している例が Android です。Androidソースコードをみるとおよそ250 ほど(2.2 当時)の独立したプロジェクトの集合体なのですが、その多くが OSS プロジェクトの再利用です。Linux kernek (これだけで約35,000ファイルからなります)はもちろん、AES, Bluetooth, ICU, EXIF, WPA といった基本機能、さらに開発期間 GSM Telephony, MTP 転送 といった「そんなもんがOSSであったんだ!」と私も率直にびっくりしたようなものまで多岐にわたって再利用されています。これらをインハウスでつくった場合と比較して、節約できた期間とコストは膨大なものと思われます。だからこそ、唐突ともおもえるまでの短期間で、しかも無料で提供することさえ可能なプラットフォームを作ることができたのでしょう。

これまでの家電メーカーのソフトウェア工学の取り組みは新規に「作るための」ソフトウェア工学ばかりだったのではないでしょうか。ソフトウエアの部隊が「作らない」ための技術に取り組むことは、歯医者さんが完全な虫歯予防飲み薬を開発してしまうのと同じぐらい自分の居場所を危険にしてしまう行為なので、事情もわかります。しかし、メーカー自体が生き残りをかけてグローバルに競争している今日、既存ソフトウエアの再利用のための工学的手法への取り組みは、もう避けてはいられない状況なのではないでしょうか。

再利用のための工学的手法についてまた詳細を後日、ご説明いたします。

今日もヨタばなしでしたので仕様の参照はありません。