📋プロジェクトマネジメント

工数と期間の違いとは?プロジェクト見積もりで混同しやすい2つの概念

工数(Effort)と期間(Duration)はプロジェクト見積もりで頻繁に混同される概念です。両者の定義、変換の考え方、リソース配分との関係、見積もり精度を高めるための使い分けを解説します。

    工数と期間の違いとは

    工数は「作業量」を、期間は「カレンダー上の経過時間」を表します。この2つを混同すると、スケジュールとコストの見積もりが根本的に誤ります。PMBOKでも両者を明確に区別して管理することを求めています。

    工数(Effort)と期間(Duration)は、プロジェクトの見積もりにおいて最も頻繁に混同される2つの概念です。工数は「作業量」を表し、人日や人月で測定されます。期間は「カレンダー上の経過時間」を表し、日数や週数で測定されます。

    例えば、ある作業が10人日の工数であるとき、1人で担当すれば期間は10日ですが、2人で並行して担当すれば期間は5日になります。工数は同じ10人日でも、リソースの割り当て方によって期間は変動します。逆に、期間が10日と指定されていても、1人で5時間ずつ取り組むなら工数は50時間(約6.3人日)です。

    この2つの概念を混同すると、スケジュールとコストの見積もりが根本的に誤ります。「この機能は3人月です」と報告されたとき、それが「3人が1ヶ月で完成させる」のか「1人が3ヶ月かかる」のかで、プロジェクトの完了予定日は全く異なります。見積もりの際には必ず工数と期間を区別して管理してください。

    構成要素

    工数と期間の関係

    工数(Effort)

    作業を完了するために必要な総作業量です。単位は人時間、人日、人月で表現します。工数はタスクの複雑度、技術的な難易度、品質要求に依存し、リソースの数には基本的に依存しません。ただし、コミュニケーションオーバーヘッドにより、実際には人数を増やすと総工数も増加する傾向があります。

    期間(Duration)

    タスクの開始から完了までのカレンダー上の経過日数です。稼働日ベースと暦日ベースの2つの計測方法があり、プロジェクトでは稼働日ベースが一般的です。期間は工数、リソースの数、リソースの稼働率、依存関係、制約条件によって決まります。

    稼働率

    リソースが当該タスクに割り当てられる時間の割合です。1日8時間のうち当該タスクに4時間使えるなら稼働率は50%です。複数プロジェクトを兼務している場合や、会議・管理業務の時間を差し引いた実効稼働率は50%から70%程度が現実的です。

    変換の基本式

    「期間 = 工数 / (リソース数 x 稼働率)」が基本的な変換式です。10人日の工数を2人(稼働率100%)で行えば期間は5日です。同じ10人日を2人(稼働率50%)で行えば期間は10日になります。ただし、この式はタスクが完全に並列化できることを前提としています。

    実践的な使い方

    ステップ1: 工数の見積もり

    まず工数を見積もります。タスクの作業内容、技術的な難易度、品質要求を考慮して「1人でやったら何人日かかるか」を基準に見積もります。この段階ではリソースの割り当ては考慮しません。純粋な作業量として見積もることが重要です。

    ステップ2: 並列化の可能性を判断

    見積もった工数のうち、どの部分が並列化できるかを判断します。独立した画面の開発は並列化できますが、前工程の成果物に依存する作業は並列化できません。並列化可能な割合を評価することで、リソースを追加した際の期間短縮効果を予測できます。

    ステップ3: リソースの割り当て

    利用可能なリソースとその稼働率を確認し、タスクに割り当てます。チームメンバーの他タスクへのコミットメント、会議時間、管理業務を差し引いた実効稼働率を使ってください。「フルタイムアサイン」でも実効稼働率は80%程度が現実的です。

    ステップ4: 期間の算出

    変換式を使って期間を算出します。並列化できない部分は直列に積み上げ、並列化できる部分はリソース数で割ります。コミュニケーションオーバーヘッド(リソース数に応じて増加する調整コスト)を加算して最終的な期間とします。

    ステップ5: クロスチェック

    算出した期間をチームメンバーと確認します。「10人日の作業を5人で2日で終わらせる」という計画が現実的かどうか、実務経験に基づいて検証します。経験的に、人数を2倍にしても期間は2分の1にはならず、60%から70%程度にしかならないことが多いです。

    活用場面

    プロジェクトの予算策定では工数が基準となります。コスト = 工数 x 単価で計算するため、工数の見積もり精度がコスト見積もりの精度を直接左右します。

    スケジュール策定では期間が基準となります。ガントチャートに表示されるのは期間であり、クリティカルパス分析も期間に基づいて行います。

    リソース計画では工数と期間の両方が必要です。「この4週間で何人必要か」という問いに答えるには、その期間のタスクの工数合計を稼働日数で割る必要があります。

    進捗管理では工数ベースの消化率と、期間ベースの進捗率の両方を追跡します。工数消化率は50%なのに期間は60%経過しているなら、スケジュールの遅延を示唆しています。

    注意点

    ブルックスの法則を忘れないでください。「遅れているプロジェクトに人員を追加するとさらに遅れる」。人数を増やしても期間が比例して短くならない理由を理解することが重要です。

    ブルックスの法則と増員の罠

    人数を増やせば工数は分散しますが、コミュニケーションコストが増大し、教育期間も必要です。特にプロジェクト途中の増員は、短期的には期間を延長する可能性があります。

    稼働率の過大見積もり

    パートタイムのリソース配分における稼働率の見積もりは特に注意が必要です。「50%アサイン」は「1日4時間作業する」ことを意味しますが、コンテキストスイッチのコストにより、実効的な生産性は40%程度に低下することがあります。

    間接工数の見落とし

    工数の見積もりには管理作業やコミュニケーション時間を含めてください。「純粋な開発工数」だけで見積もると、会議、レビュー、文書作成、問い合わせ対応などの間接工数が漏れ、見積もりが過少になります。間接工数は一般的に全体の20%から30%を占めます。

    非稼働日の考慮

    期間の見積もりでは非稼働日(休日、祝日、有給休暇)を考慮してください。稼働日ベースで10日の作業は、暦日では2週間以上かかります。年末年始やゴールデンウィークを跨ぐ場合はさらに延びます。

    まとめ

    工数は「作業量」、期間は「カレンダー上の経過時間」を表す異なる概念です。工数はコスト見積もりの基盤であり、期間はスケジュール管理の基盤です。変換式「期間 = 工数 / (リソース数 x 稼働率)」を基本として、並列化の可能性、コミュニケーションオーバーヘッド、実効稼働率を考慮した現実的な計画を立てることが、見積もり精度向上の鍵です。

    関連記事