右上↗

プログラミングに関するメモをのこしていきます

他人の仕事への許容度はどうあるべきか

人と仕事をすると、自分の思ってた感じじゃないやり方や成果物が出てくることがある。そういう時にどこまでを許容するか。いろんな観点があると思うので考えてみたい。

大前提だが、そもそも共同で仕事をする上で、やりかたや成果物についての期待値を揃える努力は惜しまない方がいい。ただすりあわせればこういう摩擦がなくなるかというと、そんなことはない。そのまですり合わせたら、それはもうペアプロだ。たとえば、外部仕様や設計レベルで期待値を揃えていても、詳細な実装部分で思ってたのと違う感じになる、なんてことはよくある話だと思う。

許容度が低いというのはつまり、自分の思う正解・やり方以外をあまり認めないという意味だ。許容度が高いというのはその逆で、思ってたのと違っても受け入れるという意味。

こう書くと許容度が低いことはあまりいいことじゃないようにも見えるが、自分はそうでもないと思う。ソフトウェアエンジニアリングにおいては、PRレビューがしっかりしている人をイメージすれば、そんなに悪いことじゃないと思える人は多いのではないか。自分はレビューが粗い自覚があるので、そこまでこだわって質の高いものを作ろうと意識できている人を尊敬している。

とはいえ、許容度が低すぎるのも良くない。まず第一に、自分の思う正解が本当に正解かどうかはわからない。そもそもどちらも正解である場合すらある。常に自分の思う正解が絶対である限り、自分より高いレベルの成果物は生み出せないが、複数人で良いところを持ち寄ることで昇華できるものは多い。

自分の想像とズレた時に、そこには実際にやってみた人なりの洞察・考察があるはずで、きちんとそこをすり合わせることが大切だ。

そしてそのためには、普段から度量があると思ってもらうことも大切だと思う。受け入れてくれる可能性がないと思ってしまったら、もうそこに健全な議論は成立しないから。

また、マイクロマネジメント的にやり方を規定されることで、パフォーマンスが落ちることもよくある。モチベーションは大事にした方がいい。

とはいえ、先に書いた通り、こだわりを持って成果物に向き合う職人性は、エンジニアならある程度は持っているほうがいいのだろうと思う。こだわれるのは、それだけ問題に向き合って考え抜いている証拠でもある。理想的には、こだわるべきだと思う場所をきちんと判断し、譲れないポイントを明らかにした上で合意する。それ以上のことは任せる。というのがいいだろうなと思う。

そもそもどっちでも良いような話はゴロゴロしているので、そういうのは任せつつ、チームで規約を作るなどして整える活動を別でやると良さそうだ。