【書評】プログラマーのジレンマ


拷問読書今週1冊目。累計116冊目。天才プログラマー達による、オープンソース開発プロジェクトを追ったドキュメント。最近出版された本なので、内容も新しい。基本的にはソフトウェア開発の困難さを描いた本なので、素人でも読み進められる。

優秀なプログラマー達がそろっているのに、あれもこれも機能を実装したいとなり、いつまでたっても計画が実現しないプロジェクトの話。本の最後になってもプロジェクトは終わらない。そのため、ストーリー性はそこまでなく、本自体はそこまでおもしろくない。

ただ、様々なバックグラウンドや性格を持つプログラマー達の話は興味深いし、なんといっても、プロジェクトが計画通りに進まない行程の話がいい。

ソフトウェアにいろいろな機能を付けたがる技術者たち。当初の予定どおりに計画は進まず、イライラがつのる。これを読んでいて思ったのは、難しそうになったり、時間がかかりそうになった時、ある意味で適当に終わらせるという割り切りが重要だなということ。

完璧主義者は天才を生み出すことがあるけれど、それが弊害となって、必要とされている時に作品が間に合わなかったりもする。AKIRAを作った大友克洋のスチームボーイなんかその典型なんじゃないかと。

AKIRAの映画版が世界的な評価を得て、新作のスチームボーイを世界中のファン達が待ち望んでいた。でも、新しい技術が可能になるたびに、作者が1から書き直したり、いろいろと納得がいかないところを修正したりして何年も完成が遅れたと聞いたことがある。

結局、当時は斬新でも完成する頃には目新しくなくなり、作品自体もパッとしなかった。まあ、こけた理由は脚本がダメすぎたことで、完成時期が大幅にずれたのとは関係ないかもしれないですが。

人間は誰しも、細部にこだわりすぎて時間が予想以上に過ぎていってしまったという経験があると思うのです。例えば、テスト勉強していて単語帳を作り始めるとする。そのうち、その単語帳を作るのに思ったより手間がかかり、想像以上の時間を費やしてしまったとか。

この問題を解決するには、時間を区切ってその時間内でできることしかしないと割り切る

というやり方がある。時間内でできることしか考えないから、自然と一番重要なことに手をつけられるといった利点があります。

ただ、こればっかりやっていると、短期的なスピードにばかりとらわれて、長期的な成長がなくなるという欠点もあったり。例えば、目の前の作業を1時間以内で終わらせるには今までどおりのやりかたをするしかないけど、2時間かけて新しい方法を練習すれば、次回は30分で終わらせることができるといった状況もある。

その時々によって、常にバランスを意識するのが重要なのかなと考え中です。