「平均の生産性(全体の生産性)」の公式と計算方法

「全体の生産性」は生産性の評価をする際に用いられます。
また、プロジェクトマネージャ試験でよく問われる内容でもあります。
計算方法、公式が直感的にわかりにくいため、順を追って解説します。

目次

結論:工程が複数あるときの「全体の生産性」の公式

一連の工程 i (例:要件定義→設計→実装…)について、それぞれの生産性をp_iとします。
(単位はFP/人月など)

このとき、全体の生産性Pは次の式で表せます。

P = \frac{1}{\displaystyle \sum_{i=1}^{n}\frac{1}{p_i}} \tag{1}

仮に、3つの工程があり、それぞれの生産性がx, y, zであるとき、全体での平均の生産性P

\begin{aligned}
P = \frac{1}{\displaystyle \frac{1}{x}+\frac{1}{y}+\frac{1}{z}}
\end{aligned}

で表されます。

簡単に理屈を述べると、1単位の最終アウトプットを仕上げるのに工程 i で必要な工数は 1/p_i なので、合計工数は \sum_i \frac{1}{p_i}
したがって、全体の生産性 Pは最終アウトプット単位/合計工数=(1)式で求められるということです。

ポイント:よく使われる算術平均((p_1+\cdots+p_n)/n)ではありません。


具体例:3工程で数値計算

全体のスコープが6 FPとします。
さらに、各工程の生産性が、それぞれ

  • 工程1:p_1 = 2 FP/人月
  • 工程2:p_2 = 3 FP/人月
  • 工程3:p_3 = 6 FP/人月

と仮定した場合の、全体での平均工数がいくつになるか計算してみます。
全体のスコープが6 FPのため、それぞれの工程でかかる工数は

  • 工程1: 6 \div 2=3 人月
  • 工程2: 6 \div 3=2 人月
  • 工程3: 6 \div 6=1 人月

となり、全体で必要になる工数は 3+2+1=6 人月であることがわかります。
このことから、

\begin{aligned}
全工程を通しての生産性 &= 全体のアウトプット量 / 全体の工数 \\
&= 6 \rm{FP} / 6 \rm{人月} \\
&= 1 \rm{FP/人月}
\end{aligned}

となって、全体としての生産性は1FP/人月であると求まりました。

各工程の工数は足し算になるため、全体の生産性は最小の工程生産性よりも低くなる


3工程の場合の公式

こちらの公式は、プロジェクトマネージャ試験の午前II試験において繰り返し出題されているものになります。(令和6年度、令和4年度、平成31年度等)

公式

それぞれの工程の生産性が以下のとおりであるとします。

  • 工程1:x FP/人月
  • 工程2:y FP/人月
  • 工程3:z FP/人月

このとき、全体の生産性Pは以下で求まります。

P = \frac{1}{\displaystyle \frac{1}{x} + \frac{1}{y} + \frac{1}{z}} \tag{2}

導出

アウトプットの規模をS とします。

各工程の工数は、(アウトプットの規模)/(その工程の生産性)で求められるので、

\text{工程1の工数} = \frac{S}{x}, \text{工程2の工数} = \frac{S}{y}, \text{工程3の工数} = \frac{S}{z}

したがって、合計工数は

 \frac{S}{x} + \frac{S}{y} + \frac{S}{z} = S \bigg( \frac{1}{x} + \frac{1}{y} + \frac{1}{z} \bigg)

よって、全体生産性 P(= 最終アウトプット/合計工数)は

P = \displaystyle\frac{S}{\displaystyle S \bigg( \frac{1}{x} + \frac{1}{y} + \frac{1}{z} \bigg)}
= \frac{1}{\displaystyle \frac{1}{x} + \frac{1}{y} + \frac{1}{z}}

となって、(2)式になることがわかりました。

最終的に、全体のアウトプット規模としたSは約分されて消えました。
このことから、全体の開発規模を1単位として計算しても同じ結果になることがわかります。
一方、このことが直感的にわかりにくくさせている要因かもしれません。
1度は導出の手順を辿ってみることをお勧めいたします。


n工程の場合の公式

最後に、発展として(1)式を導出します。

導出

  • 最終アウトプットの規模: S とする。
  • 工程 i の生産性:p_i

工程 i の工数は

\frac{S}{p_i}

合計工数は

\sum_{i=1}^{n} \frac{S}{p_i}
= S \sum_{i=1}^{n} \frac{1}{p_i}

よって、全体生産性 P(= 最終アウトプット/合計工数)は

P = \frac{S}{\displaystyle S \sum_{i=1}^{n} \frac{1}{p_i}}
= \frac{1}{\displaystyle \sum_{i=1}^{n} \frac{1}{p_i}}

となって、(1)式が導出されました。


まとめ

公式はテキストなどで見かけますが、ぱっと見で意味が理解しにくいものです。
隠れた「全体のアウトプット規模」があることを見抜いて、それが約分された形であると思えば多少理解しやすくなるかもしれません。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITベンダーでSEとして働いている駆け出しエンジニア。
プログラミング未経験で入社したため、周りに追いつこうと奮闘中。

コメント

コメントする

目次