旧サーバー

工数(人月)で作業見積りをすると合わない?!

プロジェクト管理をするときにどうやって作業見積りをするだろうか。
WBSを作成して、それぞれに作業工数(人月)を割り当てて、作業メンバーをそれに当てはめて・・・。
(Aさんは1人月、Bさんも1人月、だから2人月分の作業を割り当てる、、、ような。)
大体こんな感じなのだろうか。
※もちろん別の方法は多々あるが。というか、そんなことしないよ!って方は流して下さい。ヽ(´ー`)ノ

作業を工数(人月)で管理すると、プロジェクトがうまく行っていないときに管理が大変になる。

 [b]『作業要員の工数』[/b] と [b]『作業に係る工数』[/b] が不一致になるのだ。

よくある作業の遅れというやつだ。
一度、予定が崩れてしまうと芋づる的に波及してしまうこともある。
※うまくいっている場合は、ズレが発生しないので問題はない。

そもそも、『設計書を1つ作成するのに、0.1人月かかる』とするようなものは、いかがなものかと。

 誰がやった場合の0.1人月なのか。
 どの端末でやった場合の0.1人月なのか。
 どういう考え方でやった場合の0.1人月なのか。
 何を理解していれば0.1人月で作成できるのか。
 0.1人月には、バッファがあるのか、ないのか。
                            ・・・などなど。

作業を開始する場合には、これらの意識を合わせる必要がある。
例えば、それでスケジュールを作成すると

 Aさん:1ヶ月に10設計書作成する。 = 作業工数1人月 (0.1×10)
 Bさん:1ヶ月に10設計書作成する。 = 作業工数1人月 (0.1×10)

となるのではなかろうか。
でも実際の進捗は、個人の能力関わってくる。
ベテラン先輩は、効率よく作成するだろうし、不慣れな新人さんは、作成に時間がかかってしまう。

実際に以下のような、開発メンバーの進捗だとしよう。

 Aさん:1ヶ月に1設計書を作成することができる。
 Bさん:1ヶ月に10設計書を作成することができる。

このような状態で、スケジュール上を引きなおすことができるだろうか。

 Aさん:1ヶ月に1設計書作成する。 = 作業工数0.1人月 (0.1×1)
 Bさん:1ヶ月に10設計書作成する。 = 作業工数1人月 (0.1×10)

この修正ができるのでれば、工数(人月)で作業見積りをしても良いと思う。
でも、大概これではダメだと指摘が入る。
だって、実際には、毎日会社に来て作業をするにも関わらず、Aさんは0.1人月の仕事しかしないように見えるからだ。
ここで出てくるのが、作業の重み付けだったり、係数を掛けることでの調整だったりする。
うまく出来るのなら良いと思いますが、「重み付け」や「係数」を正しく算出することは大変です。
多数のプロジェクトの実績値から算出したりしますが、そのときと同じ開発メンバーでないこともあるでしょう。
ましてや全然違う開発言語だとすれば、その信憑性は怪しいものです。

では、どうするのかですが

 [b]『作業要員の工数』[/b] と [b]『作業に係る工数』[/b] を分けて考える

のは、どうでしょう。

作業する人は、1ヶ月作業をすれば1人月になるのは、紛れもない事実である。
これが、[b]『作業要員の工数』[/b]となる。

次に、『作業に係る工数』だが、

 [b]『作業に係る工数』 = 『作業に係るポイント』[/b]

としてみよう。
また作業は、チームで作業することとし、1設計書を作成するのに、1ポイントと考えてみよう。

つまり、今回のケースではAさんとBさんがチームで作業をした場合、1ヶ月で可能な作業量は

 Aさんの1ポイント(1設計書) + Bさんの10ポイント(10設計書) = 11ポイント

である。

作成する設計書の数が22設計書あったとすると、

 [b]『作業に係るポイント』 = 22ポイント[/b]

であり、チームは1ヶ月で11ポイントの作業をこなすことができるので、2ヶ月で作成完了し
 
 [b]『作業に係る工数』 = 4人月[/b]

となる。

あたり前だろうか?!
これを工数(人月)で作業見積りすると

 [b]22設計書 × 0.1人月 = 2.2人月[/b]

になる。

今回のケースでは、[b]1.8人月[/b](4人月 – 2.2人月)の見積り差が出てしまう。(´д`;)
そして、この分が遅れとなって出てくるのだ。

作業可能なポイントをどうやって見積もるかは、実績値が一番だと思います。
1週間くらいかけて、チーム作業可能量を見積もるのです。(短納期の場合は、難しいでしょうけど。)

でも、ここまでに行き着くための付帯作業も沢山ありますけどね。
また、一概に工数(人月)で作業見積りが良くないということではなく、この方法でうまくいくケースも多々あります。
プロジェクト、要員、期間、顧客、環境・・・等々を考慮して決定されるべきである。
自分(プロジェクト)に合った手法を確立したいものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

『元気玉』の作り方

2010年7月8日