「開発会社から見積もりをもらったら、『設計:3人月』『開発:8人月』と書かれていた。人月って何?」——システム開発の見積もりを初めて受け取った発注者が、最初に戸惑う言葉の一つが「人月」です。

人月の意味を理解していないと、見積もりの妥当性を判断できません。「なぜこんなに高いのか」「この金額は適正なのか」を評価するためにも、人月という概念は発注者として必ず知っておくべき知識です。

人月とは何か

人月(にんげつ)とは、「1人のエンジニアが1ヶ月働いた場合の作業量」を表す単位です。

たとえば「この機能の開発に2人月かかる」という場合、次のような意味になります。1人のエンジニアが2ヶ月間作業する、または2人のエンジニアが1ヶ月間作業する、または4人のエンジニアが2週間作業する——どれも「2人月」という同じ作業量を表しています。

つまり人月は、「人数×時間」で表される作業量の単位です。料理で例えるなら、「この料理を作るのに料理人1人が1時間かかる」という情報と同じです。2人いれば30分で作れますし、1人でも1時間かければ作れます。

システム開発の費用は、この人月に単価を掛け算して計算されます。「エンジニアの単価が月80万円で、開発に10人月かかる場合、開発費用は800万円」という計算です。

人月という単位の問題点

人月は便利な単位ですが、発注者として知っておくべき「落とし穴」があります。

落とし穴1:人数を増やしても作業量は単純に減らない

「10人月の作業なら、10人集めれば1ヶ月で終わる」と思いたくなりますが、実際はそう単純ではありません。

人が増えるほど、メンバー間のコミュニケーションコストが増大します。5人のチームより10人のチームの方が、情報共有・認識合わせ・作業の調整に時間がかかります。また、システム開発の多くの作業は、前の工程が終わらないと次の工程に進めないため、人を増やしても並行して進められる作業には限界があります。

これを「ブルックスの法則」と言います。「遅れているソフトウェアプロジェクトに人員を追加すると、さらに遅れる」という経験則で、開発の現場では広く知られています。

落とし穴2:エンジニアのスキルによって生産性が大きく異なる

1人月という単位は、誰が作業しても同じ量を意味するように見えますが、実際にはエンジニアのスキルによって生産性は大きく異なります。経験豊富なエンジニアと新人エンジニアでは、同じ作業でも品質・速度に何倍もの差が生まれることがあります。

「3人月の見積もり」でも、誰が担当するかによってアウトプットの質は変わります。安い単価の見積もりが、経験の浅いエンジニアを多く使うことで実現されているケースもあります。

落とし穴3:人月では品質が見えない

人月はあくまで「作業量」の単位であり、「品質」は表していません。同じ10人月でも、丁寧に設計・テストされたシステムと、テストを省いて作られたシステムでは、完成品の品質に大きな差があります。人月の数字だけを見ていると、品質面の違いを見落とすリスクがあります。

見積もりの人月を読み解くポイント

見積もりに記載された人月を正しく評価するために、次のポイントを確認しましょう。

確認ポイント1:工程ごとの人月の内訳を見る

「合計15人月」という数字だけでなく、要件定義・設計・開発・テスト・導入支援などの工程ごとの内訳を確認しましょう。テストの人月が極端に少ない場合、品質を犠牲にしている可能性があります。一般的にテストには開発と同程度の工数をかけるべきとされていますが、コスト削減のために削られやすい工程でもあります。

確認ポイント2:単価の設定を確認する

人月の数に掛ける「単価」が、どのレベルのエンジニアを想定しているかを確認しましょう。「シニアエンジニア:月100万円」「ジュニアエンジニア:月50万円」というように、担当するエンジニアのレベルによって単価が変わります。安い単価の見積もりが、経験の浅いエンジニアを想定している場合は、品質リスクを考慮する必要があります。

確認ポイント3:複数社の人月を比較する

相見積もりを取った際に、同じ要件に対して各社の人月がどう異なるかを比較することが重要です。A社は15人月、B社は30人月という差があった場合、なぜその差が生まれるのかを確認する必要があります。

A社が少ない人月で見積もっている理由が「効率的な開発手法を使っているから」であれば問題ありません。しかし「テストを省いているから」「要件を狭く解釈しているから」という理由であれば、後から大きな問題になります。「なぜこの人月になったのか」を開発会社に説明してもらうことで、見積もりの妥当性を判断しやすくなります。

人月から費用を逆算してみる

見積もりに記載された人月と金額を確認することで、エンジニアの単価を逆算できます。

たとえば、「開発費用300万円、10人月」という見積もりであれば、エンジニア1人月あたりの単価は30万円です。これは市場相場と比べてどうでしょうか。

日本のシステム開発における一般的なエンジニアの単価は、スキルレベルにもよりますが、60万〜150万円程度が相場です。30万円という単価は相場より大幅に低く、オフショア開発(海外発注)や経験の浅いエンジニアを想定している可能性があります。逆に200万円を超える場合は、高度な専門性を持つエンジニアを想定していると考えられます。

単価が低すぎる場合は品質リスク、高すぎる場合はコストの妥当性を確認するというアプローチで、見積もりを評価してみましょう。

「人月」に惑わされない発注者になるために

人月は有用な指標ですが、それだけで見積もりの妥当性を判断することはできません。大切なのは、人月という数字の背景にある「何を、誰が、どのように作るのか」を理解することです。

見積もりを受け取ったら、次の3つを必ず確認してください。工程ごとの人月の内訳はどうなっているか、担当するエンジニアのレベルと単価はどのくらいか、その人月になった根拠を説明してもらえるか——この3点を確認するだけで、見積もりの読み方が大きく変わります。

まとめ:人月を理解することが、適正な発注への第一歩

人月という概念を理解しておくことで、見積もりの妥当性を自分で評価できるようになります。「なんとなく高い気がする」「なんとなく安すぎる気がする」という感覚を、根拠を持って判断できるようになることが、失敗しない発注への第一歩です。

「見積もりの内容を一緒に確認してほしい」「他社との見積もりを比較したい」という段階からでも、シスナビでは丁寧にサポートしています。まずはお気軽にご相談ください。