Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

じっと座っていてもシステムは作れない

散歩に行ってはいけない?

どうして業務中に散歩に行けないんだろう?という疑問から考えてみた。
僕は協力会社としていろいろな会社のプロジェクトに参画している。
でも、いまだかつて散歩に行けたプロジェクトはない。
10分散歩していいですかと聞いてOKと言われたことはない。

システム開発業界に喫煙者が多いのは、明らかにこれと関連がある。
つまりタバコを吸いに喫煙室にでも行かない限り、気分転換の口実は与えられていないってことだ。

肉体労働は

いったい日本のシステム開発は、いつまで肉体労働での成果物の考え方に縛られているんだろう。
僕の考えはドラッカーに影響されてるけど、もしも肉体労働であれば就労時間と成果物の量は比例するので散歩なんてさせられないのはわかる。


たとえば、工場のベルトコンベアで何かを作るとして、同じ人であれば時間が長い方が多く作れる。
同時に、肉体労働での生産性の個人差というのは何十倍という差はつかない。
ベルトコンベアの作業で、ある人と別の人が同じ時間作業して、一方が1個作る間に他方が10個作るという状況が常に続くわけじゃない。
昔、工場に作業者を監視する人がいたのは当然だ。休む時間をなくすことで成果物の量を増やすことができるんだから。

知識労働は

でも、知識労働は肉体労働と異なる。
就労時間と成果物の量は比例しない。時間が意味を持たないのではなくて、労働者が思いのまま「時間の意味をなくす」ことができる。
たとえば考えるフリをしたり、ネットで作業に関係のないサイトを見たりして時間をつぶすことができる。
10分散歩させなくても、10分作業時間が増えるわけじゃない。


プログラミングは10倍の生産性の差があるって有名な話だけど、知識労働は身体の制約が少ないから、肉体労働より作業者によって生産性に大きく幅がある。
厳密に生産性を測る方法はないにしろ、より高い人とより低い人を比較するのはたやすいし、大きな差があることはすぐにわかる。


さらに、同じ10分で同じ作業者であっても、作業者の状況によっても生産性は大きく変わってしまう。
ならばむしろ積極的にリフレッシュを推奨すべきなんじゃない?

プログラミングは知識労働

きっと、プログラミングは仕様をコードに変換する作業という観念がいまだシステム開発業界に根強いことと大きく関係がある。
この観念が、プログラミングを知識労働じゃなく肉体労働であるという認識につながっているんだ。


散歩なんて許可したら全然仕事しないやつが出てくる、という意見もありそうだ。
でも、ほっておいていいんじゃないか。
知識労働では生産性の個人差がとても大きいのであれば、全員に均質に働かせることを目指すより、仕事に打ち込む人にいかに最大限やってもらうかを考える方が効率がいいってことになる。

プロジェクトで考えるべきこと

Googleにはお菓子とかビリヤードがあるってことに目を奪われがちだけど、そんな表面じゃなくて深く考えようよ。
これはまさに、いかにリフレッシュして高密度で働いてもらえるかというのを考えて採用したものだと思う。
お菓子やビリヤードは手段の1つであって、それしか方法がないわけじゃない。


プロジェクトにおいて、プロジェクトマネージャとかチームリーダはこうしたことを考えなきゃいけないと思う。
自分の会社の規則に反しない範囲で(または規則を変えて)、エンジニアをいかにリフレッシュした状態を保つかということを考えなきゃいけないんじゃないかな。

  • 散歩を許可する
  • ガムをかんでよいことにする
  • 10分間の昼寝時間を作る(14時からとか)
  • 休憩場所を別室として作る(個人的に喫煙室より費用対効果はいいと思う)