人を傷つけずに問題点を指摘する――「ひよコード」という武器
2020.8.1 ダイヤモンドオンライン
小野和俊:クレディセゾン 常務執行役員CTO
「言わない優しさ」は美徳か?
プログラミングの世界では、「レビュー」が重要視されている。
ミスやバグが原因で、セキュリティー上の重要な問題が発生したり、お金の計算が合わなくなったりすることもあるからだ。 加えて、ソースコードの美しさや読みやすさに関するチェックも行う必要がある。
美しく設計されたコードは再利用性が高く、そうではないコードは変化に弱く、応用が利かない。
さらに読みやすさは、チームのレベルも加味しながらチェックする必要がある。
ところが、この「レビュー」には問題がある。
それは、相手を傷つけてしまうことだ。
プログラマーはみな、自分の自信作のソースコードのことで、他人からとやかく言われたくないのだ。
例えば料理を作ったときに、食べている人がその料理のダメなポイントを列挙し始めたらどんな気持ちになるだろうか。
みな嫌な気持ちになるだろう。
自分が丁寧に作り上げた作品に文句を言われたくないのだ。
「相手を傷つけてしまう」ことを重く見て、それを回避するために「あえて言わない」人もいる。
こうした「言わない優しさ」は美徳として受け止められる場合もあるかもしれないが、レビューの際には持ち出してはいけない。
後に問題が発覚したとき「なぜレビューで見抜けなかったのか?」と、レビュアーに返ってくるからだ。
場合によってはレビューされた人から「どうして言ってくれなかったの!」と詰め寄られることもある。
レビューの難しさは、「言わなければならないこと」と「傷つけないようにすること」の2つを両立させなければならない点にある。
レビューの難しさとどう向き合っていくべきなのかを協議した結果、私たちは「ひよコード」という表現を発明した。
未熟で修正の必要があるソースコードに直面したとき、「なにこのクソコード」とは決して言わず、その代わりに「少しここがひよコードだね」「この箇所が少しピヨピヨしてるね」とコメントする。
ひよコードとは、「ひよこ」と「コード」(ソースコードの略)をかけ合わせた言葉だ。
ひよこはかわいらしく人から愛される生き物だ。
そしてこれから成長していくことを暗黙のうちに期待されている。
つまり、「伸びしろ」しかないということだ。
だからネガティブなことを言わざるを得ないとき、精いっぱいの愛情を込めて「ひよコードだね」と伝えるのだ。
ネガティブなことを伝える「3つのテクニック」
レビュー文化の浸透した開発チームでは、プログラマー同士の会話は、ときに知的ボクシングのような様相を呈する。
「ここはもう少しこういう書き方のほうがよいかと」 「いや、こうしたのには理由があって。〇〇を重視してあえてこうしたんです」 「そのやり方は少し前に流行ったやり方なんだけど、現代的ではないよね。なぜ廃れていったかというと、××という問題があり、いまは使われていないわけで」
こんなやりとりがかわされる。
角かどのある発言をすることは、この知的ボクシングのグローブに釘を仕込むのと同じだ。
レビュアーの宿命を引き受けたうえで、このグローブをふかふかのクッションにしなければならない。
これはレビューだけでなく、さらに言うとビジネスだけでなく、人間関係にも同じことが言える。
コミュニケーションはいつだって、楽しさや笑いに満ちていたほうがいい。
ではどうすれば、グローブをソフトで心地よいものにできるのだろうか。コツは3つある。
(1) 優しく言う:「ちょっと思ったんだけど」「〜かもね」 ときには「ひよコード」でさえ凶器になる。
「またひよコードかよ」と言ってはいけない。
何かを指摘しなければならないときには「ちょっと思ったんだけどさ」と優しく語りかけるように心がける。
確実に問題があるときでも「〜という課題があるかもね」と、最後に「かもね」をつけるだけで一気にマイルドになる。
(2) 自分が過去に同じミスをした話から入る:「ここはミスしやすいところなんだよね、昔自分も……」 「問題点に気づくのは、かつて自分も同じミスをしたから」という場合も多い。
相手に問題点を指摘する前に、自分も同じミスをしたことがあることを告白しよう。
相手との関係を「レビューする人とレビューされる人」から「同じミスをしたことのある仲間同士」へと転換することができる。
(3) 相手に敬意を払う:「〇〇さんの言うことは本当にそうだなって思って」 「そもそもそれは間違ってますよ」などと言うと、内容を聞く前に相手が精神的ガードを上げてしまう。
「〇〇さんの言うことは本当にそうだなって思って」と相手の考えを理解し、敬意を払う。
そのうえで、「それで言うと、ここも直したほうがいいかなって思ったんだよね」と問題点を伝えよう。
ただし、これは相手の言っていることと問題点とのつながりを見出したときのみ使える手法だ。
むやみに使うと説得力が落ち、さらに頭が悪いと思われるので気をつけてほしい。