流れに乗り損ねたけども。
ソフトウェア工学は単一の方向を向いているものではない。というか、多様なジャンルがあるなかで「属人性を排除して開発者の能力を均一化しようとしている」なんて統一の目的感があるわけがない。
より高度なソフトウェア製品を作るには、ソフトウェア工学の成果を持って当たることになる。データマイニングの技術は属人性の排除か?まったくそんなことはない。ひとまとめに「ソフトウェア工学」と言ってしまうのはあまり本質的ではないと思う。
SI業務のふたつの仕事
さて、ソフトウェア工学のなかでも話のターゲットになっているであろうオブジェクト指向技術だとかの話。近年広く普及したオブジェクト指向だとかは、僕は高度技術を振るう作業と単純作業の間を分かつモノとして働いていると分析している。*1そして、単純作業をするのには特別の才能を必要とせず、SI業務はこうした頭数でこなされる部分が多い。ボリュームゾーンはこうした部分になる。この部分を指して言えば属人性を排して能力を均一化しようとしていると言えるかもしれない。
しかし、単純作業だけで全てが回るわけではなく、コアとなる部分の設計には高度な技能が求められる。そういう仕事は素人が集まったからと言ってどうにかなるというものではない。素人が100人、1000人集まったらデスノートみたいな作品が作れるかというとそんなわけはない。高度な技能をもったひとりの人間を必要とするジャンルのひとつだ。そういう部分は100倍とかいう生産性の差が出る。というか、0を何倍したって0なんだよ、と。
属人性と属技能性
単純作業部分と高度な技能を必要とする部分があると述べた。これを踏まえて。
高度な技能を必要とする仕事は属人性が高いのか?ということを考えてみる必要があると思う。
僕は「属技能性」という造語を使っているけども、その仕事をするのにある技能を必要とされているのか、それとも、特定個人しか仕事のやり方をわかっていないのか、どっちだ?というところを今一度見つめなおしてもらいたいな、と。
そもそもの属人性という話をする場合、「人」に仕事のやり方が依存していて、人の代えが利かなくなる話だ。誰でもいいという言い方をされるとカチンとくるかもしれないけど、君が病気しても大丈夫、仕事は回るからゆっくり休め、という体制でもある。
仕事がマニュアル化されていなくて、やり方は誰誰さんしか分かりません、を排そうと言うのであって、学生アルバイトだけで十分だよという世界になるわけではない。例えば10tトラックを持っている人なら誰でもいい、とかある種のスキルを持っている人なら誰でも作業できるようにしておくことと、無資格でいいよ、なんのスキルもいらないよ、というのは違う。
属人性と属技能性を区別すると見えてくるものも多いんじゃないかな。もっとも、そのスキルを持つ人が社内に一人しかいないような場合、属人性と属技能性はニアイコールに見えちゃうものなんだけども。
まとめ
- オブジェクト指向技術は高度な仕事と単純な仕事の分離を推進した
- 高度な仕事というのは属技能性が高い
- 属技能性と属人性は似て非なるもの
- 高度な仕事も単純な仕事もいっしょくたに人月いくらってやるのはやめてくれ!
- 必要とされる技術を測るモノサシを用意しないと解決しないかも