がんばるあなたがプロジェクトを殺す
あまりに暑いのでちょっと怪談を。
今のような仕事のやり方をする前、いわゆるシステムインテグレータに所属していた。まあ、呼び方はいろいろあるのだろうけれど、一番長いこと仕事にしていたのは、いわゆる「火消し」。問題プロジェクトにがあると、プロジェクトに投入されるという役どころだ。まあ投げ込まれるのは大変だけれど、いろいろなものを見ることができた。
投入されたプロジェクトは多種多様だけれど、たいていの場合、すぐに問題があるようには見えない。みんな忙しそうに働いているし、大きな開発プロセスの問題もない。粛々と作業がすすんでいるように見える。でも、クライアントと管理職は怒っている。怒っているから、いろいろな作業が追加されて、メンバーはどんどん忙しくなる。
しばらく見ていると、プロジェクトには必ずある種類の人がいることに気がつく。みんなに頼りにされていて、なにかあると彼(彼女の場合もあるよ、もちろん)のところに相談がいく。
彼は、たいてい最後まで残業している。メンバーがみんな帰っても、「あとちょっと」と言いながら、最後まで残っている。メンバーは、「彼があんなにがんばっているんだから、私もあれくらいは、、、」と思っている。
本人に聞くと、「私ががんばらないと、このプロジェクトはまずいので、」と必ず返ってくる。彼は、時々朝まで仕事をしていることがある。プロジェクトレビューがあったりするときとか、部内の進捗会議がある日とかね。ドキュメントをチェックして、誤字を直したり、テスト環境のデータベースパスワードが間違っているのを修正したり、進捗資料の画面ハードコピーを取り直したり、、、
そう彼はとても真面目でプロジェクトのために身を粉にして働いている。プロジェクトの問題を修正し続けている。みんな彼を頼りにしている。
で、壊れる。プロジェクトまたは彼自身が。「または」はプログラマの OR だからね。どっちも壊れることもある。
で、どちらかが壊れたとき、プロジェクトを安全に元に戻すことはできない。プロジェクトが抱える多くの問題は、彼しか直せないからだ。彼が直せなくなったとき、プロジェクトはどうしようもなくなる。
これが怪談なのは、誰も悪意を持っていないところだ。彼はプロジェクトを助けるために働き、皆もそれに感謝した。結果、プロジェクトが破綻に近づいた。
この状況に問題があるとすると一点だけ。彼がプロジェクトメンバーが学習する機会を奪ったという点だけだ。自分が作ったドキュメント、コード、デモ、プレゼンテーションのどこに不具合があるかを知ることができなければ、次によくすることもできない。
少しは、涼しくなっただろうか。怖くなったらみんなでビールを飲みに行くのがいいんじゃないかな。
よい夏休みを。