作成日 2016/4/23 最終更新日 2016/4/23
プロジェクトマネージャH28春 問10の解説
プロジェクトマネージャH28春 問10の解説をします。
大項目:プロジェクトの計画
小項目:資源の見積り(たぶん)
社員が週に40時間働くソフトウェア会社がある。この会社が,1人で開発すると440人時のプログラム開発を引き受けた。開発コストを次の条件で見積もるとき,10人のチームで開発する場合のコストは,1人で開発する場合のコストの約何倍になるか。
〔条件〕
(1)10人のチームでは,コミュニケーションをとるための工数が余分に発生する。
(2)コミュニケーションはチームのメンバが総当たりでとり,その工数は2人1組の組合せごとに週当たり4人時(1人につき2時間)である。
(3)社員の週当たりコストは社員間で差が無い。
(4)(1)〜(3)以外の条件は無視できる。
ア 1.2 イ 1.5 ウ 1.8 エ 2.1
まず、だるまが普通なやり方だと思った方法で解きます。
◆普通の解き方(注意:いまいちな(厳密に言うと間違っている)箇所があります)
(1)まずは、コミュニケーションが1週間でどれくらいの工数になるのかを計算します。
社員が10人の場合、組合せが何通りあるか?ですが、これは、
(10 × 10 - 10 ) ÷ 2 = 45[パターン]
になりますから、
45[パターン] × 4[人時] = 180[人時]
となります。
(2)次に、1週間あたり、どれくらいの作業量をこなせるかを計算します。
問題文では、「社員が週に40時間働く」、「10人」と言っているので、
40[時] × 10[人] - 180[人時] = 220[人時]
となります。
(3)そうしたら、「1人で開発すると440人時のプログラム開発を引き受けた」を先のほどの220[人時]で割って、作業期間を出します。
440[人時] ÷ 220[人時] = 2[週]
(4)最後に、「社員が週に40時間働く」、「10人」、そして上記の2[週]を掛けると、
40[時] × 10[人] × 2[週] = 800[人時]
となり、
800[人時] ÷ 440[人時] = 1.81...
なので、答えは「ウ」になります。
◆もう少し、ちゃんとした解き方(単位をそろえる)
上の回答は、厳密には(数学的には)駄目です。具体的には、単位がそろっていない。
ということで、単位をちゃんと合わせたのが以下になります。
(1)まずは、コミュニケーションが1週間でどれくらいの工数になるのかを計算します。
社員が10人の場合、組合せが何通りあるか?ですが、これは、
(10 × 10 - 10 ) ÷ 2 = 45[パターン]
になりますから、
45[パターン] × 4[人時/(パターン・週) ] = 180[人時/週 ]
となります。
(2)次に、1週間あたり、どれくらいの作業量をこなせるかを計算します。
問題文では、「社員が週に40時間働く」、「10人」と言っているので、
40[時/週 ] × 10[人] - 180[人時/週 ] = 220[人時/週 ]
となります。
(3)そうしたら、「1人で開発すると440人時のプログラム開発を引き受けた」を先のほどの220[人時/週 ]で割って、作業期間を出します。
440[人時] ÷ 220[人時/週 ] = 2[週]
(4)最後に、「社員が週に40時間働く」、「10人」、そして上記の2[週]を掛けると、
40[時/週 ] × 10[人] × 2[週] = 800[人時]
となり、
800[人時] ÷ 440[人時] = 1.81...
なので、答えは「ウ」になります。
情報処理試験は、答えが合っていれば、良いんじゃないの?と思うかもしれませんが。。。単位がそろってないと間違えやすくなりますので、お勧めしません。
◆まだある問題箇所の説明
(1)まずは、コミュニケーションが1週間でどれくらいの工数になるのかを計算します。
社員が10人の場合、組合せが何通りあるか?ですが、これは、
(10 × 10 - 10 ) ÷ 2 = 45[パターン]
になりますから、
に出てくる数式「(10 × 10 - 10 ) ÷ 2」はどうやって出したのかが、分かりませんね。
これも、いきなり出しているから、厳密には(数学的には)駄目です。
ということで、説明します。
こういうのは、図や表を使った方が速いです。
ということで、10人居るから、Aさん、Bさん、Cさん、Dさん、Eさん、Fさん、Gさん、Hさん、Iさん、Jさんが居るとしよう。
A B C D E F G H I J
A
B
C
D
E
F
G
H
I
J
という感じで表を書くんです。
で、まず、自分自身にはコミュニケーションをとることは無いから、
A B C D E F G H I J
A ×
B ×
C ×
D ×
E ×
F ×
G ×
H ×
I ×
J ×
とします。この時点で、残りは、
10 × 10 - 10 = 90
となります。
見れば分かるけど、A行B列とB行A列は両方とも、AさんとBさんの間のコミュニケーションを意味しているので、片方は余計です。
ということで、左下を削除します(右上を削除しても良い)。
A B C D E F G H I J
A ×
B × ×
C × × ×
D × × × ×
E × × × × ×
F × × × × × ×
G × × × × × × ×
H × × × × × × × ×
I × × × × × × × × ×
J × × × × × × × × × ×
ちょうど、残っていた部分の半分を消したから、
90 ÷ 2 = 45です。
数式としては、
(10 × 10 - 10 ) ÷ 2
です。
◆さらにまだある問題箇所の説明
(2)次に、1週間あたり、どれくらいの作業量をこなせるかを計算します。
問題文では、「社員が週に40時間働く」、「10人」と言っているので、
40[時/週 ] × 10[人] - 180[人時/週 ] = 220[人時/週 ]
となります。
(3)そうしたら、「1人で開発すると440人時のプログラム開発を引き受けた」を先のほどの220[人時/週 ]で割って、作業期間を出します。
440[人時] ÷ 220[人時/週 ] = 2[週]
(4)最後に、「社員が週に40時間働く」、「10人」、そして上記の2[週]を掛けると、
40[時/週 ] × 10[人] × 2[週] = 800[人時]
となり、
800[人時] ÷ 440[人時] = 1.81...
なので、答えは「ウ」になります。
この方法は、どうやって分かったのか?
これが分からないと、解法を暗記しないといけなくなります。
微妙にやり方が違いますが、解説します。
以下の式は、すぐに出ます。
440[人時] + コミュニケーション工数[人時] 440[人時]
「コミュニケーション工数[人時]」の部分を式変形すると、
440[人時] + 180[人時/週] × かかった時間[週] 440[人時]
になります。
そうすると、今度は、「かかった時間[週]」の部分を何とかする必要があります。
かかった時間[週] = 440[人時] ÷ ( 40[時/週] × 10[人] ) ÷ 作業効率
となるので、これを計算するには、作業効率を計算する必要があります(※作業効率は、0 < 作業効率 ≦ 1の数値で、単位はありません)。
1週間で、180[時]とられるのだから、
作業効率 = ( 40[時/週] × 10[人] × 1[週] - 180[人時]) ÷ ( 40[時/週] × 10[人] × 1[週] )
となるから、これを、かかった時間[週] = の式にぶち込むと、
かかった時間[週] = 440[人時] ÷ ( 40[時/週] × 10[人] ) ÷ { ( 40[時/週] × 10[人] × 1[週] - 180[人時]) ÷ ( 40[時/週] × 10[人] × 1[週] ) }
となるね。計算しやすいように、分数で書くと、
かかった時間[週] = 440[人時] × ( 40[時/週] × 10[人] × 1[週] ) ( 40[時/週] × 10[人] ) × ( 40[時/週] × 10[人] × 1[週] - 180[人時])
となり、計算すると、
ここまで来たら、後もう少しです。
440[人時] + 180[人時/週] × かかった時間[週] 440[人時]
の式に、かかった時間[週]を代入して、計算しましょう。すると、
= 440[人時] + 180[人時/週] × 2[週] 440[人時]
なので、答えは「ウ」です。
◆さらに、さらにまだある問題箇所の説明
作業効率が
作業効率 = ( 40[時/週] × 10[人] × 1[週] - 180[人時]) ÷ ( 40[時/週] × 10[人] × 1[週] )
とあるけど、
作業効率 = ( 40[時/週] × 10[人] × 1[週]) ÷ ( 40[時/週] × 10[人] × 1[週] + 180[人時])
にならないの?と疑問に思った方へ説明します。
結論を言うと、ならないです。
この式は、
作業効率 = 1週間で進んだ作業工数[人時] ÷ 1週間で実際に働いた工数[人時]
です。
なので、÷の後ろの「1週間で実際に働いた工数[人時]」は、「( 40[時/週] × 10[人] × 1[週] )」以外に無く、
そして、÷の前の「1週間で進んだ作業工数[人時]」は、「( 40[時/週] × 10[人] × 1[週] - 180[人時])」以外にありえません。
◆最後に、思ったこと
いや、これ、難しいですね。
使用する数学、あるいは、算数に難しいものはありませんが、式を立てるのが難しいです。
それでも、「公式を導き出す 」の「3.図やグラフを描く 」や「1.単位に着目する 」でミスはぐっと減らせる様です。
このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方は
メール をお願いします。
Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft
Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS
、Mac OS
X は米国Apple
Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。
このホームページの作成者はこれらの会社とはいっさい関係がありません。