機能的集団主義(02/3/16)


私は仕事ではマイコンのソフトウェア開発をしています。
昨今、このソフトウェア開発という業種はいろいろな意味で行き詰まっていて、あちらこちらでいろいろな問題が噴出しています。よく知られているのは、携帯電話の回収騒ぎ。ソフトウェアのバグが原因で出荷された形態をウン十万台も回収するなんてことがありました。プレイステーションでも、間違って外国のDVDが再生できてしまうということで問題になりましたね。

ソフト開発の現場ではもちろんこのバグを減らすことに躍起になっています。大量のテストを行い、その結果をデータベースに入れ、修正したらOKにし、場合によってはさらに本当にOKになっているかチェックします。そういった努力をしてもなお、バグは続々と現われ、我々を悩まします。
そして今では、ソフト開発をどのように行ったらよいか、ということ自体が手法としていろいろと提案されています。そういった開発手法はほとんど欧米製のもので、このように仕事のやり方そのものを抽象化し工業的な手法として提案するということが日本人はやはり苦手なようにも思えます。最近ではXP(Windowsにあらず)という手法がよく聞かれていて、これによるとプログラマ二人で一つの仕事をするというペアプログラミングとか、誰でも人のコードを書き換えられるとか、今までの常識からかなり離れた内容に(もちろん納得できる部分もたくさんありますが)ちょっと驚いたりしてます。
チームで一つの仕事をするというと日本人のほうが得意のように思われますが、しかし私の思うところむしろ事態は逆で、欧米を始めとした外国のほうがチームで仕事をする、ということをしっかり機能的に考えているように感じます。表題にもあるように私は勝手にこれを機能的集団主義と呼んでみたいと思います。
こういった集団のあり方の特長を挙げてみましょう。
・集団の目的と権限が明確である。
・集団内の役割と権限も明確である。
・集団内で合意の上集団のルールを作り、みんなによって守られる。ルールが良くなければどんどん変えていく。
・個人のスキルとして、コミュニケーション能力も問われる。
ざっと思いつく限りこんなものですが、これが日本的集団だとどのようになってしまうのでしょう。
例えば、日本人は集団内の一体感は高いのですが、それが仇となって、集団の目的が終焉しても解散せずに集団維持のために余計なことを始めたりします(官僚機構そのもの!)。権限が曖昧で、誰の責任か不明瞭。そのため問題が起こっても、それを隠そうとしてしまったりします(雪印事件とか)。何か問題が起こらなければルールを作らず、そのルールも時間が経つと風化してしまいます。そもそも、明文化されたルールというのが苦手で、どの集団も実にたくさんの不文律を持っていてそれが外部の者が簡単に入れない雰囲気を作ってしまいます。命令系統だけは明確で、情報の伝達が一方向にしかないのでコミュニケーションスキルをあまり必要としません。その一方、うまく出来ない人を助けてあげたりして、集団全体の底上げを図ろうとします。
こういった日本的集団は、ソフトウェア開発には非常に不向きであると感じます。特に、ルールに関しては守るのも作るのもとてもヘタ。ルールを作る段階ではとてつもなく厳しかったり複雑であったりするルールを作ってしまい、おかげでやっぱり守れない。本当は守られるためにあるのがルールなのに、(私たちは本来こうすべきだという)建て前でルールを作ろうとしてしまうのです。それでいて、ルールを守らない人がいても、まあいいか、で終らせてしまう。
また遅れている人を助けてあげる、というのもソフト開発においては実に危ないことです(ソフト開発をしたことのある人なら大きく頷くはず)。最初からその部分を担当していない人が途中で加わると、内容を理解したり、それまでに書いたソースの流れを把握しなければいけないし、ある程度わかったにしても、別の人が加わることによって一般的にはソースコードの質は悪くなるでしょう。遅れている人を助けないほうがいいと言っているわけではなく、最初から遅れる人が出ないような計画をすべきなのです。そのためには、個人の力量さえ数値化する必要があるでしょう。

このようにある目的のために最適化された集団というのは、居心地の悪いギスギスしたものになりそうだと多くの人が感じるかもしれません。でも、目的が達成できず、とてつもないビジネス上の損失を出すよりはずっと良いことだと思いませんか。



inserted by FC2 system