くりにっき

フルスタックキュアエンジニアです

質問をする技術

以前社内に書いたポエムなんだけど年に1回くらい引用したくなるので公開した

tl;dr;

テンプレ

【質問内容】

【やりたいこと or 今困ってること or 質問の意図】

質問をする時はゴールを提示する【MUST】

  • なにかやりたい
  • けど実現できない、うまくいかない
  • それで質問する

って感じに、質問をする動機としてまず やりたいことありき のはずなので、それを提示すべきです

理由1

質問される側(以下回答者)は質問内容がふわっとしていると色々なケースを想定して回答を組み立てます *1

例「Aの場合は~だけど、Bの場合は~」

こういう場合回答者は質問者のやりたいことを想像しながらいろんな場合分けをする必要があるので、頭を使うので疲れるし、回答を組み立てるのに時間もかかります。

酷い場合だと5つくらい場合分けして回答したことがあります。

こういう時、僕は自分の中で 超能力で回答 という言葉を使ってます。(自分以外で使ってる人は見たことないので同意は得られないことは覚悟してます)

超能力を発揮するのは疲れます。

僕も色々質問を受ける立場ですがゴールが明示されてた方が圧倒的に回答しやすいです。

理由2

初心者によくありがちなのですが、やりたいことに対して質問内容が的外れということが往々にしてあります。

  • 質問者「これってどうやるんですか?」
  • (回答者は頑張って回答を組み立てる)
  • 回答者「こうやるんですよ」
  • 質問者「さっきのだとうまくいきませんでした」

はっきり言ってこういうのは時間の無駄なので先にやりたいことを明示してもらえれば

  • 質問者「こういうことをやりたいんですがここでちょっと詰まってます。これってどうやるんですか?」
  • 回答者「んー。それ、意味ない(質問内容が実現されてもゴールにたどりつけない)っぽいw」

って感じで時間のロスを防げます

コンテキストを詳しく共有する【SHOULD】

*2

質問する側は質問内容に関して長時間思考してるのでコンテキストを理解しています。

しかし回答者はそうとは限らないので可能な限り詳しく書くべきです。

実行したコマンドと実行結果を全て書くくらいが丁度いいと思ってます。

質問内容や人によってはヒアリングしながらコンテキストを少しずつ理解するというのもありそうですが、僕は圧倒的に最初にコンテキストを詳しく書くしそういう風に質問された方が嬉しいです。

チャットとかだと横で見た人が回答しやすいってのもあります。

あと質問内容をまとめる段階で頭の中で問題が整理されるので、質問するために文章を書いてたら答えが分かるという副産物もあります。

期待してた結果(expect)と実際の結果(actual)を書く【IMO】

*3

これはどっかのOSSのissueテンプレートで見たことあるやつ。

質問内容によっては「こういうことをやっててこういう結果になってほしいんだが全然違う結果になるんだが理由がよく分からん」ってことがあると思います。

そういう場合には期待してた結果と実際の結果を書くと質問文も組み立てやすいし、回答者も回答しやすいです

2020/7/22 12:30追記

ブコメレス

id:obatakanae

“こういう場合回答者は質問者のやりたいことを想像しながらいろんな場合分けをする必要がある” それならそこで聞き返せばいいんでないの?そういうことができない状況を想定しているのだろうか?

すぐ後に

質問内容や人によってはヒアリングしながらコンテキストを少しずつ理解するというのもありそうですが、僕は圧倒的に最初にコンテキストを詳しく書くしそういう風に質問された方が嬉しいです。

って書いているように好みの問題だと思います。

チャットだと非同期でのやりとりになってすぐに返信が返ってくる(返せる)とは限らないという理由で、僕は最初にまとまって書かれている方が嬉しいです。

id:jmako

このブログ主は自分視点で考えてるが、相手視点で考えると全く違った発想になる。この本がためになるはず。"「良い質問」をする技術" 是非読んでみて。

Kindle版ポチりました!

2020/7/22 19:00追記

ブコメレス

id:sippo_des

ググれカス、一人で生きていけるようになれ、とか、そんなこと聞くな、とか言われ続けた結果なのかな。 人から与えられた経験とか。交渉とか。

「質問する時はちゃんと準備することでお互いに円滑にコミュニケーションが進むよ」っていうのがこのエントリの主題です。そんなことは一言も言っていないしそんな経験もしたこともないです。

根拠もなく勝手な想像をするのはやめてください。

*1:あくまで自分はこうしています。主語がでかすぎたかもしれないけど前職で聞いたら何人か同じことやってたっぽい

*2:MUST(絶対こうしろ)よりはニュアンス弱めて「なるべくこうすべき」くらいのニュアンス

*3:In My Opinionの略でPullRequestでよく使うスラング。「自分ならこうするけどどうよ?(強制はしない)」くらいのニュアンス