人月単価とは何か?基本の定義と計算式
システム開発の見積もりを受け取ったとき、「人月単価」という言葉が登場することは多いはずです。人月単価とは、エンジニア1人が1ヶ月フルタイムで稼働した場合の費用単価のことを指します。発注側にとっては予算策定の基準となり、エンジニア側にとっては自分の市場価値を測る指標になります。この概念を正しく理解することで、見積もりの妥当性を自分で判断できるようになります。
「人月」と「人月単価」の違い
「人月(にんげつ)」とは、作業量を表す単位です。「エンジニア1人が1ヶ月かけて行う作業量=1人月」と定義されます。たとえば「このプロジェクトは10人月かかる」という場合、1人で取り組めば10ヶ月、5人で取り組めば2ヶ月で完了する計算になります。
一方、人月単価は「1人月あたりの費用」です。人月が作業量の単位であるのに対し、人月単価はその作業量に対して支払う金額を示します。同じ10人月のプロジェクトでも、関わるエンジニアのスキルや職種によって人月単価は大きく異なります。
開発費用の計算式:人月単価 × 人数 × 期間
システム開発費用の基本的な計算式は次のとおりです。
開発費用 = 人月単価 × 人数 × 期間(月)
具体的な数値例で確認してみましょう。
- PM(プロジェクトマネージャー):単価100万円 × 1人 × 4ヶ月 = 400万円
- SE(システムエンジニア):単価80万円 × 2人 × 4ヶ月 = 640万円
- PG(プログラマー):単価60万円 × 3人 × 4ヶ月 = 720万円
- 合計:1,760万円
このように、関わる職種・人数・期間の組み合わせで総費用が決まります。見積書を受け取った際は、この計算式に当てはめて内訳を確認することが重要です。
システム開発における人月単価の職種別相場
人月単価は職種によって大きく異なります。以下の表は、国内のシステム開発市場における一般的な相場の目安です。実際の単価は後述する複数の要因によって変動するため、あくまで参考値としてご覧ください。
| 職種 | 人月単価の目安 | 主な役割 |
|---|---|---|
| プロジェクトマネージャー(PM) | 90万〜150万円程度 | 工程管理・顧客折衝・リソース調整 |
| システムアナリスト / ITアーキテクト | 100万〜160万円程度 | 要件定義・システム設計・技術選定 |
| システムエンジニア(SE) | 60万〜100万円程度 | 基本設計・詳細設計・テスト管理 |
| プログラマー(PG) | 40万〜80万円程度 | 実装・単体テスト |
| インフラエンジニア | 60万〜110万円程度 | サーバー構築・ネットワーク設計・クラウド管理 |
| QAエンジニア / テスター | 40万〜70万円程度 | 品質保証・テスト設計・不具合管理 |
※上記はあくまで市場で見られる幅の目安であり、スキル・経験・技術領域・契約形態によって大きく変動します。
プロジェクトマネージャー(PM)の相場
PMはプロジェクト全体の進行を統括する役割を担います。顧客との折衝、スケジュール管理、チームのリソース調整など責任範囲が広いため、人月単価は高めに設定されることが多く、90万〜150万円程度が一般的な目安とされています。大規模プロジェクトや高い業務知識が求められる場合はさらに高くなることもあります。
システムエンジニア(SE)の相場
SEは要件定義から基本設計・詳細設計を担当し、開発の品質を左右する重要なポジションです。経験年数やスキルセットによって幅があり、60万〜100万円程度が目安とされています。上流工程に強いSEほど単価は高くなる傾向があります。
プログラマー(PG)の相場
PGは設計書をもとに実際のコードを書く役割です。使用する言語やフレームワークの希少性によって単価が変わります。一般的には40万〜80万円程度とされており、職種の中では比較的幅が広い傾向があります。
その他職種(システムアナリスト・インフラエンジニアなど)
システムアナリストやITアーキテクトは上流工程の専門家として高い単価が設定されることが多く、100万〜160万円程度になるケースもあります。インフラエンジニアはクラウド(AWS・Azure・GCPなど)の専門知識が求められる場合、単価が上昇する傾向があります。
人月単価を左右する5つの要因
エンジニアのスキル・経験年数
最も直接的に単価に影響するのが個人のスキルと経験です。同じPGでも、経験3年と経験10年では担当できる業務の幅や品質が大きく異なります。特定の業務ドメイン(金融・医療・製造など)の知識を持つエンジニアは、希少性から単価が高くなる傾向があります。
技術領域・使用言語・フレームワーク
需要が高く供給が少ない技術スタックを扱えるエンジニアは単価が上がります。たとえばRustやKotlin、AIエンジニアリング(機械学習・LLM活用)などは現在需要が高まっており、単価に反映されやすい領域です。一方、比較的普及しているJavaやPHPのエンジニアは供給も多いため、単価は相対的に落ち着く傾向があります。
発注先の規模(大手SIer・中小・フリーランス)
大手SIerに発注する場合、管理費・間接費・利益率が上乗せされるため、人月単価は高くなりがちです。中小の開発会社やフリーランスは間接費が少ない分、単価が抑えられることがあります。ただし、大手SIerには体制の安定性・セキュリティ管理・契約リスクへの対応力といったメリットがあります。単純に「安い=良い」ではなく、プロジェクトの規模やリスク許容度に応じて選択することが重要です。
オフショア・ニアショア開発の活用
ベトナム・インド・中国などへのオフショア開発では、人月単価が国内の3分の1〜半額程度になるケースもあるとされています。ニアショア(国内の地方都市への発注)でも、都市部より10〜30%程度コストを抑えられる場合があります。
ただし、費用メリットだけに注目するのは危険です。言語・文化・時差の違いによるコミュニケーションコスト、仕様の齟齬が生じやすいリスク、品質管理のための追加工数なども考慮する必要があります。オフショア開発を成功させるには、要件定義を国内で徹底的に固めること、ブリッジSEの配置、定期的なレビュー体制の整備が不可欠です。
契約形態(準委任・請負)の違い
システム開発の契約形態は主に「準委任契約」と「請負契約」の2種類があります。
- 準委任契約:作業の遂行そのものに対して報酬が発生します。人月単価×稼働量で費用が決まるため、要件変更が多い場合でも柔軟に対応できます。ただし、成果物の完成責任は原則として受注側にないため、発注側のマネジメント関与が重要です。
- 請負契約:成果物の完成に対して報酬が発生します。仕様が明確な場合は総額が固定されやすく、予算管理がしやすい反面、仕様変更が発生すると追加費用が生じます。
人月単価の考え方は主に準委任契約で使われますが、請負契約でも見積もりの根拠として人月単価が使われることが多いです。
人月単価の見積もりを正しく読む方法
見積書で確認すべき項目
見積書を受け取ったら、以下の項目を必ず確認しましょう。
- 職種・役割ごとの人月単価:PMとPGが同じ単価になっていないか
- 工程ごとの人月数の内訳:要件定義・設計・開発・テストそれぞれの工数が明示されているか
- 稼働人数と期間:同じ総工数でも人数と期間の組み合わせが変わると管理コストが変わる
- 別途費用の有無:サーバー費用・ライセンス費用・交通費などが含まれているか
- 変更対応の取り扱い:仕様変更時の追加費用の考え方が明示されているか
単価が極端に安い・高い場合のリスク
相場より極端に安い単価が提示された場合、いくつかのリスクが考えられます。経験の浅いエンジニアのアサイン、下請け構造による品質管理の希薄化、後から追加費用が発生するケースなどです。
逆に相場より極端に高い場合も、その理由を確認することが重要です。ブランド料・管理費の上乗せなのか、それとも本当に希少なスキルや高い品質保証が含まれているのかを見極める必要があります。単価の高低だけで判断せず、提供される価値とのバランスを評価することが、適切な発注判断につながります。
システム開発費用を適切にコントロールするためのポイント
要件定義を固めて手戻りを減らす
開発コストが膨らむ最大の原因の一つが「手戻り」です。開発が進んでから仕様変更が発生すると、設計からやり直しになるケースもあり、追加の人月が発生します。発注前に要件定義に十分な時間と予算を割くことが、結果的にトータルコストの削減につながります。
スコープを段階的に分割して発注する
すべての機能を一度に開発しようとせず、MVP(最小限の製品)から始めて段階的に機能を追加するアプローチが有効です。フェーズを分けることで、初期投資を抑えながら実際の使用状況に基づいて優先度を見直すことができます。
複数社から見積もりを取り比較する
1社だけの見積もりでは相場感を掴みにくいため、最低でも3社程度から見積もりを取ることを推奨します。比較する際は金額だけでなく、工数の根拠・体制・過去の実績・コミュニケーションの質なども評価基準に含めましょう。
見積もり依頼時のチェックリスト
- 要件・機能の一覧(RFP)を準備できているか
- 職種別の人月単価と工数内訳が明示されているか
- 変更対応・追加費用の考え方が契約書に明記されているか
- 開発体制(PM・SE・PGの人数と役割)が明確か
- 納品物の定義と検収条件が合意されているか
- 複数社の見積もりを比較検討したか
よくある質問(FAQ)
人月単価と時間単価はどう違うのですか?
人月単価は「1ヶ月フルタイム稼働した場合の費用」であるのに対し、時間単価は「1時間あたりの費用」です。時間単価は人月単価を月の稼働時間(一般的に約160〜180時間)で割ることで算出できます。たとえば人月単価80万円の場合、時間単価はおよそ4,400〜5,000円程度の計算になります。短期・スポット的な依頼では時間単価が使われることもあります。
フリーランスエンジニアと開発会社では人月単価はどちらが安いですか?
一般的にフリーランスエンジニアは間接費・管理費が少ない分、開発会社より人月単価が低くなるケースが多いとされています。ただし、フリーランスへの直接発注は契約管理・プロジェクト管理を発注側が担う必要があり、その分の工数コストも考慮が必要です。プロジェクトの規模や社内のマネジメントリソースに応じて選択することが重要です。
人月単価が高いエンジニアに依頼するメリットはありますか?
あります。単価が高いエンジニアは一般的に経験・スキルが豊富で、設計の品質が高く、トラブル対応や仕様変更への対応力も高い傾向があります。結果として手戻りが少なく、プロジェクト全体のトータルコストが抑えられるケースもあります。「高単価=無駄なコスト」ではなく、品質・スピード・リスク低減とのトレードオフとして捉えることが重要です。
オフショア開発の人月単価はどのくらいですか?
国や地域、エンジニアのスキルによって大きく異なりますが、東南アジア(ベトナム・フィリピンなど)では国内相場の3分の1〜半額程度になるケースもあるとされています。ただし、ブリッジSEのコスト、コミュニケーション調整の工数、品質管理のための追加レビュー工数なども含めてトータルコストを試算することが重要です。
人月単価の交渉はどのように進めればよいですか?
交渉の前提として、市場相場を把握した上で複数社の見積もりを比較することが有効です。「他社ではこの単価だった」という事実を根拠に交渉することで、合理的な議論ができます。また、長期契約・継続発注を前提にすることで単価が下がるケースもあります。ただし、単価を下げることだけを目的にすると品質や体制に影響が出るリスクもあるため、価値に見合った適正単価を目指すことが重要です。
準委任契約と請負契約で人月単価の考え方は変わりますか?
準委任契約では、実際の稼働量(人月)に応じて費用が発生するため、人月単価がそのまま費用計算の基準になります。請負契約では成果物の完成に対して固定額が支払われますが、その見積もりの根拠として人月単価が使われることが多いです。請負の場合、仕様変更が発生すると追加の人月単価が請求されることがあるため、変更対応の取り扱いを契約書で明確にしておくことが重要です。
人月単価に含まれるコストの内訳は何ですか?
人月単価には、エンジニアへの人件費だけでなく、会社の間接費(オフィス賃料・設備費・採用費)、管理費(PM・営業コスト)、利益などが含まれています。大手SIerほどこれらの間接費の割合が高くなる傾向があります。フリーランスの場合は間接費が少ない分、人件費に近い形で単価が設定されることが多いとされています。