安全靴精神

割れ窓理論にもとづいてプロジェクトやコードベースの hygiene を高く保とうとするのは一般的には良いこととされている。あるとき hygiene が優れないことで知られるプロジェクトで働いている友人に自分は嫌味を言った。あなたのとこのプロジェクトは割れ窓も何もないね。もう窓が全壊して床が硝子の破片でいっぱい。直しようがないじゃん。

友人は屈託なく答えた。そうですね。だから硝子片に怖気づかずズカズカ踏み込んでいって getting things done するんですよ。安全靴履いてくかんじですかね。

たしかに、そういうのってあるよな。

基本的に窓全壊なプロジェクトでは働かない方が良い。うっかり紛れ込んでしまったら逃げ出したほうが良い。ダメなコードやプロセスの裏にはダメな人々がいるものだから。けれど稀に、窓は全壊ながら high stake なプロジェクトというのがある。コードベースの hygiene さ以外はすごくいまくいっているプロジェクト。大きな成果を挙げたいなら安全靴を履いてそんなプロジェクトを戦い抜くのも意味のある選択肢になりうる。そういう前向きな理由以外にも窓全壊の危険地帯でしばらく生き延びる必要に迫られることはある。

自分はそんな安全靴精神を持ち合わせていない。コードベースの中の割れ窓地帯で仕事をすると、ひどいコードへの怒りや苛立ちで精神衛生を損ねてしまう。それ自体が悪いことだとは思わない。ひどいコードへの怒りは、ときにそれを正すための原動力にもなるから。安全靴で仕事をするのに慣れてしまったら、コードの良し悪しとかどうでもうよくなっちゃいそうじゃん。その結末は自分の価値観と合っていない。

High stake な割れ窓プロジェクトは立て直すことがある。関係者がプロジェクトの成功に強い関心を持っているので、できるプログラマや TPM が送り込まれてきたりする。そんな援軍が疲弊したチームを鼓舞し、床の硝子を吹き飛ばし、窓を張り替える。そうなると、割れ窓 High stake プロジェクトはぴかぴかのプロジェクトに生まれ変わる。安全靴は昔話になる。

そんなことは滅多におきない。だから窓全壊のプロジェクトからは逃げた方がいい。ただ直感が何かを告げたなら、そして信じるに値する直感を持っているなら、安全靴を履いて硝子片の海に踏み出せばいい。

それに逃げだせない事情があるときも、安全靴は我が身を守ってくれる。かもね。