Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

ソフト開発の生産性は新メンバーの生産性と足手まとい率によって変わる

「要員を増やす」ことにどんなトレードオフがあるか、しっかり理解しとかないと。
メリットがデメリットを上回るとそのときに限り、要員は増やすこと。

ご存知のようにブルックスの法則とは「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ」というものです。この法則は2つの問題を示しています。

一つは新しく追加したメンバーは、既存のメンバーに比べて生産性が低いということ。もう一つは新たに追加されたメンバーは周囲の人に聞かなければ仕事が進まないことも多いので、既存メンバーの生産性も落としてしまうということです。

EnterpriseZine:ムダなものを作らない。それを解決する手法が反復的な開発とモデリングである

生産性「H」=1+G*[P-(1-P)*D]=1+G*M
(P=新メンバーの生産性、G=増員をどのくらいにするかを表す成長率、D=新メンバーの足手まとい率、M=乗数)

 この式からも分かるとおり、新メンバーの生産性「P」が小さく、足手まとい率「D」が大きくなればなるほど、全体の生産性が落ちていくわけです。ここで重要なのは生産性がPやDによってどう変わるか、考察することです。

EnterpriseZine:ムダなものを作らない。それを解決する手法が反復的な開発とモデリングである