要件定義の時に必要となる「効果的な質問の仕方」

## はじめに
今回の記事では、要件定義の時に必要となる「効果的な質問の仕方」について、まとめました。質問の仕方は、情報を効果的に引き出し、理解を深めるために非常に重要です。質問をする機会があるならば、相手の立場に立って、親身な回答が出来るようになりたいものです。

そのような回答をするためには、具体的で自由な回答を得られるオープンエンドの質問をし、背景情報を提供し、一度に一つの質問をすることで、相手から明確で詳細な回答を得ることができます。また、フォローアップ質問をすることで、さらに深い理解を得ることができます。


### 質問の仕方のポイント

１. **具体的に質問する**
質問が具体的であればあるほど、相手は的確な回答を提供しやすくなります。


**良い**「AWS WAFのIPフィルタリングの設定方法を教えてください。」（具体的） 
**悪い**「AWS WAFについて教えてください。」（抽象的）

相手が応えやすくする事がポイントです。相手のバックグラウンドを考え、相手が普段使いこなしているレベルの言葉が何かを見極めて、あわせる事が重要だと思います。

２. **自由な回答（オープンエンド）を促す質問をする**
自由な回答を促す質問は、相手に詳細な情報を提供する機会を与えます。


**良い**「このプロジェクトの進捗状況について教えてください。」（オープンエンド） 
**悪い**「このプロジェクトは完了しましたか？」（クローズドエンド）

相手に機会を与えることがポイントです。ですので、自分が話し過ぎないように注意し、適度な間を設ける必要があると思います。

３. **背景情報を提供する**
 質問の背景情報を提供することで、相手が質問の意図を理解しやすくなります。
 

「EC2インスタンスのパフォーマンスが低下しています。最近、トラフィックが増加したため、最適なスケーリング方法を教えてください。」

ここで考えるべきことは、話題がふぁふぁと曖昧にならないようにフレームに収まるようにする事です。そのため、背景と記載しましたが、要は、話題が逸れないようにする事が重要なので、図を用いて、図に注目が行くようにすれば、それはそれで、解決策といえると思います。

４. **一度に一つの質問をする**
一度に複数の質問をすると、相手が混乱する可能性があります。一度に一つの質問をすることで、明確な回答を得やすくなります。


**良い**「S3バケットのアクセス権限を設定する方法を教えてください。」（一つの質問） 
**悪い**「S3バケットのアクセス権限とバージョニングの設定方法を教えてください。」（複数の質問）

たくさんの人が集まれば、話題が逸れる事があります。もともと成し遂げたいと考えていた目的から逸れた質問や回答になった場合、そもそも、なんの話題だったのかに立ち戻る冷静さが必要だと思います。

５. **フォローアップ質問をする**
初めての回答が不十分な場合や、さらに詳細な情報が必要な場合は、フォローアップ質問をすることで理解を深めることができます。


「その設定方法について**もう少し詳しく**教えてください。」

これ、重要ですね。言葉をそのままうのみにせず、本当の所、どんな考え方をしているのか、聞く必要があると思います。

:::note info
#### AWSソリューション事例で読み解く　
背景情報「EC2インスタンスのパフォーマンスが低下しています。最近、トラフィックが増加したため、最適なスケーリング方法を教えてください。」を提供すると、専門家ならこういう回答をくれるかもしれません。

EC2インスタンスのパフォーマンスが低下している場合、トラフィックの増加に対応するために適切なスケーリング方法を実施することが重要です。垂直スケーリングと水平スケーリングの両方を検討し、特に水平スケーリングを行うためにAWSのオートスケーリング機能を活用することをお勧めします。**Auto Scalingグループの作成、スケーリングポリシーの設定、ロードバランサーの設定、CloudWatchアラームの設定を行うことで、トラフィックの増減に柔軟に対応し、パフォーマンスを最適化することができます。**　スケーリングの種類には、垂直と水平があります。 **垂直スケーリング（Vertical Scaling）は、** インスタンスのサイズを大きくすることで、CPU、メモリ、ストレージなどのリソースを増やします。**メリットは、** 簡単に実行でき、既存のアプリケーションを変更する必要がない。**デメリットは、** インスタンスのサイズには限界があり、スケーリングの上限に達する可能性がある。 **水平スケーリング（Horizontal Scaling）は、** 複数のインスタンスを追加して、トラフィックを分散させます。**メリットは、** スケーリングの上限がなく、トラフィックの増加に柔軟に対応できる。**デメリットは、** アプリケーションがステートレスである必要があり、ロードバランサーの設定が必要。

#### 回答をくれた時に、色々な種類を提示してくれたら、その種類について、さらに突っ込んだ話をする事が出来るようになる事がわかりますね。

「その設定方法について**もう少し詳しく**教えてください。」というように、**フォローアップ質問をする**と、更に詳しい話をする事が出来るようになる事がわかりますね。
:::


## 難易度が上がりますが、更に相手が自分でも考えていなかったようなアイディアを引き出す質問も可能です

相手が自分でも考えていなかったようなアイディアを引き出すためには、クリエイティブな思考を促す質問をすることが重要です。オープンエンドの質問、仮定の質問、視点を変える質問、未来志向の質問、制約を設ける質問、連想ゲームのような質問を活用することで、相手の発想を広げ、新しいアイディアを引き出すことができます。

１. **オープンエンドの質問をする**
オープンエンドの質問は、相手に自由な発想を促し、詳細な回答を引き出すことができます。

**「この問題を解決するために、どんな方法が考えられますか？」**
**「新しい機能を追加するために、どんなアイディアがありますか？」**

２. **仮定の質問をする**
仮定の質問は、現実の制約を取り除き、自由な発想を促します。

**「もし予算や時間の制約がなかったら、どのようにこのプロジェクトを進めますか？」**
**「もし全く新しい技術を使えるとしたら、どんな製品を作りたいですか？」**

３. **視点を変える質問をする**
視点を変える質問は、相手に新しい視点から問題を考えさせることができます。

**「顧客の立場から見て、この製品にどんな改善点があると思いますか？」**
**「競合他社の立場から見て、私たちの弱点は何だと思いますか？」**

４. **未来志向の質問をする**
未来志向の質問は、将来の可能性やビジョンについて考えさせることができます。

**「5年後、この業界はどのように変わっていると思いますか？」**
**「将来のトレンドを考慮して、どんな新しいサービスを提供できると思いますか？」**

５. **制約を設ける質問をする**
制約を設けることで、相手に創造的な解決策を考えさせることができます。

**「予算が半分になった場合、どのようにプロジェクトを進めますか？」**
**「チームメンバーが半分になった場合、どのようにタスクを分担しますか？」**

６. **連想ゲームのような質問をする**
連想ゲームのような質問は、相手に自由な発想を促し、意外なアイディアを引き出すことができます。

**「お客様が考えているアイディアをこれまでの案件で表現するとどんな案件に近いですか？」**
**「そのイメージを例えるとしたら、どんなイメージになりますか？」**


#### 質問をする機会があるならば、相手の立場に立って、親身な回答が出来るようになりたいものですね。