SEは仕事の価値に見あった月給を取れ2

システム開発をバッティングにたとえるのは、我ながらうまい喩えだと思ったので、図にのって続編を書く。

世の中にはソフトウエアの開発手法というものが数多くあるが、大半は、松井がホームランを打ったフォームを分析して同じスイングをするにはどうしたらよいかを論じているにすぎない。つまり、あるボール(仕様)に対してどのような角度でバットを出せば球が遠くに飛ぶかを分析しているのである。

ホームランバッターというものが、バッテイングフォームというスタティックなものだけで構成されている、という前提がダメである。よいバッターは打てない球をファールにしたりするし、配球を読んだりする。読みがはずれて体勢が崩れても、すくいあげてフェンスぎりぎりまで持っていく。最終的な一振りの前にたくさんの仕事をしており、そこで成果が決まってくるのだ。

同様に、よいSEも仕様の行く末を予想したり、仕様やスケジュールが変わっても対応できる準備をしていたり、苦しい時にはシステムを開発しないソリューションを提案したりする。また、手の抜き方を心得ていて、自分の力の入れ所でちゃんと力を使う。最終的に完成したソフトウエアに含まれていない所で価値ある作業をしているのである。

この勘違いから、ソフトの開発手法は属人的な要素を少くしようとする。つまり、誰でも松井にしようとするのである。誰でも松井と同じスイングをすることはできるが、それができてもそいつは松井ではない。仕様(ボール)とシステム(バット)が両方動いている時に、両者がぶつかるようにする作業はスイングの軌跡とは関係ない。スイングをどこでどのように調整したかであり、調整できるようにするために、どのような準備をしたかである。

人間は、ボールの運動方程式を問いてその運動量を計算するわけでなく、何らかのイメージの力を借りて、その軌跡を予測する。バッテイングフォームが千差万別であるように、この手の作業、つまり、イメージ、右脳、経験知、暗黙知等がかかわる作業は本質的に個人の全人格がかかわる作業になるのである。

だから、属人性や動的な特性やイメージの力を排除する開発手法は何の役にもたたない。唯一まともな手法がXPである。

(XPについては下記を参照)http://www007.upp.so-net.ne.jp/kengai/fowler/newMethodology_j.html