/ #プログラミング #仕様 

今まで秘密にしていた自分の思い通りの仕様に調整する質問テクニック

お客さんがなかなか仕様書を出してくれない
仕様書が出ても内容が薄くて質問しないといけない
無理な事を書いているので、代替案を提案して認めて貰いたい

エンジニアであれば誰もが仕様調整でこんな感じに困ったことが、一度や二度はあるのではないでしょうか?

自分はフリーランスエンジニアとして現在稼働中です。
実際にお客さんと仕様調整が多々発生します。

そのたびに色々と質問をしたりして調整をしたり、決定したりしてきました。
その中でこうすると上手く誘導出来たというような経験値が溜まってきたので、その質問テクニックを紹介します。

目次

  1. 採用して欲しい案に誘導する質問の仕方をする
  2. 相手が答えやすい質問をして、仕様質問の糸口をつかむ
  3. 後々問題になりそうな事を先に聞いておく
  4. 全然決めてくれない値は仮データで実装しちゃう
  5. 無駄に客先にヘコヘコしないで強気に質問する

1. 採用して欲しい案に誘導する質問の仕方をする

例えばA案、B案があったとして、A案にして欲しい場合があるとします。

この時に重要なのはA案を採用してもらう可能性が高くなる聞き方がある事を事前に知っておきましょう。

まずは悪い例

「A案とB案があるのですが、どちらがよろしいでしょうか?」

この聞き方だとA案になる確率は50%で、「じゃあB案にしようかな」と言われる可能性があるので、ダメです。

A案を選んで欲しいのであればの次の様に聞くべきです。

良い例 「A案とB案があるのですが、A案でよろしいですか?」

この質問のポイントは相手に「はい」、「いいえ」で答えさせる事です。
まず考える余地を消す事が狙いです。
会話の流れによっては無意識に「はい」と答えさせる事も可能です。

さらにA案を選んでもらう可能性を高める為に、理由と具体例をつけるとベストです。

「A案とB案があるのですが、A案でよろしいですか?理由はA案の方が実装がシンプルになるので、バグが出にくく実装コストも下げれるからです。具体的には・・・」

このように付け加えると ほとんどの場合A案を選択してくれるのではないでしょうか。

2. 相手が答えやすい質問をして、仕様質問の糸口をつかむ

例えば仕様書がなかなか上がってこなくて実装が始められない時とかよくありますよね。

そういった時には相手に対して答えやすい質問をして答えさせましょう。
こちらは実装に入っているんだよと客先にアピールすることができます。

そしてこの質問をきっかけに、会話が開始されて、仕様書作成が進むことでしょう。

たとえ向こうが今忙しくて仕様を作っている最中だとしても、不明点やわからない点をどんどん質問をするのがいいでしょう。

そうすると質問した事柄を仕様書に書いてくれて、より実装しやすい詳細な仕様書を出してもらえる事になります。

3. 後々問題になりそうな事を先に聞いておく

実装していてよくありがちなのが、完成したと思ったら、実はこのデータがある時にはこういった動きをして欲しかったんだーみたいに平気で仕様を追加or捻じ曲げて来る時ありますよね。

これは本当にやめて欲しいです。

そうならないためにも後々問題になりそうな点を先に聞いておくのが良いです。
未知の仕様を予測するのは難しいですが、仕様書の意図をエスパー(先読み、深掘り、考察)するのが大事です。

実際に動かした時の事を想像したり、データが無い時の事を予想したり、開発時の条件を検討したりですね。

そうやってエスパーした事を先に聞いて相手に仕様の抜けを気付かせるといいです。

これで追加で実装しなければいけないことを何回か避けることができました。

4. 全然決めてくれない値は仮データで実装しちゃう

はやく決めて欲しい値やマスタを全然作ってくれない。あるある!
これないと実装できないよーみたいな事多いと思います。

ただ待っていても、時間の無駄なので、さっさと仮データや配列で実装してしまいましょう。
そしてコメントで「TODO: 仮データ 本番データと入れ替える事」と書くのです。

大体の場合は実装してしていくうちにデータが出てきます。
あとは仮データと置き換えるだけです。

仮に実装が終わっても、本物の値が全然出てこない場合は、一旦実装完了します。

仮データでとりあえず動く状態にしておく。
そして本データと入れ替える実装を別チケットにしてタスクに積んでおくと良いです。

このようなことをすれば何の問題もないでしょう。

5. 無駄に客先にヘコヘコしないで強気に質問する

日本人ってどうも質問や、お願いをする時に、はっきりものを言わずに察してもらうような言い回しをする文化ですよね。

プログラマーが仕様を調整するにあたってはこのやり方は悪手です。

アメリカ流にYES、NOはっきりと強気に主張しましょう。
出来ないことは出来ないといいましょう。

言い回し的には「コストと時間が掛かりすぎるので現実的に不可能です。」等です。

その際には無駄に客先にへりくだる必要もないですし、きちんと事実を伝えて代案を提示するのがベストです。

まとめ

以上、自分の思い通りに仕様を調整するテクニックということでした。
すべて自分の経験から実践している事です。

実際今まで自分もエンジニアとして仕事をしてきた中で、完璧な仕様書を出してくる客先っていうのはほとんどいないですよね。

出してくる仕様書のどれもが曖昧であったり、全然足りなかったり、意図が伝わらなかったりでこの文章でどうやって実装すればいいんだ?っていうようなものばかりでした。

エンジニアの質問力によって、具体的に実装できるまでの文章に昇華させることが必要です。

今回の質問テクニックは自分が感じて日々試行錯誤中生まれたものです。
自分としては良い結果を得られているので今回ご紹介してみました。

仕様調整が業務で必要な方はご参考にしていただければと思います。


このブログではフリーランス情報やプログラミング情報の発信を
続けていこうと思うのでぜひ応援お願いします。
また、Twitterでも日々の為になる技術情報やフリーランスについての
有益な情報をつぶやくので、いいなと思った方はTwitterのフォローをお願いします。

ブログの著者:IT業界10年以上のベテランフリーランスエンジニア。
会社員時代に比べ年収2.5倍にUP。
AWSとGCPの両方でゲーム系インフラの構築,運用と
C#とPHPでのサーバープログラミングの二刀流で絶賛稼働中。
有益なIT情報を発信出来きるように日々IT情報収集が日課です。
ブログではフリーランスやIT情報を毎日更新中です。

自分のスキルレベルと経歴をまとめたページを作りました。
お仕事のご依頼の際には参考にしていただければと思います。

クラウドランス 望月 のポートフォリオサイト

またブログに関する感想やご意見、応援などがありましたら、
こちらから自分宛てにTweetして頂ければと思います。