東京理論

これは記事の日本語版です。

The English version of this article is here.

割れ窓理論

ソフトウェア開発理論の先駆的な作品「達人プログラマー」は、割れ窓理論を次のように紹介します。

研究者は都心の荒廃について尋ねた。ある町は平和の象徴でありつつ、全く同じ人口統計を持った隣町は犯罪発生率が膨大してしまうのは、何故なのだろうか?

その差を探るため、研究者は実験を行った。ジャグワーのような高級な車をニューヨーク市の南ブロンクスに駐車して、監視所に退いた。4日間も待ったが、事件は一切なかった。すると、研究者が車に戻って、窓を割って、改めて退いた。4時間も経たず、車は覆され火を付けられてしまった。

更に実験を行った結果、研究者は「割れ窓理論」を作り出した。ある建物は窓が割られるが、誰も直さない。割れたままで残る。知らない間に、他のものが壊される。事故かもしれないが、そうでもないかもしれないが、とにかく誰も直さない。落書きが現れ始める。被害がどんどん増える。あっという間に被害が指数関数的に増加している。建物が荒廃する。犯罪が入り込む。もう敗北だ。終わった。

この理論はソフトウェア開発が技術的負債で爆発してしまう現象を説明しようとしています。たった一つの壊れた抽象だけで、様々な不整合が入り、解き難い複雑さが生まれてしまいます。

我々エンジニアはそういう現象をたまに経験していますが、もっと恐ろしいのは関係者がその問題で閉口してしまうことだと私は思っています。どうやってわずかの数件の手抜きがプロジェクトを簡単に全滅させるのでしょうか?

それより、どんな対策を取るべきだったのでしょうか?

東京理論

日本語を勉強するために東京に引っ越してきました。アメリカの典型的な大都市と比べると、東京のある点を非常に印象的だと感じました。

東京は清潔です。ゴミは一切ありません。ひしめき合っている大勢の旅行者でさえ、まるで日本でしか効かない自然法則に従っているように、昼食でむさぼったお握りの包装を一日中も持って、どこかの高すぎるホテルに戻るまで捨てないほどゴミに気を付けています。

でも東京が3年目の僕は、ここも割れ窓が存在することが分かっています。清潔は外観にすぎません。

もしかすると、割れ窓理論は双方的に存在しているかもしれません。清潔感の建前を出すことで、もしかしてプロジェクトが開発の混乱から守られるかもしれません。完全に綺麗でなくても、エンジニアがそう感じ取ったら充分です。

「東京理論」、と呼びましょうか。