エンジニアはもっと右脳を使おう
指を組んで左の親指が上になったら右脳派で、右の親指が上になったら左脳派とか言ったりしますが、ワタシはどうやら右脳派のようです。
一般的には、右脳は直感的なことやひらめきの特性を持っていて、左脳は言語や試行などの理性的な特性を持っているらしいですが、言い換えると右脳は事象に対して図式で表現することができ、左脳は言語で表現することが出来るということになります。
ところで日本語は主語が無くても文脈、コンテキストで理解を推察することが出来る言語です。だから、日ごろの会話では「誰が」という主語を省略して会話を始めてしまうんですよね。最初からそうしたコンテキストの中にいるなら別にかまわないのですが、途中から入るとさっぱりわからないときがある。まぁそれも世間話程度の与太話なら別にうんうんと流しておいてどこかで類推して話のしっぽを掴まえればいいんですが仕事ならそうはいかない。
ある人達が会議をしていて誰かが「事情を知っている人を。」なんて機転を利かせてワタシを召喚しようとするからされた方はたまらない。なにせコンテキスト、会議の前後がわからない。それでも整然と議事が進んているならいいのですが何かのブレストではたまらない。だって経緯がわからないのだもの。
そこで右脳さん登場です。左脳さんは事情、コンテキストがわかるまで控えで待っていてもらいましょう。
右脳の特性は表現を図式で表すことなのであれば、議論がさっぱりわからないということだから、曖昧さばかりの真っ白い紙を見ているようなものです。それを言語で表現しようなんてしたら、それこそ人それぞれの受け止め方、一人ひとりの理解に依存して言葉で表現する人が持っている知っているだけの言葉で表現するのですよ。たとえ同じように理解していようとも同じ言葉で表現するとは限らないし、言葉の意味を同じ定義で使っているなんて思うのはちょっとどうかと思うわけです。
だから右脳さんを使う、と。曖昧なら右脳を使って図式で表現してしまえ、と。
ソフトウェアなのて影も形のないものですよ。もともとの要件だって曖昧な言葉でしか表現されないのです。それをそのままの理解で創るのはね。受け手次第になってしまう。だから、図式で表現しないと理解するために必要な理解を等価交換する必要があるんですね。
その図式だって最初はぼんやりとしたものでしかないのです。だから、設計工程を幾つかステップアップしてプログラムに変換できるまでに詳細に表現することが必要になるのです。
左脳で曖昧さを減らすのではなく、右脳で曖昧さを低減しつづけ、最終的には左脳でプログラム言語で表現する、と。
ワタシが面白いと思うことに、曖昧さが最大限のときに図式で表現してみると描いた本人が認識していなかったことが明らかになったりします。思考をひらめきを図にすることで、頭で理解していたことをそのままに表現できることもあるけれど、理解の範疇に無かったことがあったことまでわかるときがある。図式に描きながら「あ、それ忘れてた。」みたいな。
あと、右脳さんを使って図式で描いたことは描いていある以上のことを言葉で説明補足するのはいかんです。ついつい、具体化した図を描くと気づくことがいっぱい出てきて口頭で話したくなるけれど。でも、それで話し過ぎてしまうとまた曖昧さが戻ってしまうのです。補足したいときは、先に図に追記してから話すと良いです。どっちかといえば、描かないと話す権利なし、みたいな方が良いんですね。