無料の RTOS を使うのは「賢明な選択」でしょうか?

リアルタイムOS

「penny wise and pound foolish(安物買いの銭失い)」というフレーズの由来は、ロバート・バートンによる1621年の著書『The Anatomy of Melancholy (憂鬱の解剖学)』に由来します。このフレーズの背後にある考え方は、私たちは小さなコストに集中するあまり、コストを削減したり利益を増やしたりするためのより大きな機会を見逃してしまう可能性があるということです。この考え方は、組込み開発に長い間つきまとっており、今も続いています。

Glassdoor (米オンライン求人サービス大手)によると (昨年 9 月時点)、北米における組込みソフトウェアエンジニアの平均年収は 129,478 ドルです。一般的な間接費率を 40% とした場合、組込みソフトウェアエンジニアの会社の総コストは年間 181,269 ドルになります。最近の 2023 年の調査によると、平均的な開発チームは約 8 人のソフトウェアエンジニアで構成されているため、組み込みソフトウェア開発チームに関連する総人件費は年間 1,450,152 ドルと膨大です。もちろん、これは単なる平均的な金額であり、より大規模で経験豊富なチームであれば、これを簡単に超えるでしょう。

組込みソフトウェアエンジニアリングチームの年間コストが約 150 万ドルであることを考えると、企業はチームに関連するインフラストラクチャコストを最小限に抑えて予算を削減することを選択するかもしれません。たとえば、8 人のソフトウェアエンジニアのチームが「無料ツール」 (無料のコンパイラ、無料の RTOS、および無料のミドルウェアコンポーネント) を使用すると、最初は 60,000 ドル程度のコストを節約できる可能性があります。ただし、150 万ドルの開発コストと比較すると、この節約額は大きくありません。ここで疑問が生じます。非常に高価な組込みソフトウェア開発チームに無料ツールの使用を強制するのは、「penny wise and pound foolish?」なのでしょうか。私はそう思います。

余談になりますが、私自身も最近、この点を裏付ける開発ツールの経験をしました。私は新しい RTOS を半導体会社の「無料」ツールチェーンに移植していました。最初に遭遇した問題は、使用するツールスイートのバージョンを把握することでした (この特定の半導体会社が提供するさまざまなプロセッサファミリ用に、さまざまなダウンロードが存在しました)。サポートがなかったため、何をダウンロードするかを理解するだけで時間がかかりました。ようやく適切なツールを見つけてインストールしたところ、驚くほど事態は悪化しました。新しい RTOS をこの新しいツールチェーンに移植するには、アセンブリ言語ファイル1 つと C インクルードファイル1 つを更新する必要がありました。とても簡単そうに思えますが、この場合はまったくの間違いでした。コンパイラとアセンブラは非常に原始的なもので、何年も更新されていなかったようです。さらに問題なのは、ツールのドキュメントがツールの実際の動作と一致していなかったことです。ドキュメントがないことよりさらに悪いことは、間違ったドキュメントです。最終的には、いくつかのアセンブリディレクティブと命令構文の使用方法を見つけるために試行錯誤する必要がありました。コンパイラはそれほど優れたものではなく、機能が限られており、便利な組込み関数もほとんどありませんでした。全体として、これらのツールの品質と誤ったドキュメントにより、数日の損失が発生しました。1日で済むはずだった作業が4日になってしまいました。これらのツールを日常的に使用しなければならないプロの開発者を残念に思わずにはいられませんでした。

市場に投入するまでの時間、ほぼすべてのメーカーは、機能を追加し、品質を向上させ、競合に勝つという絶え間ないプレッシャーにさらされています。どの分野でも失敗すれば、重大な経済的損失が発生する可能性があります。逆に、これらの分野で成功すると、大きな経済的利益が得られる可能性があります。少し前の調査で、スケジュールが毎月遅れるごとにかなりの経済的損失が生じることが示されたことを覚えています。この同じ調査では、特定の商用 RTOS を使用している企業は、目標リリース日に間に合う可能性が大幅に高まることが示されました。商用 RTOS は、市場投入までの時間が短縮され、投資額以上の利益を生むことは明らかでした。

では、無料ツールを使用するのは「節約」なのでしょうか? 最高レベルでは、それは非常に明白であるように思えます。なぜ企業は組込みソフトウェア開発チームに年間 150 万ドルを投資し、適切なツールを備えさせないのでしょうか?

この点をより詳しく説明するために、ソフトウェアエンジニアリングチームの 1 日あたりのコストを見てみましょう (年間 250 稼働日と仮定)。年間 150 万ドルのコストは、1 日あたり 6,000 ドルに相当します。この 1 日あたりのレートでは、商用ツールオプション (コンパイラと RTOS) は 10 日間の開発労力を節約するだけで、「無料」の代替オプションよりも経済的に優れたパフォーマンスを発揮します。これは非常に低いハードルだと思います。

私の直接の経験から、商用ツールを使用することで節約される開発日数は年間 30 日程度であり、初期コストを簡単に補うことができると考えています。これには、スケジュールの確実性の向上、製品品質の向上、専用の商用ツールの使用に伴う BOM (部品表)コストの削減の可能性などに関連する節約/利益は考慮されていません。私の意見では、高価な組込みソフトウェアチームに適切なリソースを与えないことは、「penny wise and pound foolish?」であることの典型的な例です。

PX5関連製品はこちら