【徹底解説】システム開発のコストの算出方法〜見積もり・工数もわかりやすく〜
開発会社にシステム開発の見積もりを依頼したけど、その金額が妥当か判断できない。システム開発の見積もりが、どのように算出されているのか知りたい。と悩んでいませんか?
正確な見積もりか判断できないと、必要以上の費用がかかるだけではなく、多くの人に迷惑がかかるかもしれません。なぜなら、見積もりでは作業量を算出しますが、作業量を見誤ると開発に時間がかかり、納期どおりに完成しないからです。そのため、金額だけではなく金額の根拠も知っておく必要があります。
そこで今回は、システム開発のコスト算出方法と、工数について詳しく解説していきます。
システム開発の見積もりを任されたけど、どのような算出方法があるのかわからない。自社に向いている算出方法がわからない。と悩んでいる方も参考にして頂ければと思います。
システム開発のコストの算出方法の種類
システム開発のコスト算出方法にはいくつかの種類があります。今回は、その中の5つを紹介します。
メリット・デメリットをまとめると、以下のようになります。
メリット | デメリット | |
専門家による経験則 | 概算金額を素早く知れる。 | 正確性に欠ける。 |
トップダウン法 | 実際とのズレが生じにくい。 | 似たような前例がないと使えない。 |
ボトムアップ法 | 作業の抜け漏れを防げる。似たような前例があれば、見積もりに大きな誤差が生じない。 | 似たような前例がないと、計算に誤差が生じやすい。大規模開発では項目が多くなりすぎる。 |
パラメトリック法 | 経験が少ない人でも正確に見積もりが出せる。 | 前例がないと見積もれなかったり、精度が下がってしまう。 |
プライスツーウィン法 | 費用の過不足がでない。 | 顧客満足度が上がりにくい。 |
専門家による経験則
もっとも早く見積もれる方法が、専門家による経験則から算出する方法です。
概算の見積もりを早く知りたいときに便利です。しかし、実際に受注・発注する段階では説得力に欠けるため、より正確な見積もりを出す必要があるでしょう。
トップダウン法(類推見積もり法)
類推見積もり法は、以前同じようなシステムを開発している場合に、その実績をもとに見積もる方法です。似たような前例があるシステム開発に向いています。
前例があるため、費用や工数の計算がしやすく、実際とのズレが生じにくいのがメリットです。ただし、前例がないと使えないほか、前回と同じメンバーが作業しない場合、誤差が生じやすくなります。
ボトムアップ法(工数積み上げ法)
工数積み上げ方式は、後述する工数と工数単価から見積もる方法です。機能や作業工程を細かく分け、どのくらい作業量があるかを機能や工程ごとに計算します。そのため、抜け漏れを防げるメリットがあります。
また、同様の実績がある場合、工数の計算に大きな誤差がでないため、正確に見積もれます。ただし、実績がない場合は、工数の計算に誤差が生じやすいため、見積もり者の技量が問われます。また、大規模開発の場合、項目が多くなりすぎるため、すべてを把握することが難しく、ボトムアップ法は向いていません。
パラメトリック法
パラメトリック法は、過去の実績と関連する変数との統計上の関係を使って見積もる方法です。
例えば、ある機能を過去に10個作ったことがあり20万円かかったのであれば、その機能を1個作るのに2万円かかったと計算できます。そのため、機能が50個必要なシステムの開発には「2万円×50個=100万円」かかると計算できます。
機械的に見積もりが出せるので、見積もりの経験が少ない人でもある程度正確な見積もりが出せます。しかし、前例がないと見積もりができなかったり、精度が下がってしまったりするのがデメリットです。
同じような実績を多く積んでいる企業に向いています。
プライスツーウィン法
プライスツーウィン法は、クライアントの予算に合わせてシステム開発する方法です。そのため、金額を見積もるというより、予算でどれだけのシステムが作れるかを見積もります。
予算が決められているため、費用の過不足が出ないのがメリットです。しかし、予算が少ないと、システムが小さくなったり、密度が薄くなったりしがちです。クライアントが希望する機能をすべて網羅することができないため、事前に説明していても顧客満足度が上がりにくい性質があります。
システム開発の工数とは
工数とは、「システム開発を完了するまでに必要な作業量や作業時間」のことです。
工数は「人数×時間」で計算されるため、一般的に「人月(にんげつ)」「人日(にんにち)」「人時(にんじ)」という単位が使われます。
工数でコストと納期が決まる
システム開発でコストや納期を見積もるときは、工数を見積もる必要があります。それは、システム開発で最も大きなコストが人件費だからです。そのため、工数をどのくらい正確に見積もれるかで、正確な見積もりになるかが決まります。
クライアントに漠然とこのくらいの費用がかかりますと説明しても、なかなか納得してもらえません。しかし、工程・項目ごとに工数が計算されていれば、クライアントも納得しやすくなり、信頼を得られます。
工数を見積もるのは簡単ではない
正確な工数の見積もりは、クライアントの信頼を得られますが、工数を見積もるのは意外と難しいものです。
メンバーによって時間当たりの作業量が異なりますし、得意な領域も異なります。また、他の仕事も並列していると、作業効率の良いメンバーだけに集中して作業してもらうわけにもいきません。
そのため、各メンバーのスキルを把握し、期間内にどのくらいの作業量をこなせるかを見極めることが重要になります。
システム開発のコストの計算方法
システム開発のコストは、「工数×工数単価」で計算します。
工数の単位
工数には、「人月」「人日」「人時」の3種類の単位があります。
「人月」は1人が1日8時間、1か月20日作業したときの工数です。1人が3か月(60日×8時間)作業する場合は、3人月になります。また、3人が1か月(20日×8時間)作業しても3人月です。
同様に「人日」は1人が8時間作業したときの工数、「人時」は1人が1時間作業したときの工数です。
工数単価
工数単価には、「人月単価」「人日単価」「人時単価」の3種類があります。
「人月単価」は1人月にかかるコストのことです。人月単価には、メンバーへの報酬の他に、オフィスの賃料や総務・経理などの販管費なども含まれています。そのため、人月単価は80万円~100万円くらいが相場となっており、会社や部署ごとに違います。
具体的な計算方法
大きなシステム開発では、「人月」と「人月単価」を使うことが多いです。
例えば、人月単価100万円の作業を、10人月で行う場合、システム開発のコストは「100万円×10人月=1,000万円」となります。また、10人月の作業を2人で行う場合、システム開発にかかる期間は、最短でも5か月です。
システム開発の見積もりのチェックポイント
システム開発の見積もりを作成したときに必ず確認したい項目は以下の8つです。
- 見積もりの数字に対して根拠が明確か
- 見積もりの範囲、開発環境、納品物などの前提条件を満たしているか
- 修正などが発生したときの費用が含まれているか
- 作業内容が明確か(細かな工程まで明記されているか)
- 管理工数(進捗管理・品質管理・変更管理・障害管理など)が含まれているか
- 調査分析項目が含まれているか
- ソフトウェア・ハードウェア・サーバーなどの機材の購入代が含まれているか
- 検収方法や条件について明確になっているか
見積もりは複数社に相見積もりを取ることが当たり前になっています。「システム開発一式」として見積もりを提出するより、内容の詳細が書かれていたほうがクライアントも検討しやすくなります。納品後にトラブルとならないためにも、最低限上記の8項目が書かれているかチェックしておきましょう。
各項目の詳細については、「誰でもシステム開発の見積もり根拠をチェック・評価できるようになる方法~工数・妥当性の基礎知識~」の記事をご覧ください。
まとめ
今回は、システム開発のコスト算出方法と、工数について詳しく解説してきました。
コストの算出方法を6種類紹介しましたが、それぞれにメリット・デメリットがあります。素早く算出したいのか、正確に算出したいのか、似たような前例があるのか、ないのかによって使い分けましょう。
また、工数とコストの関係についても紹介してきました。工数を正しく見積もることが、コストを正しく算出することになります。工数を正確に見積もるのは簡単なことではありませんが、クライアントの信頼を得るためにも、正確な見積もりを心がけましょう。
ご興味を持たれた方は、以下URLより弊社サービスをご覧ください。