樋口です。
結局のところ、「生産性を上げる」ということは、
「最小のコストで最大の効果を上げること」
ですね。
「最大の効果を上げる」のを目指すのには、効果の計測が必要です。
「最小のコストで」というのを目指すためには、コストの計測が必要です。
私は「効果」を「要件が満たされること」と考えています。
そこで「要件の規模」で計測しようと考えています。
しかし、濱井さんは、これを「売り上げ」で計測しようと考えているようです。
私は「売り上げ」はソフトウェア工学とは別のスコープだと考えています。
濱井さんは、
「コストを『生産量』と計測しているのはおかしい。」
「コストを計測すべきではない。」
「要件からはコストを推測するべきではない。」
と考えているようです。
私は
「現実にコストは必ずかかるものであり、測定が必要である。」
「コストは要件(効果)の規模に自然と比例する。」
「以前の類似する開発の要件とコストの記録に基づき、
要件の規模からコストを推測できる。」
「コストを減らすためにも、コストの測定が必要である。」
と考えています。
私の理屈で行くと
「物を作る前に、要件(効果)に対してコストを予測できる。
これを元に事前に開発費用を予測できる。」
「開発費用に対して、予測される最終利益と比較をして、
開発すべきかどうかを判定することができる。」
(ただし、要件がもたらす利益(最終利益)を予測するのは
ソフトウェア工学とは別のスコープです。)
「同一の要件(効果)に対して、
よりよいコードを書いてコストを削減することで、
生産性が上がったことが測定できる。」
ということになります。
濱井さんの理屈で行くと、
「物が出来上がってから、やっと要件がもたらす利益が計算できて、
利益を開発費用として支払ってもらえる。」
「どんなに物を作っても、売り上げ予測が外れてまったく売れなかった場合には、
生産性が非常に低い。」
「同じコストでも、もっと儲かる要件を見つければ、生産性が上がる。」
という、なにやらおかしな事しか測定できません。
要件が決定できる立場にある人(企画、営業)としては
売り上げですべて決定できる
(しかも、売れなかったら開発者に赤字をかぶってもらえばよい。)
というのはとってもうれしい指標なのかもしれませんが、
ソフトウェア開発者の立場から見て、
それがソフトウェア開発のどこに役に立つのかさっぱり分かりません。
// 樋口 勝也
// bugbear@....nu