eXtream Politics

「信任だけど信任じゃない」と似たような、聞いてるうちに頭がねじれてくるような理屈を言う奴がどっかにいたなあ、と思ってよく考えてみたら、それはなんと俺だった。

「工程で言うと遅れは1週間なんですが、完成は正直言って見えないというかなんというか・・・」「進捗としては先週と同じ60%ではあるんですが、作業ははかどっています・・・」「テストは100%完了してるんですが、インターフェースに不備があってとても完了とは・・・」昔はさんざん、こういうわけのわからん理屈を棟梁にわめいていたのだが、さすがにプログラマーの棟梁ってのはみんなよくわかってて、こういう謎めいた言辞の中から、本当の遅れ具合と致命的な問題のありかをかぎわけてビシビシ手当をしていったものだ。

こういう不思議な表現を不思議に思わないのは、ダブルスタンダードに適応した人種の特色であるが、こっちの業界ではこれをなんとかしようという人たちが出現している。このXP(eXtream Programing)という方法論は、一見仕様書が悪いと言ってるようだが、正確には仕様書が嘘になってる現状を悪いと言っているのであって、実は本音とタテマエを統合化する方法論なのである。だとしたら、あっちの業界でも使えるんじゃないか。

例えば、ペアプログラミング。プログラミングという重要なアクティビティを常に二人で行なう。レビューをリアルタイムでやろうという主旨だが、全ての国会議員の活動をペアでレビューしながらやったら、まあ普通ワイロは難しいわな。念のために言っておくとペアプロではペアはしょっちゅう入れかえるそうだ。

しょっちゅうリリース。ソフト屋というのは、何年もかけて部屋があるのに入口がない建物をたてたり、渡るといきなり崩れてしまう橋を作ったりしても金がもらえるというありがたい商売だが、入口がなかったり崩れるのは勘弁してやるから、とりあえず客の前に早めに提出せい、ということだ。そうするとありがたいことにお客様が「部屋には入口がある方がいいんですが」「崩れる橋というのはちょっと・・・」などといちいちアドバイスをしてくれる。政治も「1000兆ばかりタカってる奴がいる」というバグが直せないのはしょうがないから、すぐに見える形でこれを提示してくれれば客というのは意外にちゃんと現実的なアドバイスができるものだ。

UnitTest。バグを作りこんでから退治するのは大変だから、ソースを修正するたびに、つまり入口でこれを100%なくそうという考え方。単体テストを自動化するってことなんだけど、これのポイントは品質保証があれば冒険ができるってことだ。つまりボロボロでもなんとか動いているシステムを手術するのは度胸がいるけど、テストが自動化されていれば、いじるたびに検証しながら行えるので大胆な変更が(比較的)安全に行えるわけだ。政党でも官庁でも能力が高い奴や凄い組織や柔軟な組織はいらないのよ。品質のモニターさえちゃんとできれば、大胆に改革してもなんともないのさ。

言葉遊びでいいやと思ってはじめたけど、なんか妙にしっくりくるね。 XPの憲法は12条あるけど残りはみなさんにおまかせします。 XPは理想を追求するけど「限られたコストと期間の中で」追求するというのが目新しいとこかもしれない。「限られたコストと期間の中で」理想を追求するって政治にも通じるよね。まあ何ごともシンプルであることが大事という面白くもない結論にしておくか。