# 効果的な質問の仕方

## **質問スキルの重要性**

エンジニアリングの世界では、情報の精度やタイミング、そしてその情報をどのように取得するかは、プロジェクトの成功を大きく左右します。特にチームでの協力や、新しい技術やツールを学ぶ際に、正確で効果的な質問が不可欠です。

効果的な質問は、情報を正確にかつ迅速に取得することを目的とし、誤解や曖昧さを排除します。また、質問することで他者との良好な関係を築くこともできます。

### **質問の重要性と効果的な質問のメリット**

正確な情報を取得することはエンジニアにとって必要不可欠です。例えば、不具体な要件に基づいて開発を進めると、後に大きな修正が必要となることが多いです。プロジェクトの要件を受け取った時、具体的な動作や制約を明確に理解するための質問をすることで、後の開発フェーズでの再作業や誤解を防ぐことができます。

### **オープン vs. クローズド質問**

クローズド質問は、はい/いいえで答えられる質問で、限定的な情報しか得られません。一方、オープン質問はより詳細な回答を促すものです。うまく使い分けて相手から適切な回答を引き出しましょう。

**具体例:**\
クローズド: 「この関数はエラーを返しますか？」\
オープン: 「この関数がエラーを返すシナリオや状況は何ですか？」

### **質問の明確性と具体性**

質問が明確で具体的であることは、必要な情報を正確に取得するための鍵です。

**具体例:**\
不具体: 「このコードは動きますか？」\
具体的: 「このコードがデータセットXに対してYの結果を返すことを期待していますが、その動作は確認されましたか？」

### **ポジティブな質問の力**

ポジティブな質問は、受け手を非難や攻撃から守り、より協力的で建設的な回答を得やすくします。

**具体例:**\
ネガティブな質問: 「なぜこのコードはこんなに非効率なのですか？」\
ポジティブな質問: 「このコードの設計にはどのような背景や目的がありますか？」

## 質問の目的を明確化する

エンジニアリングの領域では、質問はコードや技術的な課題だけでなく、プロジェクト全体の流れやチームの協力を円滑に進めるための鍵となります。質問の目的を明確にすることで、より効果的な答えを得られる確率が高まります。

### **1. 情報収集のための質問**

これは主に事実やデータに関する質問です。

**具体例:**\
「新しいAPIのレスポンスタイムの平均はどれくらいですか？」\
この質問は、具体的な情報（この場合はAPIのレスポンスタイム）を取得することを目的としています。

### **2. 理解深化のための質問**

これは自分の知識のギャップを埋めるため、または既に知っている情報の裏付けや詳細を知るための質問です。

**具体例:**\
「このアルゴリズムが高速なのは、どのようなメカニズムやデータ構造によるものですか？」\
この質問は、既知の情報（アルゴリズムが高速であること）に対する理解を深めることを目的としています。

### **3. 問題解決・意思決定のための質問**

これは具体的な問題の解決策を探るための質問や、何らかの意思決定を下すための情報や意見を収集する質問です。

**具体例:**\
「現在のメモリの制約の下で、この処理を最適化するためにどのようなアプローチが考えられますか？」\
この質問は、特定の制約（この場合はメモリの制約）の中での最適なソリューションを見つけることを目的としています。

## 質問を効果的に伝えるためのコミュニケーションスキル

エンジニアとして技術力を持つことはもちろん重要ですが、コミュニケーションスキルもまた業務の効率やチームワークを大きく左右します。特に質問する際には、その方法が求める回答や解決への道のりを短縮する可能性があります。

### **1. 話し手に求められる姿勢**

質問する際には、自分の不明点や課題を明確に伝えるための真摯な態度と相手への尊重の姿勢が求められます。

**具体例:**\
「すみません、こちらの部分が理解できていないので、もう少し詳しく説明していただけますか？」というように、自分の不明点を認めつつ、相手に対して敬意を持った言葉を使う。

### **2. 質問のタイミング**

相手の状況や情報の流れに合わせて、最も適切なタイミングで質問をすることが大切です。

**具体例:**\
同僚がプレゼンテーション中や集中して作業をしている時には質問を避け、適切なブレイクタイムや専用の質問タイムにする。

### **3. 立ち居振る舞いや声のトーン**

言葉だけでなく、非言語的なコミュニケーションも相手へのメッセージを大きく影響します。

**具体例:**\
質問の際、相手の目をしっかりと見て、開かれた体の姿勢をとることで相手への興味や関心を示します。また、「この部分がよくわからなくて…」という時に、声のトーンをやや柔らかくすることで、非攻撃的であることを示す。

### **4. リモート環境（チャット等）におけるポイント**

リモートコミュニケーションでは、顔や体の非言語的な情報が欠けるため、テキストでの伝達が非常に重要になります。

**具体例:**

* 質問の内容や背景情報を明確にし、箇条書きや番号リストで整理して伝える。
* スクリーンショットやコードの部分を共有して、具体的な状況を示す。

## 質問のバリアを取り除く

質問の効果は、ただ正しい情報を伝えるだけでなく、どのような状況や環境で伝えるかにも大きく影響されます。特にエンジニアとして技術的な課題に取り組む際、質問のバリアを取り除くことは情報の正確な共有やスムーズな問題解決に繋がります。

### **1. 質問の際の先入観や偏見の危険性**

質問する際に先入観や偏見を持ってしまうと、真の問題点や必要な情報を見逃すリスクが高まります。

**具体例:**\
新入社員が質問をしてきた際、経験年数が少ないからといってその質問を軽く受け取ると、その背後に潜む大きな技術的な問題を見逃すことがあります。

### **2. 評価や判断を避ける**

質問された側が即座に評価や判断を下すことは、質問者が今後質問を避ける原因となり、コミュニケーションの障壁を作り出す可能性があります。

**具体例:**\
あるエンジニアがコードの最適化方法について質問をしたとき、「そんな基本的なことを今更聞くの？」と評価を下すのではなく、「それについてはこういう方法が考えられる」と客観的に答える。

もし質問した相手が即座に評価や判断をしてきた場合、そのような状況を円滑に乗り越えるための対応方法を以下に示します。

* **受け入れる姿勢を持つ**

まず、相手の反応に過度に反応することなく、冷静にその評価や判断を受け入れる姿勢を持つことが大切です。感情的になると、有意義なコミュニケーションが困難になります。

* **評価の背後にある意味を探る**

「なぜそのように思ったのか？」という点に焦点を当て、相手の意見の背後にある根拠や考え方を理解しようとする。

**例:** 「その方法が基本的だと思われるのは、どういった理由からですか？」

* **自分の立場や状況を明確に伝える**

質問の背景や、なぜその質問をしたのかを具体的に伝えることで、相手に自分の状況や考えを理解してもらうことができる。

**例:** 「このプロジェクトでその技術や方法に触れるのは初めてなので、基本的な部分から理解を深めたいと思っています。」

* **反論せずに再質問する**

相手の評価や判断に対して直接的に反論するのではなく、自分の疑問点や不明点を再度質問する形でアプローチする。

**例:** 「その点は理解しました。それでは、最適化の方法についてもう少し詳しく教えていただけますか？」

### **3. 適切な環境の作り方**

質問を容易にするためには、安心して質問ができる環境を整えることが重要です。

**具体例:**

* 定期的に質問・共有の時間を設ける。例: 週に一度の「技術質問タイム」をスケジュールに入れる。
* チーム内での質問専用のチャットチャンネルや掲示板を作成。これにより、質問がしやすい環境を作るとともに、同じ質問を避ける効果も。
* 質問をする際のマナーやルールを明確にし、それをチーム内で共有する。

## 効果的な質問のフォーマットとテクニック

質問の技術はエンジニアとしての技術だけでなく、コミュニケーションの技術としても非常に価値があります。以下に、効果的な質問のフォーマットとテクニックについて具体例を交えて説明します。

### **1. 5W1Hの活用方法**

5W1Hは、Who（誰が）、What（何を）、When（いつ）、Where（どこで）、Why（なぜ）、How（どのように）を指す質問の基本形です。

**具体例:**\
あるバグの原因を探る際に

* Who: 誰が最後にその部分のコードを触りましたか？
* What: 何の機能追加や変更が行われましたか？
* When: それはいつ行われましたか？
* Where: どの部分のコードで問題が発生していますか？
* Why: その変更を行った背景や理由は何ですか？
* How: どのような手順や方法でその変更を実施しましたか？

### **2. サクセスストーリー法やSBIフィードバック法**

#### **サクセスストーリー法**

成功体験をもとに、どのようなアクションがとられ、その結果どのような成果が得られたかを振り返る方法。

**具体例:**\
「過去のプロジェクトでどのような方法でバグを特定し、解消することができたのか？」といった質問で、その経験から学べるポイントやヒントを引き出す。

#### **SBIフィードバック法**

Situation（状況）、Behavior（行動）、Impact（影響）の3つの要素をもとにフィードバックを行う方法。

**具体例:**\
「昨日のミーティングでの（Situation）、あなたが提案したコードの最適化方法（Behavior）は、チーム全体の生産性向上に非常に寄与した（Impact）」

### **3. リフレーミングや深堀りのテクニック**

#### **リフレーミング**

問題や状況を異なる視点や角度から見直すことで、新しい洞察や解決策を見つける技術。

**具体例:**\
「この方法で実装することが困難だ」という問題提起に対して、「別のアプローチで実装すると、どのようなメリットが考えられるでしょうか？」と質問する。

#### **深堀り**

あるテーマや問題に関して、更に詳しく知るための質問を連続して行う技術。

**具体例:**\
「なぜその方法で実装しようと考えたのですか？」→「その方法のメリットは何だと感じますか？」→「それに対する懸念点やデメリットはありますか？」と、一つのトピックに対して続けて質問する。

## 質問に対する反応の読み取りと対応

エンジニアリングの現場では、質問の技術だけでなく、質問に対する反応の読み取りも重要なスキルとなります。質問の後、相手がどのように反応するかを正確に読み取ることで、コミュニケーションの質を向上させることができます。以下、具体的なポイントを示します。

### **1. 非言語的な反応のサイン**

**- 顔の表情:** 相手が困惑しているか、理解しているかなど、顔の表情は非常に多くの情報を伝えます。たとえば、眉をひそめたり、目を大きく開けたりすることは驚きや困惑を示している可能性があります。

**具体例:**\
あなたが「このコードの動作原理を教えてください」と質問した際、相手が眉をひそめたら、その質問が難しそうに感じられたか、具体的な部分がわからなかった可能性が考えられます。

**- 体の動きや姿勢:** 体を前傾させる、または後ろにもたれるなど、体の動きや姿勢も相手の気持ちや考えを示す手がかりになります。

**具体例:**\
「この新しい技術を導入するのはどう思いますか？」という質問に対して、相手が体を前傾させた場合、興味を持っているか、ポジティブに受け取っている可能性があります。

### **2. 対話の深度を増すためのフォローアップ質問**

フォローアップ質問は、質問に対する答えを更に深く理解するための鍵となります。これは、相手の回答や反応を基に次の質問を導き出すスキルです。

**- 反応を基にした質問:** 相手の答えや反応に基づいて、質問を続けることで、より具体的な情報や深い理解を得ることができます。

**具体例:**\
相手が「このライブラリを使うと実装が簡単になります」と答えた場合、\
「そのライブラリのどの機能が特に役立つと感じますか？」と続けて質問する。

**- 感情や意見にフォーカスした質問:** これは、相手の感じていることや考えていることをより深く理解するための質問です。

**具体例:**\
「このプロジェクトについてどのように感じていますか？」や「そのアイディアに対しての主な懸念点は何ですか？」など、感情や意見に直接的にフォーカスした質問をする。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://engineer.toggle.co.jp/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/nano.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
