2008年8月25日月曜日

無駄な作業を捨てる(プロジェクトの人間学)

【この「プロジェクトの人間学」投稿シリーズは(後略) 初回投稿:はじめに(プロジェクトの人間学)

何のためのプロジェクトか。良いシステムを作るためである。では良いシステムを作るために、何をなすべきか。良い問いである。そしてこの時重要なのは、何をなすべきでないのか、を意識することである。例えば重箱の隅を突付いてばかりでは絶対に良いシステムはできない。つまり良いシステムを作るためには、やるべきでない仕事をやらないことが重要である。無駄な作業を効率的に行うことほど無駄なことはないとドラッカーがどこかで言っていた。また80対20の法則というものがある。この法則を適用すればプロジェクトで実施する作業の80%は無駄である。残りの20%が品質の80%を決定する。実感にも合う。何でこんな無駄なことばかりさせやがる。プロジェクトでこう思わないエンジニアはいない。

とすれば現実的に有効な問いは「何をなすべきでないか」である。この問いに答えるのは実は難しい。何故ならこの問いに答えるためには作業に対する負の価値判断(つまり否定)が必要だからである。なぜ作業の否定が難しいか。君が今やっている(やろうとしている、あるいはやろうと思いついた)仕事はまったく無意味で無駄だから今すぐ止めて他のことをした方がよい。ああ、まったくだ。そう思えるだろうか。大きなお世話だ、と思うのではないだろうか。あるいは人によっては、それをやりとおすことに意味がある、とムリヤリ意味を見つけてしまうかもしれない。

仕事を切り捨てるのは感情的にはなかなか受け入れがたいものなのだ。その仕事は無駄だ。そうかもしれない。でもやってみなければ分からないじゃないか。それにもしこの仕事をやらないとして、大きな問題が発生したら、どうしてくれるのだ。そう言ってまじめなワーカは徹夜でその仕事を続けるものなのである。

何か問題が発生したら、その責任は俺が取る。だからその仕事は*するな*。そう言えるマネージャがいるだろうか?マネージャとは脳内タスクテーブルに載ってしまったタスクは、たとえそのタスクがある時点から無意味になったとしても、プロジェクトが完了するまで執拗にトラッキングするものである。途中で「やらなくてもよい」と言うマネージャはほとんどマネージャではない。宇宙人である。

しかし実際のところ、無駄ではない作業がどれほどあるのだろうか。会議、一時的成果物(トラブル報告書、技術説明報告書、パフォーマンス分析、障害解析うんぬん)。後に振り返ってみればすべてがそれなりに意味を持っていたように思える。あの時あの作業をしていて良かった安心だ、とすら思えてしまう。ただし、われわれ人間は仕事に意味を求めている、という事実を考慮に入れる必要がある。仕事に意味を感じられない人間は転職するか淘汰されてゆく。だから我々の意識には、意味を見つけようとする強い重み付けが存在するのだ。それを忘れてはならない。

では、無駄な作業とはどのようなものか。それは「やらなくてもよい作業」である。そんなの、当たり前じゃないか。ではやらなくてもよい作業を、あなたはしていないのか。ピントの外れた長電話をしていないか。どちらを選択しても結果に大した違いが出ない意思決定について、30分以上議論を続けていないか。表向き、形式的に必要だが、その内容はまったくどうでも良い報告書の作成。低レベルの作業でも無駄な作業はいくらでもある。ホストの経験しかないマネージャがソースコードのステップ数を出せと言ってくる。Javaの行数をどこまで精緻に数えるのか。あなたにまじめに*数えない*ことができるか。

プロジェクトで働く人間は(特にある種の人間は)実にまじめでやや近視眼である。腰を据えて大局や本質をじっくり見る前に、とりあえず目先の仕事に全力で取り掛かってしまう。不安(仕事がなくなる不安=自分が必要とされなくなる不安、プロジェクトの先行きに対する不安)に駆られるという理由が大きいのではないかと思う。だがこれでは仕事が趣味という人間以外は淘汰されてしまう。もう少しうまい進めかたはないのか。ハードワークに疲れ果てる前に考えてみることはないのか。

0 件のコメント: