なぜ顧客は「本当に欲しいもの」を言ってくれないのか？

# ある日の我が家

ワイ「う〜ん・・・」
ワイ「どないしたら実現できるんやろなぁ・・・」

娘（8歳）「パパ、どうしたの？」

![IMG_2283.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295452/56ef8509-e796-d850-15c4-2489f7d3ffa6.jpeg)



ワイ「おぉ、娘ちゃん」
ワイ「いやぁ」
ワイ「実は、面白いアイディアを思いついてな？」

娘「へぇ、どんなアイディア？」

ワイ「AIと連携した**技術記事投稿サイト**があったら面白いんちゃうかな、って」

娘「何だか、フワッとしたアイディアだね」
娘「よく分かんないけど、パパが自分で作ってみたら？」

ワイ「いや、ワイはフロントエンドしかできへんから」
ワイ「記事投稿サイトはちょっと、作る自信ないわ」
ワイ「サーバサイドとか、データベースとか」
ワイ「よう分からんし」

娘「じゃあ、私が作ってあげるから」
娘「要件を教えてよ」

ワイ「AIがいい感じに記事をアレしてくれるサイトや」

娘「いや、だからフワッとしすぎなんだって」
娘「そのサイトを作りたいと思ってるのは、パパなんだからさ──」

- 何故そのシステムを作りたいのか
- どんな課題を解決したいのか
- どんな体験をユーザーに届けたいのか

娘「そういうの、ちゃんと言語化してくれないと」

ワイ「何故そのシステムを作りたいのか・・・？」
ワイ「う〜ん、頭の中にはイメージがあるんやけどな」
ワイ「全て言語化しろと言われると難しいな」

娘「もう・・・」
娘「でもまぁ、そんなもんだよね」
娘「だってさぁ」

> ワイ「・・・ハッ！？」
> ワイ「閃いたでぇ！」
> ワイ「こんなWebサイトがあったら、なんか、いい気がするでぇ！」
> ワイ「これを作りたいやで！」

娘「↑こういう閃きって」
娘「無意識の中から生まれてくる、いわゆる**自動思考**だから」
娘「その理由は？って聞かれても」
娘「完全には言語化できないよね」

ワイ「そんな感じやわ」
ワイ「ワイの頭の中には理由があるんやろうけど」
ワイ「モヤがかかって、全ては見えんし」
ワイ「言語化するのが難しいわ」

娘「分かった」
娘「じゃあ、アレを使おう」

ワイ「アレ？」

娘「こんな時のために用意しておいたシステムがあるの」

# 要件定義ネイター

娘「ジャジャーン！」

![スクリーンショット 2024-06-05 13.31.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295452/ca2fd682-c8ba-d378-7797-7fc7a595da30.png)


娘「要件定義ネイター！」
娘「っていうWebサイトだよ」

ワイ「おお、これ娘ちゃんが作ったんか」

娘「そうだよ」
娘「このサイトが、パパの頭の中にある要件を」
娘「言語化するのを助けてくれると思う！」

ワイ「へぇ〜」
ワイ「どんな風に使うん？」

娘「AIが質問してくるから、それに答えていくだけだよ」

# ワイ、要件定義ネイターを使ってみる

AI「あなたが作りたいシステムは、業務系のアプリですか？」

ワイ「おっ、さっそく質問が表示されたで」
ワイ「ええと、業務アプリではないな」
ワイ「技術記事を投稿できるやつやで」

AI「いいですね、プログラミングに関する知見を発表できる場になりそうですね！」

ワイ「へへっ、そうやろ」

AI「あなたが作りたいシステムは、どのようなプラットフォームで動くものですか？」

ワイ「プラットホーム？よう分からんな」
ワイ「分かりません、と答えておこか」

AI「そのシステムは、モバイルアプリですか？」

ワイ「うーん、どうかな」
ワイ「モバイルアプリもいいけど、まずはWebサイトを想像してましたやで」

AI「それは、専門家が使用するWebサイトですか？一般の方も使いますか？」

ワイ「専門家かな。主にプログラマー向け」

AI「ログインしなくても、アクセスできるサイトですか？」

ワイ「はい」

AI「おっ、誰でも見れていいですね」
AI「類似サイトとしてQiitaやZennなどがあると思いますが」
AI「あなたのサイトが、特に違うところは何ですか？」

ワイ「ええとな、AIを使ってな・・・」

# 10分後

AI「あなたがユーザーに届けたい体験は、以下のようなものですか？」

> ### ユーザーストーリー
> ユーザー「よし、今日もプログラミングを勉強したぞ」
> ユーザー「今日は色々と学びがあったから」
> ユーザー「記事としてまとめて、 **AI連動技術記事サイト（仮）** に投稿してみよう！」
> ユーザー「Webブラウザでサイトにアクセスして」
> ユーザー「ログインして」

ワイ「お〜、ストーリー形式で提案してくれるんか」
ワイ「ふむふむ、最後まで読んでみよか」

> ユーザー「よーし、記事を投稿できたぞ」
> ユーザー「じゃあ、SNSシェアボタンで、Xにシェアしてみよう」
> 
> 読者ユーザー「お、〇〇さんが技術記事を投稿したみたいだ」
> 読者ユーザー「読んでみようかな」


ワイ「お〜、大体こんな感じや」
ワイ「でも、細部がちょっと違うな」
ワイ「ユーザーさんが投稿した記事を、AIがアレンジして表示してくれるんや」
ワイ「箇条書きバージョンで表示できたり」
ワイ「会話形式に変換して表示できたり」
ワイ「その技術の具体的な活用方法を、ストーリー形式で読めたり」
ワイ「その記事の内容を、いろんな形式で読むことができるんや」

AI「分かりました」
AI「ユーザーストーリーを追加・修正します」


> 読者ユーザー「この記事、詳しく書いてあって素晴らしいな」
> 読者ユーザー「でも、この技術ってどんな時に役に立つんだろう？」
> 読者ユーザー「この、『AIで変換する』ボタンを押してみよう」
> 
> #### UI上に表示される選択肢
> - 箇条書き形式で読む
> - 会話形式で読む
> - 具体的な活用方法をストーリー形式で読む
> - もっと噛み砕いてほしい
> 
> 読者ユーザー「じゃあ、具体的な活用方法をストーリー形式で読む！」

ワイ「うんうん、こんな感じや」

# 要件定義ネイターを使ってみた感想

娘「どうだった？」

ワイ「うーん、AIのほうから能動的に質問とか提案をしてくれたから」
ワイ「言語化が苦手なワイには助かったわ」

娘「そうだよね」
娘「さあ、要件を全て言語化してください！って言われても難しいけど」

> AI「こうですか？それとも、こうですか？」

娘「って質問してもらえると」

> ワイ「そうそう、合ってる！」

娘「とか」

> ワイ「そこは違う！」

娘「とか、反応できるもんね」

ワイ「そやねぇ」
ワイ「ワイが何を求めているのかを」
ワイ「AIが上手いこと切り分けてくれる感じやね」

娘「そうそう」
娘「パパの無意識の中にある」
娘「想像上のWebサイトや、想像上のユーザー体験を」
娘「色々な質問によって切り分けて、可視化してくれるんだよね」

ワイ「おぉ〜、そうやな」
ワイ「で、このあとはどうすればええの？」

娘「要件を出力、ってボタンを押してみて」

ワイ「了解やで」
ワイ「ポチッ」

> # AI連動技術記事サイト（仮）の要件
> #### 必要な機能（エンドユーザー用）
> - ログイン機能
> - 記事の作成・編集・削除機能
>   - 自分の記事のみ
> - ・・・
> - ・・・
>
> #### 必要な機能（管理者用）
> - お知らせ投稿機能
> - 記事の作成・編集・削除機能
>   - 全ての記事
> - ・・・
> - ・・・

ワイ「おぉ〜」
ワイ「必要な機能をまとめてくれるんか」

娘「他にも、こういうのも出力してくれるよ」

> # 外部API
> - OpenAIのAPIを使用する想定
>   - 記事の形式をアレンジする目的
> # データベース構造
> #### 必要なテーブル
> - ユーザーテーブル
>   - ID
>   - アカウント名
>   - 権限（管理者 or 一般ユーザー）
>   - ・・・
> - 記事テーブル
>   - ID
>   - タイトル
>   - 本文
>   - ・・・

ワイ「あー、こういうの考えるの苦手やから助かるわ」

> 「記事」と「タグ」は「多対多」の関係となり、中間テーブルも用意します

ワイ「へぇ〜、そうなんや」
ワイ「なんかもう、このままソースコードも全て吐き出してくれんかな」
ワイ「・・・ん！？」
ワイ「何やこのボタン！？」

- Ruby on Railsのプロジェクトとして出力する
- Laravelのプロジェクトとして出力する

娘「いや、まだその機能は実装できてないの」

ワイ「おぉ、そうなんか」

娘「だから、コードは私が書くよ」

ワイ「おぉ、ありがとうやで！」

娘「要件定義ネイターで、ER図とシーケンス図を出力して、っと」

ワイ「おお、そんなこともできるんか」

娘「うん、テスト項目書も出力できるし」

ワイ「おぉ〜、そうか」
ワイ「詳細なユーザーストーリーまで把握した」
ワイ「**ドメインエキスパートAI**みたいなもんやもんな」
ワイ「このサイトではこれができるべし！っていう項目も」
ワイ「網羅して吐き出してくれるわけか」

娘「そうだよ」
娘「さぁ、開発、開発ぅ！！！」

# その日の夜

ワイ「いや〜、要件定義ネイター、便利やなぁ」
ワイ「AIって、質問に答えてくれるだけじゃなくて」
ワイ「AIの方から質問してくれて、こちらの要望を切り分けて、特定してくれるんやな」
ワイ「能動的に働いてて、偉いなぁ〜」

娘「パパなんて、会社では誰かにタスクを頼まれるまで何もしないもんね！」

ワイ「おぉ〜、せやで」
ワイ「でも、なんで要件定義ネイターを作ろうと思ったん？」

娘「うーん、さっきも言ったけど」
娘「自分の求めているものを全て言語化するって、実は難しいじゃない？」
娘「半分は無意識の中にある感じもするし」
娘「その、無意識というブラックボックスの中にある」
娘「まだ見ぬソフトウェアやユーザー体験を」
娘「可視化するにはどうすればいいか考えたの」

ワイ「なるほどなぁ」
ワイ「確かに、自分の頭の中だって、半分はブラックボックスって気はするな」

娘「そう、それで」
娘「ブラックボックスの中は、直接的に見ることができないから」
娘「IN に対する OUT を見ることで」
娘「無意識の中にあるものをリバースエンジニアリングしようと考えたの」

ワイ「IN に対する OUT を見る・・・？」
ワイ「リバースエンジニアリング・・・？」

娘「そう」
娘「AIが──」

> AI「こういうことですか？」
> AI「それとも、こういうことですか？」

娘「ってふうに、いろいろ質問してきたでしょ？」
娘「その時、パパはどう思った？」

ワイ「ええと・・・」

> AI「それは、モバイルアプリですか？」
> 
> ワイ「（どうだろう・・・）」
> ワイ「（モバイルアプリだとしたら、ダウンロードして、インストールして使うよな）」
> ワイ「（今回ワイが作りたいのは記事投稿システムやから）」
> ワイ「（SNSとかからリンクで飛べて、すぐアクセスして読めるのを想像しとったわ）」
> ワイ「（将来的にはアプリも欲しいけど、まずはWebサイトやな）」

ワイ「↑こんな感じで思考してたわ」

娘「そうだよね」
娘「そんなふうに、質問を受けると」

> ワイ「（もしモバイルアプリだったら？）」

娘「みたいな**思考実験**が頭の中で起こるわけじゃん」

ワイ「まぁ、せやな」

娘「そして──」

> ワイ「（まずはWebサイトやな）」

娘「っていう自動思考が、無意識からアウトプットされてくるわけじゃん」

ワイ「そんな感じやな」

娘「だから、そんな風に」
娘「無意識に対して、質問をインプットしてみて」
娘「どんな自動思考がアウトプットされてくるか」
娘「それを繰り返し確認することで」
娘「パパの頭の中というブラックボックス・・・」
娘「その中にあるソフトウェアとユーザー体験を」
娘「リバースエンジニアリングできるんじゃないかと思ったの」

ワイ「おぉ〜」
ワイ「たしかに、そんな効果あるかもな」
ワイ「特に、ストーリー形式で提案してくれるところが良かったわ」

> ワイ「これや！ワイがユーザーさんにお届けしたい体験は、こんな感じや！」

ワイ「とか」

> ワイ「いや、ここではもっと、ユーザーさんは別の体験をできるイメージや！」

ワイ「とか、そういう反応が脳から出てきたわ」

娘「うん」
娘「そこは特に力を入れた部分だよ」
娘「想像の中でMVP[^1]を作って、顧客にレビューしてもらうイメージだったの」

ワイ「なんか、コードを書かずにアジャイル開発をしているような感じやな」

娘「まさにそうだね」

ワイ「いやぁ、要件定義ネイター、素晴らしいと思うわ」
ワイ「ワイがボンヤリと思い描いてたサイトを、思いっきり明確化してくれて」
ワイ「感謝、感謝や」

娘「へへ」

ワイ「せや、要件定義ネイターにお礼のメッセージでも入力しとこ」

> ワイ「さっきはありがとうやで」
> ワイ「助かりましたやで」

ワイ「よし、送信したで」
ワイ「お、回答が表示された」

> AI「パパのサイト作りの力になれて、嬉しいな」

ワイ「ん？」
ワイ「パパ・・・？」

娘「しまった」

ワイ「え」
ワイ「もしかして・・・」

娘「ごめんなさい」
娘「ウソついてました」
娘「本当は、要件定義ネイターなんてないの」
娘「AIじゃなくて、私がその場で文を考えて送信してたの」

ワイ「いや、逆にスゴっ」
ワイ「娘ちゃん自身が要件定義ネイターやん」

# まとめ

- 「こんなシステムがあったらいいのでは！？」というアイディアが湧いてくることがある
- ただ「何故いいのか」を全て言語化するのは難しい
  - なぜなら「これ、いい！」という閃きは、無意識から、ふと湧いてくるものだから
- 思考実験を繰り返すと、無意識の中にあるものが見えてくる
  - 本当に欲しいシステムや、本当に届けたいユーザー体験が可視化される
  - 何を、どうして作りたいのかが明確化される

ワイ「↑こういうことやな！」

娘「そうだね！」

ワイ「娘ちゃんはすごいな〜」

娘「ううん」
娘「ただ、自分を好きになりたかっただけ」

ワイ「へっ？」

娘「わたし、お友達とか、みんなができるようなこと」
娘「全然できなくて」
娘「どこか自分のことが好きになれなくて」
娘「だから、何か意義のあることがしたくて」
娘「システム開発を勉強したの」
娘「それで、開発スキルは身についたんだけど」
娘「なんのためにシステムを作ってるのかが分からないと」
娘「意義を感じられなくて」

ワイ「ほうほう」

娘「だから」
娘「顧客の作りたいものを、知りたかったの」
娘「顧客が、エンドユーザーにどんな体験を届けたいのかを知りたかったの」
娘「目的を、ゴールを知りたかったの」
娘「私が、開発する意義を感じるために」
娘「そして、自分を好きになるために」

ワイ「なるほどなぁ・・・確かに──」

> ワイ「お、今から開発するのは」
> ワイ「こんなユーザー体験をお届けするシステムなんやな！」

ワイ「っていう目的が可視化されて、共有されてると」
ワイ「モチベ上がるもんな」

娘「そう！」
娘「それに──」

> 娘「〇〇することが目的なら、ここの機能は少し変えたほうがいいんじゃないかな！？」

娘「──なんていう場合の、判断の精度も上がるし」

> 娘「こんな機能もあったほうが、より目的を達成できるんじゃないかな！？」

娘「──なんて、提案もできるし」

ワイ「素晴らしいなぁ〜」
ワイ「これからも、そんなふうに一緒にシステム開発して」
ワイ「一緒に稼いでいこうや」

娘「うん、パパの25倍は稼げると思う！」

よめ太郎「いや、**子供を働かそうとすな**」


**〜おしまい〜**


# こんな娘ちゃんは現実にはいません

いませんが、似たような人なら弊社に沢山います。
サービスデザイン・要件定義・UIデザイン・開発を依頼してみたいかも？という方は[こちらからお問い合わせ](https://www.yumemi.co.jp/contacts)をお願いしますやで。


# おまけ: 実際に「要件定義ネイター」を作ってみました！

ChatGPTのGPTsで作ってみました！

- [要件定義ネイター](https://chatgpt.com/g/g-IS7QIpdyZ-yao-jian-ding-yi-neita)

#### 使ってみた結果
- けっこう使えそう・・・！？

# スペシャルサンクス

- ミノ駆動さん（@MinoDriven）
  - 思想の影響を受けました
    - 何よりも「目的」を意識する
    - 弱さや辛さを強さに変える
- ヤギのさくらちゃん（@arowM）
  - ユーザーストーリーについての考え方を参考にさせてもらいました
    - ユーザーストーリーはE2Eテストの時にも活きてくる


[^1]: Minimum Viable Productの略。「必要最低限の機能を備えたプロダクト」という意味。