monomadoのブログ

本を買う話とか、読んだ本の話とか。あと時々、旅行の話を。

プログラマーのジレンマ 夢と現実の狭間

プログラマーのジレンマ 夢と現実の狭間

プログラマーのジレンマ 夢と現実の狭間

ミッチェル・ケイパーというLotus1-2-3の創始者を開発した肩書きをもつ、すごい人が、オープンソースでの開発プロジェクト(OSAF)を設立。そのOSAFの中で、夢のPIMツール「チャンドラー」の開発で遭遇する困難な状況と、それをどのように解決していくのかというところを、実際にその開発現場によりそって書かれたドキュメント。

解決していく姿と書いた。しかし実際は妥協の連続を重ねながら、進んでいるというほうが正しい。
「チャンドラー」というツールは、たとえば、すべてのTODO,メール、カレンダー(スケジュール)、写真などなど、身の回りのあらゆることを一元管理できるツール。また、それはWeb上で同期がとれていて、どこからでも自分のリポジトリにアクセスできること、または、誰とでも共有可能であること、などがその要件とされていたものである。同時に、これらメール、カレンダーはブロック単位でリポジトリ上に管理され、カスタマイズも容易にできるガジェット的な要素をもちつつ、さらには、それらブロック間での共有が計れるという仕組みをもつものとされている。
発足が2003年ということを考えると、そのころには、まだGメールもGoogleカレンダーもなかった時のこと、また、googleもさすがメール、カレンダーなどなど個別のサービスを一元化できているわけでもないのだから、もし完成すれば、それはそれは便利なものになるに違いない代物である。

本書を読みすすめつつ、まず気になるのが、この夢のツールはもうリリースされているのだろうか?ということである。しかしよくよく考えれば、そんなツールがリリースされていれば、きっとどこかで目に付いて一度は導入を検討しただろうに違いない。にも関わらず見たこともないのであるならば、もしかして、、、

チャンドラーは今現在も開発が継続されているプロジェクトである。
このドキュメンタリーを読む限りでは、いくつかの言葉が裏付けられていくように思うが、とりわけ
フレデリック・ブルックスが『人月の神話』で言った「銀の弾など存在しない」という言葉である。
理想的なソフトウェアの構想。理想的なプロジェクトメンバー、理想的な開発手法、これらが仮にそろったとしても、やはり長い討議の結果、現実的な選択に迫られるということが、本書では随所に現れる。

たとえば、何かプログラムを作るとしよう。その時に、こう考える。
後での改修が容易になるように、また汎用的なサブルーチンはできるだけ外だしして、プログラムを作ろう。
こうして、PGをはじめていく。しかしあまりに理想的な姿を思い描くために、予定を超過していてしまい、泥臭い方法でやれば(たとえば固定値)すぐに解決する問題を、新しいプロパティ、新しいマスタなどと構想ばかりが膨らんで、余計な課題まで背負い込むことになっていく。

OSAFという団体自体が、納期という僕の仕事では厳然とある限界をもたないということも、この理想を追い求め、議論を徹底的にするという深さが違うというところも、僕の仕事現場との違いかもしれないが、仮に期限なしに進めてもかまわないと言われたとしても、やはり困難な課題というのは、妥協するか、スーパーマンの登場を待つかのいずれかしかないように見える。もっともそのスーパーマンの登場する可能性は極めて低いわけだけれど。

そんな構図が本書にもよくみられた。僕自身は、数年SEをやっているだけでも、あまり理想的な姿を追い求めるべきではない、とは思うようになってきているし、たとえば行き過ぎた標準化などは、誰もよろこばないといったことも経験したりしている。
(かといって、いい加減なPGははなから、理想を追い求めることも、標準も一切無視した、くそPGを平気で書いてくる人もいることは事実なのだけれど)

本書を読んだ感想としては、やはりこれはすごい!というツールというのは、どっかのえらい人、いわゆるスーパーハッカーによって、ひょひょいと作られるように見える時もあるが、実はどんなに苦労してもなかなかみのらない地道な開発も実は存在するのだということをよくよく教えてくれる書であると思う。


最後に実際、チャンドラーをDLしてみた。本書を読んでいれば、このツールのコンセプト、動かし方などはわかるし、また、どういった議論を通じて実装されていったのかを知っているゆえに、ツール自身を眺めていたかったからだ。

http://chandlerproject.org/

あまり使い込んでもいないが、正直、あまりよさは感じなかった。
デザインの問題なのか(それも、カスタマイズはできるのだろうが)
すべてが一元管理できる、という点においては理想的であるが、スケジュール、メールについては、Googleが圧倒的なシェアをもってしまっている現在において、このソフトがその理想的な姿を持って現れても勝算はあるのかどうかも、少し懐疑的にならざるを得ない。