XPと椅子 | Ouobpo

XPと椅子

 XP(Extreme Programming)にとって大事なものとはなんだろうか? テストファースト、ペアプログラミング、40時間労働・・・ XPには重要な要素がさまざまあるが、それらと並んで大事なのは「椅子」である。

 Kent Beckらが提唱するXPでは、なによりも職場の環境が重視される。粗末な環境に置かれていては、プログラマは決してよい精神状態を保っていられるはずがなく、したがってプログラマの精神的な活動の産物であるプログラムもよいものが生産されるはずがない、という信念がそこにはある。
 こうした働く環境を重視するXPの考え方は、おそらくTom DeMarcoらの『ピープルウェア』の影響を強く受けたものだと思われる。XPで語られている多くのことが、10年以上前のこの書籍でも同様に提唱されているからだ。

 Kent Beckは、職場環境の中でも、とくに椅子の重要性を説いている。

 「TDDで使用すべき物理設定は何か。 → 必要であれば、他の家具すべてケチっても、本当に良質の椅子を用意すべきだ。
 背中が痛いと、よいプログラミングはできない。しかし、組織はチームに毎月100,000ドルを費やしても、良質の椅子に10,000ドルを費やすことはない。
 筆者は、コンピュータには安価で粗末な折りたたみ式のテーブルを使用し、見つけた椅子の中で最高の椅子を購入する。机のスペースは広く、容易に増やすことができるので、午前も午後も、新鮮にプログラミングを行うことができる。
 ペアプログラミングを行っている時は、快適な姿勢を取るべきである。机をきれいにし、キーボードがスムーズに行き来するようにする。パートナーは2人とも、ドライブ中はキーボードの真ん前に、快適に座ることができないといけない。筆者の好きな指導方法は、コードに取り組んでいるペアの後ろに立ち、優しくキーボードを移動させて、記述している人が快適な姿勢を取れるようにする方法である。」 (Kent Beck著『テスト駆動開発入門』より)

 椅子の重要性は、なにもXPに限った話ではなく、ソフトウェア開発に共通して言えることだ。パソコンそのものを除いて、開発中にプログラマが最も長時間接触しているのが椅子だからである。椅子の良し悪しは、プログラマの精神状態に影響する。そして、それは成果物であるプログラムの良し悪しに直結する。
 どんな椅子がもっとも心地よくプログラミングできるかを考えることは、単なる趣味の話ではなく、ソフトウェア開発にとっての普遍的なテーマである。

参考文献:
ケント ベック, Kent Beck, 長瀬 嘉秀, テクノロジックアート
テスト駆動開発入門
トム・デマルコ, ティモシー・リスター, 松原 友夫, 山浦 恒央
ピープルウエア 第2版 - ヤル気こそプロジェクト成功の鍵
Charlotte Fiell, Peter Fiell
1000 Chairs (Taschen 25)