報酬と生産性と価値
システム開発で生産性と話を持ち出すとプログラムのステップ数を持ち出すのはレガシなシステム開発を経験したシニアエンジニアか新卒から刷り込まれたエンジニアだろう。顧客とエンジニアサイドで成果と報酬の折り合いをつける共通の基準は測れるものでなければならず、必然とLOCになったと推測できる。
生産性をLOCで評価すること自体、問題しかない。コードをコピペして似て非なるプログラムを量産すればLOCはいくらでもカサ増しできる。リファクタリングした方が報酬が少ないという何だかな、という現象が起きてしまう。
これは開発手法に捉われない。成果と報酬がLOCと対価になっている限りは。
報酬の成果をLOCから何に変えるか。すぐに思い浮かぶのは価値だ。価値を言い換えると使う機能である。業務で使うものだけ。
あとは報酬と機能を何をもってレーティングすれば良いのかとなる。
結局ここで折り合いがつかない。例えば機能の利用頻度とすると、日次処理の方が年次処理より価値があることになってしまう。決算業務に価値はないのか。そんなことはない。必要な機能には価値はある。
では他に報酬に見合う単位はないものか。
スピードはどうだろうか。
報酬とスピード。良さそうだ。
ただ、ひとつ難点がある。基準が作れない。作ったことのない機能の開発スピードはどのくらいで開発できるのか誰も知らない。やったところでその結果を比較する基準がない。
周り回って、結局報酬は確保したエンジニアのリソースで支払うしかないのか。これはこれでまた冒頭に戻るのである。