システム開発において、見積もりはとても重要です。見積もりの精度が低すぎると、プロジェクトの納期が延びたり、コストが予定以上にかかってしまったり等、さまざまな弊害があります。
本記事では、システム開発における人月について正しく認識し、精度の高い見積もりを算出することができるよう、人月を用いた計算方法や人月による見積もりのポイント等を解説致します。
人月の意味
人月(man month)とは「にんげつ」と読み、workload(工数)である作業量を表す単位のことで、1人が1ヶ月間作業した場合の作業量を1とする考え方です。
システム開発においては、納期及び予算の見積もり(estimate)を出す際に用いられます。例えば「5人月」であれば、5人が1ヶ月間作業するということになります。
人日の意味
人日(man day)とは「にんにち」と読み、人月と同様工数である作業量を表す単位のことで、充てがう作業が1人で行う場合何日必要かということを示します。例えば「9人日」なら、1で9日かかるということを意味します。
人時間の意味
人時間(man hour)とは「にんじかん」と読み、人月及び人日同様工数である作業量を表す単位のことで、充てがう作業が1人で行う場合何時間必要かということを示します。例えば「4人時間」であれば、1人で作業すると4時間かかる作業であるということを意味します。
人月単価とは?
人月単価とは、1人が1ヶ月作業する場合のコストのことです。システム開発において、ベンダーが発注者に対して請求する金額の算定の際用いられます。具体的には「人月単価150万円」であれば、1人が1ヶ月作業する際に、発注者がベンダーに支払う金額が150万円ということになります。
人月単価は、一律ではなくスキルや経験等によって変動します。経験の長いベテランのSEと新人SEの間には、大きな差が出ることも少なくありません。
人月単価は何によって決定するのか?
人月単価は、個々のスキルや経験値だけでなく、ベンダーの規模、発注の時期、プロジェクトの場所等にも大きく影響を受け変動します。
個々のスキルが高ければ、短期間で発注者の要望に応えることができるので、その分人月単価も高くなります。
また、ベンダーの規模が大きくなると、独自の製品を強みとしていることが多く、独自の製品を発注者に導入する場合、その製品に特化したスキルを持った人材が担当するため、その分人月単価が高くなるということにも繋がります。
さらに、最低賃金や土地の値段と同様、都心と地方では人月単価に大きな差が生じます。
適正な人月単価とは?
システム開発において、ベンダーが見積もり(estimate)を出す場合、それぞれの人月単価ではなく、一律の人月単価で概算を出すことが多々見受けられます。
よくあるパターンとしては、日本のSEの平均人月単価である約100万円が用いられます。しかし、このパターンでは適切な人月単価は算出できません。
概算で見積もり(estimate)を算出したとしても、実際の発注の際には正しい人月単価で計算するべきです。平均値は100万円であっても、新人SEであれば人月単価が60万円、逆にベテランSEであれば人月単価が130万円ということも大いにあり得るのです。
ベンダーとしては、きちんと人月単価を算出しなければ、プロジェクトが進行してから予算が足りないということになりかねませんし、逆に発注者側はベンダーに必要以上の人月単価を支払ってしまう可能性もあります。お互いのためにもきちんと事前にすり合わせを行っておくことが大切です。
工数の意味
工数(workload)とは、作業を完了するために必要な作業量を表します。
工数の単位は、時間によって変動します。大抵の場合、前述した、人月、人日等の単位を用います。
工数を扱う際の注意点
工数を扱う際には、様々な点に注意しなければなりません。本項目では、下記2点の注意点について解説致します。
- 人によってスキルや得意な分野が違うということを認識しておく
- 工数は必ず現場で作業する人とセットで考える
人によってスキルや得意な分野が違うことを認識しておく
前述したとおり、同じSEでもスキルや得意な分野が違うため、同じ人月単価で計算してはいけません。ベテランだからといって、生産性が高いかどうかはプロジェクト内容によっても異なります。
見積もり(estimate)の段階では、概算で工数を計算したとしても、実際にプロジェクトメンバーが決定した段階で、改めて工数計算を行うことが大切です。
工数は必ず現場で作業する人とセットで考える
プロジェクトの作業量を概算で数字で表す工数は、ベンダー及び発注者の間で金額のすり合わせを行う際にとても重要な指標となります。
必ずプロジェクトメンバーの任務遂行能力も視野に入れた上で工数管理を行いましょう。
人月を用いた工数の計算方法
工数は下記の式で表すことができます。
工数=作業時間×作業人数
例えば、ある作業を5人で完了するのに7ヶ月かかったというような場合には、ある作業の工数は「7ヶ月×5人=35人月」ということになります。
もし、全員の生産能力を一定とした場合の「35人月」であれば、ある作業を1ヶ月で完了させるために35人必要であるというように解釈することもできます。逆にある作業を1人で完了するためには35ヶ月かかるというように解釈する場合もあります。
人月による見積もり時の問題点
人月による見積もり(estimate)を行う際には、次の問題点を認識しておくことが大切です。
- 経験が少なければ日数を算出しにくい
- SEそれぞれのレベルが違うため、基準値を出しにくい
- 1ヶ月の定義が不明確な場合がある(例:30日または20日)
本項目では、上記3点の問題点について解説致します。
経験が少なければ、日数を算出しにくい
ベンダー側でprojectの見積もり(estimate)を算出する担当者の経験が浅ければ浅いほど、より正確な見積もり(estimate)を算出することは困難であると言えます。
仮に見積もり(estimate)を作成できたとしても、実際にprojectが進行していくと、見積もり(estimate)よりも長く日数がかかってしまうことも想定されます。
精度の高い見積もり(estimate)を算出するために、経験の長い担当者が算出するようにしましょう。
SEそれぞれのレベルが違うため、基準値を出しにくい
本記事で何度も述べているように、SEそれぞれのレベルが違うことで見積もり(estimate)はとても算出しにくいと言えます。
プロジェクトメンバーに同レベルのSEのみが構成されている場合と、バラバラのレベルのSEが構成されている場合とでは、考え方も変わってくるため注意が必要です。
1ヶ月の定義が不明確な場合がある(例:30日または20日)
人月における1ヶ月の定義が各ベンダー及び発注者によって明確に定義されていなかったり、双方において1ヶ月の定義が30日または20日とズレてしまっている場合があります。
そのため、ベンダーは見積もり(estimate)時に人月の1ヶ月の定義日数を示し、発注者との間ですり合わせを行う必要があります。
人月による正確な見積もりのポイント
人月による正確な見積もり(estimate)を行うために重要なポイントは、コスト及び納期に余裕を持った見積もり(estimate)を算出することです。
ただし、見積もり(estimate)段階では発注者側は複数のベンダーで相見積もり(estimate)をとっていることが多く、コスト及び納期によって受注するベンダーを決めるため、他社にコスト面及び納期の日数で劣っていると受注できないという側面もあります。
そういう時には、ベンダーは発注者に対し、徹底的にヒアリングを実施することが有効であると言えます。
見積もり(estimate)の段階では、発注者側においても最終的に求めているシステムのイメージを明確にできていないことが多いため、ベンダー側の経験豊富なSEが詳細なヒアリングを行うことで、精度の高い見積もり(estimate)を算出することが可能です。
ヒアリングの際には、納期や金額を口頭で質問されたとしても即答しないということが大切です。一旦持ち帰ってから、より正確な回答を行うことを心がけましょう。
IT関連の見積もりでよく使う英語
ここではIT関連の見積もり(estimate)でよく使われる英語について、ご紹介します。覚えておくことで、スムーズに見積もり(estimate)を算出することができるでしょう。
英語 | 日本語訳 | 意味 |
man month | 人月 | 工数である作業量を表す単位のことで、1人が1ヶ月間作業した場合の作業量を1とする考え方 |
man day | 人日 | 作業量を表す単位のことで、充てがう作業が1人で行う場合何日必要かということ |
man hour | 人時間 | 充てがう作業が1人で行う場合何時間必要かということ |
・man hour ・workload | 工数 | 作業を完了するために必要な作業量を表す指標のこと |
estimate | 見積もり | プロジェクトのコストや納期の概算を算出すること |
まとめ
本記事では、システム開発における人月について正しく認識し、人月を用いた計算方法や人月による見積もりのポイント等を解説致しました。
より精度の高い見積もりを算出するには、知識だけでなく、豊富な経験も必要となります。経験が浅い担当者が見積もりを算出する際には、経験豊富なベテランにアドバイスをもらいながら算出する等して、経験を積んでいくことが大切です。
精度の高い見積もりを算出することができるようになれば、発注者との認識のズレが生じることも少なくなります。ベンダーは発注者との信頼関係を築き上げるためにも、詳細なヒアリングを実施し、実際の作業とズレの少ない見積もりを算出するようにしましょう。