アレグザンダー祭りでLTをしてきました。スライドはSlideshareにもアップしています。今回はMac版のOffice2008のPowerPointでやってみたけど、PDFで保存してアップするだけでフォントとかもきちんと処理されるので良い感じですね。PowerPoint2007/2008は過小評価されていると思う。
タイトルは「IT技術者がアレグザンダーの次に学ぶべきは誰か?」というもので、アレグザンダー祭りというイベント自体にケンカを売るようなタイトルでした。「アレグザンダーと共に学ぶべき人」にすべきだったかも。
オーパーツというものはご存じでしょうか?発掘された当時の時代を考えると、到底考えられないような高度が技術で加工された人工物のことです。ロストテクノロジーだとも言われます。
ちなみに、オーパーツをスライドに使おうと思ったのはa2cさんが「アバターはオーパーツ」ということを言っていたので「それいただき!」という感じで入れました。
IT業界の歴史を見てみると、パターンランゲージが導入されて以来、数々の変化が急激に起きました。パターンランゲージはIT業界の中だけを見てみると、オーパーツと言わざるを得ません。
パターンカタログには様々な項目がありますが、僕がこの中で一番重要だと考えているのは、フォースです。
フォースがあれば、パターン数が大量にあるカタログがあったとしても、フォースにマッチする項目だけを選んで、それを組み合わせると、場面にあったソリューションを作り出すことができます。
もしもフォースがなければ、ケースごとにソリューションを考えなければなりません。相当数のソリューションを考える必要があります。
つまり、IT技術者にとって、パターンを使いこなすための重要なスキルは、フォースを使うことと言えます。つまり我々はジェダイの騎士だったのです。
それがこのアンコモンセラピーです。名前の通り、「非常識」で「普通じゃない」セラピーの本です。
この本は、ミルトン・エリクソンというセラピストの人のケース集を弟子がまとめた本です。ミルトン・エリクソンはNLPでも参照されるほどの人で、肩書きも数多く持っています。ただし、手法が独特で難しく、方法論としては確立されていません。この本も超難しいです。「え?何でこれで治るの?」とすぐに頭が???となります。
ちなみに、エリクソンは初期の頃は催眠誘導を駆使していますが、後半は自然な会話の中で治療しています。NLPが参考にしたのは、初期の催眠誘導の部分ですので、NLPではなく、エリクソン本人を学ぶ意義というのは十分にあります。
それでは、彼のケーススタディを見ていきます。
ダイエットに失敗し続けている女性がいました。目標の体重になったらすぐに大量に食べてしまい、すぐにリバウンドしてしまっていました。
エリクソンのアドバイスは「200ポンド(90キロ)まで体重を増やしなさい」です。それまではダイエットをしてはいけないと。
その後、その女性がリバウンドすることはありませんでした。めでたし、めでたし、ですよね。
次のケースは、ドイツ人の全身麻痺になってしまった男性です。動くこともできませんし、話すこともできませんでした。
エリクソンがやったことは、この誇り高きプロシアの男性に悪口を言うことでした。「(日本語版から引用)では、君はプロシア系のドイツ人なんですね。愚かな呪わしいナチ野郎ども!プロシア系のドイツ人ときたら、何と愚かで、思い上がった、無知な、獣じみた連中だろう。あいつらは自分たちが世界を支配していると思い込んで、自分の国を滅ばしたんだ!ああいうそら恐ろしい野獣どもを何て表現したらいいんだろうな。本当に生きるに値しないやつらさ!あいつらを肥やしにしてしまえば、世の中はもっと暮らしやすくなるだろうに」
まったく動くことも話すこともできなかった男性は、怒り、叫んで、自分ではって自分の車まで行ってしまいました。めでたし、めでたし。
何が起きたんでしょうか?
エリクソンがやったことは、「本人も気づいていていなかった、自分を直すことができる内なるフォースに気づかせて、スイッチを入れた」ということです。「体重が増えるという恐怖」だったり、「ドイツ人としての誇りから来る怒り」だったりします。
エリクソンのアプローチの特徴としては、これらの内なるフォースが起こしているデッドロックを解消し、それらの力自体を使って患者本人が自分を治療するように、内なるフォースをコントロールする、というものがあります。
ちなみにLTでは紹介しきれないので、今回はもっともシンプルだと思われるケースを紹介しましたが、家族関係が原因となっている場合には、症状が出ている本人ではなく、家族を治療して治したりもしています。システムズアプローチ、家族療法と言われるものです。
さて、我々の業界について見てみます。開発者は誰でも、すばらしいソフトウェアを作りたいと思っています。それを使ってもらって、褒めてもらったり、感謝されたいと思っています。ユーザも、良いソフトウェアを使いたいと思っています。
それなのに、なぜ「良いソフトウェアを作る」ということは難しく、本屋に行っても本がたくさん並んでいるという状況になっているんでしょうか?ウォーターフォール、XP、スクラムなどなど大量の方法論や仕事の進め方が必要とされるのはなぜでしょうか?エリクソンを見ていると、このような内なるフォースをうまく使ってシステム開発を勝手に回す方法が作れて、方法論なんて必要のない、そんな状況を作れるのではないか、という気になります。
アジャイルなどを学んできた、僕の10年の結論はこれです。次の10年をかけて、「勝手についうっかり良いソフトができちゃった、えへっ」となってしまうような、そんなプロセス(ではない何か)を考えていきたいと思います。
僕の想像では、2040年には、人工知能がもっと一般化して使いやすい時代になっているんではないか、と思っています。もはや「ORマッパーが云々、テンプレートエンジンが云々、DBチューニングが云々」なんてことに頭を使う時代は終わりを迎えるのです。そのため、人工知能のデバッグというのが、我々IT技術者が学ぶべきスキルになるはずです。
ちなみに、AIでflickrを検索して出てきたのがこの画像です。「Ai(愛?)」というキャラクタらしいです。元ネタは知りませんが。
エリクソンの催眠誘導を見ると、これは人間のデバッグ技術と言えます。デッドロックを解消し、新しい解釈をインストールしたり、考えるプロセスを変化させたり・・・デバッグオプション付きでgccでコンパイルするのと同じく、バックドアを叩いて、アクセスする方法と言えます。人工知能が作られるとすると、扱いやすさを考えて人間に近いモデル化がされるはずです。人間に近ければある程度動きも予想できるようになるからです。NLPと比べても、汎用的な気がするので、エリクソン催眠は人工知能にも使えるはずです。
僕の2040年までのミッションは、この人工知能のデバッグ手法について考えてみることです。発表するのは2040年の予定ですので、30年ほどお待ちください。