はじめに
チームで開発をしていると、誰かに質問をしたり、質問に答えたりすることがあると思います。対面やZoomで質問をすることもあれば、Slackやコードレビューなどテキスト上で質問することもあります。
あなたの質問は相手に伝わっていますか?
あなたの回答は相手の求める形式になっていますか?
この記事では、チーム開発を3年以上経験した僕が気づいた、エンジニアが意識すべき 「質問する」コツ と 「質問に答える」コツ を紹介します。
「質問する」コツ
コツは 「相手に何を求めているか」を伝える ことです。
エンジニアが質問する際にありがちなのは「始めに前提となる背景の共有を長々と行い、最後に質問する」というパターンです。この方法でも伝わることもありますが、答える側は「相手が何を求めているか」がわからない状態で長々と説明をされても、何に注意して聞けばいいかわかりません。
逆に、おすすめの質問方法は「最初に何を求めているかを話す」です。質問により相手に求めることの例として、以下が考えられます。
- 「はい」 or 「いいえ」 で答えて欲しい
- 自分の理解が正しいか確認してほしい
- 設計について意見が聞きたい
- 考えの整理・壁打ちがしたい
- など
特にエンジニアがチーム開発で扱う要件は複雑で説明が難しいことも多いため、相手との前提をそろえるための説明を優先してしまいがちです。最初に何を求めているか伝え、相手への負担を減らしましょう。
「質問に答える」コツ
コツは 「相手が何を求めているか」を理解する ことです。
よくある例として、レビューで質問されたときに、勝手に修正したのち「修正しました」と答えてしまうパターンがあります。これは過去 X(Twitter) でも話題になりましたね。
「ここはどういう意味ですか?」と聞かれたら、「こういう意図でこう実装しました」のように答えるのが適切だと思います。(それに追加して、「考え直したら変だったので修正しました」とかはOK)
「質問する」コツで紹介した「質問により相手に求めることの例」に対する適切な答えは以下です。
- 「はい」 or 「いいえ」 で答えて欲しい
- 「はい」 or 「いいえ」 で答える
- 自分の理解が正しいか確認してほしい
- 正しい or 間違っているところを教える
- 設計について意見が聞きたい
- 意見を述べる
- 考えの整理・壁打ちがしたい
- アドバイス等があれば伝える
「相手が何を求めているか」がわからなかったり、「相手が何を求めているか」の認識があっているか自信がない場合は、それを確認してから答えましょう。
「質問する側」「回答する側」どちらも意識したほうがいいこと
上記で紹介した「質問する」コツ、「質問に答える」コツは、どちらも基礎的なことです。
ですが、レビューの質問の件しかり、できていない事例もよくあります。(少なくとも、僕の周囲ではよく発生するので、この記事を書いています。)
なぜ「レビューで質問しただけなのに、それに回答せず修正してしまう」が発生してしまうのでしょうか?
理由は事例ごとに様々だと思いますが、要因は 感情 だと思っています。
「レビューで質問しただけなのに、それに回答せず修正してしまう」のは、質問された側が「指摘されたので、直さないといけない」と感じてしまったからではないでしょうか?(僕も新卒入社してすぐの頃に、そう思ったことがあります)
個人差はあると思いますが、質問する側と回答する側に何らかの立場の差があると、感情が原因で深読みしてしまったり、反射的に回答してしまいます。立場の差の例は以下です。
- 上司と部下
- 社歴の差
- 年の差
- reviewer と reviewee
たとえ「ウチの会社はそんなこと誰も気していないよ!全員平等だよ!」と謳っていても、たとえ頭で理解していても、無意識のうちに忖度してしまうこともあります。感情とはそういうものです。
では、どうすればよいのでしょうか?感情をコントロールすることは難しいですが、できることはあると思います。それぞれの立場で可能な工夫の例として、以下が思いつきました。
- 立場が上になりやすい人
- 責めていないことを伝える
- 声の大きさや言葉遣いを意識する
- 立場が下になりやすい人
- 質問している人は責めているわけではないことを理解する
- 質問している人の機嫌を伺わず、素直に答える
特に、理路整然にきっぱり物事を言いがちな人は、意図せず相手を委縮させてしまうことがあります。また、論破 なんてものは百害あって一利なしです。論破された側は気分が悪いですし、他の人からも「この人と話すと論破される」と思われてしまいます。
また、こういった話題でよく出てくる単語として 心理的安全性 や、Qiita のガイドラインにも出てくる HRT (謙虚・尊敬・信頼)があります。
要するに、メンバーを信頼・尊敬して、誰でも安心して発言できる状態を作ろう、という話です。
おわりに
これは僕の経験ですが、質問をしないエンジニアよりも、たくさん質問をするエンジニアの方が成長は速い気がします。何もわからないときに「何もわからないです!」と気楽に聞ける状態が理想かもしれないですね。