こんにちは。
どうも、私は計算問題の中でも「人日」といった工数を求める問題が苦手なようで、これで「マネジメント系」の得点を下げていました。
そこで、弱点克服も兼ねて、本日は工数の計算方法についてまとめてみました。
では、いってみよー!
工数の計算方法について
工数とは?
「工数(こうすう)」とは、プロジェクトの作業量のことを指します。
単位としては、「人日(にんにち)」や「人月(にんげつ)」といった言葉で表され、ITパスポートの過去問を解いたり、学習を行ってきた方には耳慣れた言葉ではないでしょうか。
人日と人月について
人日:1人でこなすと 1日かかる作業量のことを 1人日と呼びます。
人月:1人でこなすと 1か月かかる作業量のことを 1人月と呼びます。
要員と期間について
工数の計算では、「要員」と「期間」という言葉が出てきます。
要員 ⋯ プロジェクトの作業者の人数のこと
期間 ⋯ プロジェクトが完了するまでの日数や月数のこと
工数の問題例(基礎編)
例題
工数が 10人月のプロジェクトがある。これを 1人の要員でこなした場合、10か月の期間がかかる。このとき、同じ作業を 2人の要員でこなした場合、どのくらいの期間がかかるかを求めよ。
解答
工数を求める式から、期間の式を出して求めていきます。
工数(人月) = 要員(人) × 期間(月)
期間(月) = 工数(人月) ÷ 要員(人)
の式が成り立ちます。これを元に計算を行なうと、
期間 = 工数 ÷ 要員 = 10(人月) ÷ 2(人) = 5(か月)
従って、解は5か月となります。
この問題は簡単だったと思います。
それでは応用です。
例題
工数が 10人月のプロジェクトがある。これを 2か月の期間で完了させるには、何人の要員が必要となるかを求めよ。
解答
これも工数を求める式を応用すると解けます。
工数(人月) = 要員(人) × 期間(月)
要員(人) = 工数(人月) ÷ 期間(月)
これより、
要員 = 工数 ÷ 期間 = 10(人月) ÷ 2(か月) = 5(人)
従って、解は5人となります。
この例題からわかりますように、
「工数 = 要員 × 期間」
「期間 = 工数 ÷ 要員」
「要員 = 工数 ÷ 期間」
という計算式が成り立つことがわかります。
ここまでは、基礎です。私がよく間違うのはここからです。
工数の問題例(応用編)
例題
システムを構成するプログラムの本数とプログラム 1 本当たりのコーディング所要工数が表のとおりであるとき,システムを 95 日間で開発するには少なくとも何人の要員が必要か。ここで,システムの開発にはコーディングの他に,設計やテストの作業が必要であり,それらの作業の遂行にはコーディング所要工数の 8 倍の工数が掛かるものとする。

基本情報技術者平成22年秋期 午前問53
解答
「何人の要員が必要か」と問われていますので、先程使用した式のうち「要員 = 」で始まる式を使用します。
その前にまず、「入力処理」「出力処理」「計算処理」のそれぞれの工数を求めておきます。
入力処理:20(本) × 1(人日) = 20(人日)
出力処理:10(本) × 3(人日) = 30(人日)
計算処理: 5(本) × 9(人日) = 45(人日)
であることがわかり、トータルで、
20 + 30 + 45 = 95(人日)
かかることがわかります。
また、問題では「システムの開発にはコーディングの他に,設計やテストの作業が必要であり,それらの作業の遂行にはコーディング所要工数の 8 倍の工数が掛かるものとする」とあり、この情報を元にシステム開発全体の工数を求めると、
システム全体の工数 = コーディングの工数 + コーディングの工数の 8 倍の工数
= 95(人日) + 95(人日) × 8(倍)
= 95 + 760
= 855(人日)
であることがわかります。
ここでやっと、「要員 = 工数 ÷ 期間」の式の登場です。式に数を当てはめていくと、
要員 = 工数 ÷ 期間 = 855(人日) ÷ 95(日) = 9(人)
従って、解は9人となります。
また、こんな問題もあります。
こちらはITパスポートで過去に出題されたことのある問題です。
例題
Cさんの生産性は,Aさんの1.5倍,Bさんの3倍とする。AさんとBさんの2人で作業すると20日掛かるソフトウェア開発の仕事がある。これをAさんとCさんで担当した場合の作業日数は何日か。
ITパスポート平成29年秋期 問40
解答
CさんはAさんの1.5倍、Bさんの3倍の生産性があります。
Aさんが1日かけて1人日であると仮定すると、
Aさん:1人
Cさん:1人 × 1.5 = 1.5人
Bさん:Cさん ÷ 3 = 1.5 ÷ 3 = 0.5人
の人数比であることがわかります。
AさんとBさんでこの人日計算を基準として計算を行なうと、
Aさん + Bさん = 1.5人
この2人が20日分作業するとすると、
20日 × 1.5人 = 30人日
の作業工数がかかることがわかります。
AさんとCさんで担当するとすると、「期間 = 工数 ÷ 要員」の式から、
期間 = AさんとBさんの工数 ÷ (Aさんの人数比 + Cさんの人数比) = 30人日 ÷ (1 + 1.5)人
= 30 ÷ 2.5
= 30 × 2 ÷ 5
= 12日
従って、解は12日となります。
人日と人がごっちゃになって理解しづらかったですが、今日は時間の都合でここまでとさせていただきます。
最期に
いかがでしたでしょうか?
基本情報技術者試験の考え方で使用する式を用いると、少しわかりやすくなったのではないでしょうか?

ではでは、参考までに
コメント