COST / 費用
ソフトウェア開発費について、説明している事業者さんは少ないように思います。依頼される側も最も気になるところです。TVドラマ等で、一瞬でプログラムを書いたり、一晩でシステム構築したりしてますが、そんなに簡単にできるものではないのです。できていたとしたら何かの丸コピーです。弊方のお客様でも依頼前の予想と異なり中止される方もいらっしゃいます。そこで現実のところをご説明していきたいと思います。
費用は何で決まるのか?
概ね作業時間できまります。概ね1か月180時間で50〜120万が相場のようです。 金額は、個人〜下請けありの法人で幅があるようです。 弊社では、得意分野に応じて、70〜90万で行っています。
開発に必要なツールが新たに必要な場合は、その費用ものってきます。 現在はアプリはIDEなどもフリーも多いので、 組込みソフトで評価ボートや専用計測器が必要になる場合があります。
作業時間は何で決まるのか?
大昔、今頃はプログラミング自動化されると予測されていましたが、 まだまだそんなことはなてようです。
プログラムを一行一行書くのが実情です。では、一行を完成させるのにどのくらいの時間がかかるでしょうか? 一行の文字数は、10〜100行くらいでしょうか? 1分は無理ですね。せいぜい10分は必要でしょう。さらに各一行が連携して動作しますから、連携テストも必要です。
よって概ねプログラム行数、即ち「規模」で作業時間が決まってくると言ってよいでしょう。 (組込みソフトでのROMサイズではありません)
しかしながらプログラミング内容を予測し、正確に「規模」見積することは、とても難しいです。 恐らく「規模」では見積せず、「工数」のみで見積されている事業者さんが多いと思います。これではお互いにリスクがあります。
弊社では、極力「規模」を行っています。調査などやってみないと分からない事項は、消費した実時間でご請求しています。
作業時間と規模の関係
「規模」が見積できたとして、どうやって作業時間に変換するのでしょうか? これには「生産効率」「開発効率」なる指標値があります。
「生産効率」は、一カ月に完成させられるプログラミング行数です。 プログラミング言語、分野、稼働プラットフォームにより異なります。 例えば、Visual Bacicの場合、同じ機能を作るのに、C++より少ない行数で済むため、「生産効率」は高くなります。
同じC言語でも、PCアプリより、OSの無い組込みソフトでは、「生産効率」は高くなります。これは開発で使用する機器(PC)と、プログラムが動作するプラットフォーム(電子機器)が異なるため、デバックに手間がかかるためです。(「組込みでアセンブラ」は最低となります)
開発工程や完成レベルによっても変わります。お客様でシステムテストを行う場合、「生産効率」は高くなります。プロトタイプで障害系の作り込みが不要であれば、「生産効率」は高くなります。
しかしながら「生産効率」を持たない事業者さんも多いと思います。
以降、執筆中