角谷さんの新作トークへの期待、あるいは「Take the Red Pills」三部作には出てこなかった一つの言葉

メモ。ほとんど角谷さん宛の私信というか、RubyKaigi2011での角谷さんトークの賭け金釣り上げ用なんだけど、せっかくなのでここに書いておきます。


全国13万9,893人の角谷さんファンのみなさんと同様、RubyKaigiでの角谷さんのトークにはとても期待しているのだけれど、その一方でこれまで角谷さんがRubyKaigi(含むRegional)で発表していた「Take the Red Pills」の三部作は、いやあ見せ方がうまいなあと思いつつ、何か物足りないところを感じていたりもした。心に響くんだけど、何かコレだけじゃないというか、これ以上この先に進んでいっても良いゴールが見当たらないんじゃないか、という感覚。

それはなんだろうなあ、と思っていたのだけれど、先日、とあることがきっかけで、その物足りなさの原因に気づいたような気がした。


Take the Red Pill」「Welcome to The Desert of The Real」「There is No Spoon:Revisited」のスライドを3つとも見直してみたけど、その3つの中でただの一度も使われていない(はずの)言葉がある。それは「Customer」という言葉だ。

あの3つのスライドには、「顧客」がいない。

もちろん、RubyKaigiは「RubyistRubyistによるRubyistとそうではない人のための会議」なので、まあ別に顧客の話はしなくても構わない。その場に(あんまり)いないし。のだけど、そこには「現実の砂漠」の話が出てきてしまっている。ということは、それって要するに顧客のいる仕事の話、なんだろう。少なくとも、スーツやExcelは出てくる。主に否定的な対象として。

顧客のない開発、というのはないわけではないけれど、それは普通「仕事」にはならない。そこを省いてしまうと、たぶん現実は、あれこれ頑張っても何も報われず、ただひたすら徒労に終わる、砂漠のような世界にしかならない、のだと思う。そして、顧客と向き合わないまま、そんな状況を変えようとするのは、どうにも不自然になる。顧客を考慮せずに仕事としての開発を成功させる、みたいなロジックを作ろうとすると、「電波」というかスピリチュアルな話にしかならないだろう。向き合うべき対象に向き合っていないまま、価値について語ろうとしてしまうのだから。


少し大きな(そして大雑把でいい加減な)話をすると、20世紀末からゼロ年代にかけて、日本のソフトウェア開発には技術力がうまく評価されていない部分があったのではないかと思う。中には研究系やギーク系で優れた技術を持ち、それが成果につながる分野もあったはずだけれど、それがソフトウェア開発産業の大きな流れにはいい形で反映されずにいた、んじゃないだろうか。そして、80年代からのソフトウェア工場的な考え方、つまり技術に詳しくない人でもソフトウェア開発にかかわれるようにして、生産力(?)を高める、という方針が打ち出される。まあ、この辺はクスマノの『日本のソフトウェア戦略』(しかも斜め読み)の受け売りなのだけど。

ところがこれが色々な場面で、現実的にうまくいかなくなっているのがいい加減に気づきつつあり、そしてそれに対する対応策がすこしずつ取られてきたのが21世紀なのだと思う。「XP」や「アジャイル」という言葉は、ソフトウェア工学や開発方法論の研究者とか、海外からバズワードを輸入する輸入業者ではなく、現場技術者の方から広まり根付いてきた言葉のようだし。「非ウォーターフォール」というのも、「コレジャナイ開発方法」を指すための言葉みたいなイメージがある。

そしてその背景には、言ってみれば開発者(プログラマ)の地位向上的なところまで含まれていたんじゃないだろうか。少なくとも、意識改革みたいなこと、例えばプログラマは決して底辺ではなく素晴らしい職種であり、技術的な研鑽を摘むことは職業人生において意味のあることであり、そしてそれが開発者自身の「生」にもプラスになることなのだ、みたいな根本的な価値観の構築と自身に対する肯定感の獲得の話すら必要とされていた、ような気がする。よく分からないけど。

そしてその中では、「天才的」とまでいかなくても、元々優秀なエリート(?)開発者のみを中心にするのではなく、ふつうの開発者が日々研鑽を積んでよい開発者になる&それをコミュニティが下支えする、というモデルが理想型の一つとして考えられる。そのモデルを実際に実現するための動きの一つとして、角谷さんの三部作トークを位置づけるのがいいような気がしている。

これはもちろん大切なことだ。技術力と技術力を身につけた開発者が正当に評価されることは必要で、そういう意識を広める必要はある。開発者にとっては、そこがすべての土台になる。その土台がうまく構築できていないのであれば、まずそこを再構築しなければならない。実際、角谷さんのトークを聞いて、それを糧に自身の勇気を奮い立てて、そこから成果につなげることができた人も、たぶんたくさんいるんだと思う。

この段階では、開発者たちの内部での話でしかないので、開発者以外の人はまずは気にしなくても構わない。ここまでなら開発者で閉じて考えることができるし、他の要素を合わせて考えると話が難しくなってしまう。だから、こういった開発者の中での動きは悪くない、むしろ導入としては必要な戦略だった、と言ってもいいんじゃないだろうか。


でも。開発者内部ではこれまでの流れが見直されつつある(ところもある)ことを前提とした上で、それだけでいいの? ということも、そろそろ考えはじめてもいいような気がする。もちろん、それだけではいいわけない。開発者コミュニティ内部がつながりあい、改善されていても、それが外部にまで届かないと意味がない。というか、どこかで歪んでしまい、開発者で閉じた世界ですら維持できなくなる、と思う。たぶん、角谷さんもその辺りは重々承知なので、わざわざ「三部作」として一区切りをつけているんだろうけど。

似たような話として、最近『ウェブオペレーション』というすばらしい本が出ているのだけど、そこの「アジャイルインフラストラクチャ」という章がとても面白い。そこには、アジャイル開発者に対する嫌味というか批判がちらほら書かれている。要するに、アジャイル開発者が「チーム」と呼ぶ中に、運用担当者が入っていない、それで上手くいくと思うのは大間違いだ、という批判。まあそれ以外にも揚げ足取りみたいな皮肉も書かれているけど。

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

この章での批判は角谷さんのトークとは関係ないけど、何か共通した話のような気がする。アジャイルマニフェストでもうたわれている「interactions(対話)」というお題目通り、ほんとにちゃんと対話してるの?と考えなきゃいけないところがあるような気がする。顧客であれ、(ウェブ)オペレーターであれ、あるいは、「スーツ」であれ。

「スーツ」については、上記のきっかけになった先日の場で、ayuminが言ってた話があった。要するに開発者にはRed Pillを飲んだ者とそうではないものがいるように、スーツにもRed Pillを飲んだ者とそうではないものがいるんじゃないか。そしてRed Pillを飲んだスーツとは積極的に手を組んで協力しあうべきじゃないか。敵はスーツやExcelではない。ダメなスーツとダメなExcelの使い方だ。みたいな。

もちろん、別に角谷さんがスーツになったりする必要はない(なんかそこはayuminがやりたいそうなので強く期待したい)。が、スーツ、というか顧客と技術(者)をつなぐ人々と向きあうことは避けられない。個人的に向きあう、というのはもちろんとしても、広く開発者の人々にも訴えかけるべき、なのだと思う。

さすがにそんな話を主題にするのは時間的にも厳しそうだけど、そんなような、開発者の外に開かれたところに対して今後どう向き合うのかを垣間見えるような話も欲しい。Rubyistのために私たちが作ったRubyKaigiにおいて、Rubyistじゃない人たちをどういう形で、どういう角度で捉えるのかを聞いてみたい。


もちろん、角谷さんが話す内容は自由だし、あの枠はいろいろあった結果として角谷さんに負荷をかける形で決着がついた感もあるのであんまり無理難題を言うつもりはないのだけれど、角谷さんが語ろうとするはずの「あの門」、The Gateの未来は、「Rubyistのみなさん」以外の人々、たとえばRed Pillを飲んだスーツの人などにも出会える場になってほしい。

そんなこれまでにない開かれた場こそが、RubyKaigiが幕を閉じようとしているその瞬間に、角谷さんが築き、そして私たちが向かい合い、くぐるべき「門」になるといいなと思う。