仕事の指示を疑え!

開発現場にいると時々不思議な言い訳に出会うことがある。

  • 「言われた通りに作業しました。だから自分に落ち度はありません」
  • 「そんな指示は受けていないので、やりませんでした」
  • 「そんな処理は仕様書に記載されていません。だから実装していません」

指示されていないことはやらない。これは正論だ。うかつなことを言い出せばタダで追加作業をやるハメになってしまうし、下手をすれば自分の責任問題に発展してしまう。損する宿題を持ち帰ると上司に怒られるし、面倒ないざこざはご免だから、徹底的に自己弁護の姿勢を貫いているらしい。確かに、言われた通りにやったという顛末は役立つ情報だし、弁明としては悪くないとは思うけど、これがいい歳をした開発者の言うことなのかと呆れてしまうことも多い。

何も指示されていないからこそ、自ら問題を見つけ出すのが本来あるべき姿だと思うし、問題の存在に気づいたのなら知らんぷりせずに率先して持ち出すのが求められる役割というものだろう。言われたことしか出来ないなら、それは考える力を備えた人間ではなく、単なるお手伝いロボットに過ぎないのではないかと思う。言われたことを確実に達成するのは当然として、そこから更に一歩進んでプラスアルファをもたらすのが開発者の責務だと思う。

だから、作業指示に対して細かな確認を求めて来る開発者のやり方には信頼を置いているし、実はもっと別の方法が有るのではないかと前向きな提案をしてくるメンバの存在は貴重だと思っている。世の中には、「間違った内容の指示でも、命令なので絶対服従」という環境もあるらしいだけど、そんな組織や人が伸びていくとは到底思えないので、距離を置いたほうが良いのではないかとも思う。

こんな言動がまかり通る背景として、個人的には「先生の説明には常に従い」「疑問を持つこと無く一つ正解を追い続ける」学校教育や、「他人の失点が自分の得点に繋がり」「他人が落とし穴に落ち込む状況を密かに喜ぶ」成果主義にその一因があるのではないかと疑っている。また、これまた不思議なことに、開発の現場では「完璧なる仕様書」「完璧なる作業指示」を崇める風潮が有って、何が何でもそれに従うことが仕事だと思い込んでいる人もいるのでややこしい。学校の教科書ではないのだから不完全な仕様書は直ぐさま指摘と共に突き返すべきだし、意味不明な指示を受けたて疑問に思ったら直ちに確認すべきなのだ。

開発の終盤になって、処理性能が出ない、ユーザビリティに問題が有る、仕様変更が発生して納期に間に合わないという状況は(残念なことに)珍しくないけど、きっと誰もが疑問を挟むことなく、言われるままに従順に仕事を続けてきた結果ではないかと思っている。

しかし、ソフトウェア開発で考えれば、たとえばプログラミングに一番詳しいのはプログラマーです。依頼側が請け負い側より高いプログラミングスキルを持っている可能性ももちろんありますが、日々プログラミングの仕事をしているプログラマーの方が実は最適な進め方を知っているかもしれません。それでも指示通りにやる方が良いのでしょうか?

仕事は指示通りにやればいいというものではない:プログラマー社長のブログ:オルタナティブ・ブログ