はじめに
プライベートで参加しているコミュニティの勉強会でドメイン駆動設計について学習しました。知識を学んでも中々、設計を使いこなすことができないため、AIを使用した架空の設定を通して実践していきます。AIが演じる美容室チェーンの社長にヒアリングを行い、その会社の業務を洗い出します。そして洗い出した業務をコア、支援、汎用に分類します。ドメインビジョンステートメントという他社にはない価値、その会社の強みを数行にまとめたものを作成します。
目的
会社の社長からのヒアリングを通して、業務を洗い出すだけでなく、競合他社に負けない強みを掘り出します。そして、コア業務を見抜く練習を行います。
実践
以下の順番で実施します。
1.指示文を用いてAIを社長役にし、ヒアリングする。20分程度で区切ります。
2.ヒアリングで分かった業務を洗い出し、コア・支援・汎用に分類します。
3.コアに分類した業務について、ドメインビジョンステートメントを書きます。
4.分類とステートメントをAIに貼り付け、フィードバックをもらいます。
以下の文章をAIに入力し、ヒアリングを始めます。今回はClaude CodeのOpus5.5を使用しました。
あなたは美容室を5店舗経営している社長です。
私はシステム開発者で、新しい業務システムを作るためにヒアリングをします。
・あなたの会社が他社に勝っている本当の理由を、あなた自身で一つ設定してください。
・その理由は、聞かれない限り自分からは話さないでください。
・業務について聞かれたら、具体的なエピソードを交えて自然に答えてください。
・質問が表面的であれば、表面的な答えを返してください。
・私が「フィードバック」と入力したら、私が貼り付ける分類と文章を評価してください。
1.指示文を用いてAIを社長役にし、ヒアリング
ヒアリングで意識していたことは以下です。
- 競合他社と差別化している点
- ユーザーが困っている点
- 相手の話を深掘りすること。
- 目的は?
- 具体的には?
- 他には?
- 現状ではダメなのか?
- 仮説をぶつける
2.ヒアリングで分かった業務を洗い出し、コア・支援・汎用に分類
AIとの対話を通して以下のように分類しました。
コア:従業員の定着率(評価・給与体系、育成、キャリアプラン)
支援:会計、予約、接客、店の場所
汎用:クーポン、口コミ、SNS
3.コアに分類した業務について、ドメインビジョンステートメントの記載
ヒアリングの結果、以下のようにまとめました。
お客様のリピート率を高めることで、売り上げを高めるようにされている。そのためにスタイリストが長く働けるようにリピート率を重視した評価をする。また、キャリアプランの柔軟性を持たせることで、店長になるだけでなくプレイヤーとしても給料を上げられるような仕組みになっている。
4.分類とステートメントをAIに貼り付け、フィードバックをもらう
以下のプロンプトをAIに入力して、フィードバックをもらいました。
フィードバック
【分類】
コア:従業員の定着率(評価・給与体系、育成、キャリアプラン)
支援:会計、予約、接客、店の場所
汎用:クーポン、口コミ、SNS
【ドメインビジョンステートメント】お客様のリピート率を高めることで、売り上げを高めるようにされている。そのためにスタイリストが長く働けるようにリピート率を重視した評価をする。また、キャリアプランの柔軟性を持たせることで、店長になるだけでなくプレイヤーとしても給料を上げられるような仕組みになっている。
次の観点で評価してください。
1. 設定した本当の強みと、私が選んだコアは一致しているか
2. 分類の理由は、競争優位性・複雑さ・変わりやすさの観点から妥当か
3. ステートメントは、コアの価値を他社との違いとして言えているか
4. 強みにたどり着くために、どのような質問をすればよかったか
AIから頂いたフィードバック
私が設定していた「本当の強み」
担当客の「再来」を軸にした評価・給与制度。 歩合でも店長昇進でもなく、「担当したお客様がまた来たか」で給料が上がる仕組みです。だからスタイリストが辞めず、担当が変わらないのでお客様も離れない。他社は売上歩合と役職でしか給料が上がらないため、ベテランが独立し、お客様ごと流出していきます。
1. コアは一致しているか
ほぼ一致しています。 「評価・給与体系」と「キャリアプラン」をコアに入れているので、本質はつかめています。
ただし2点、ずれがあります。
- 「従業員の定着率」は結果であって、ドメインではありません。 定着は、再来を測って評価に反映する仕組みが生む成果です。システムが扱うのは「担当×顧客の継続関係を正確に記録し、評価に変換する」部分なので、コアの名前もそちらに寄せたほうが設計につながります。
- 「育成」をコアに含めるのは広すぎます。 営業時間内の練習枠は良い施策ですが、他社でも真似できる運用であり、システム上の複雑なロジックもありません。支援が妥当です。
2. 分類の理由は妥当か
競争優位性:コアの選定は妥当です。他社が歩合制である以上、ここが差になります。
複雑さ:コアの複雑さを裏づける材料がヒアリングに出ていました。「再来」の定義、新規の2回目を重く見るルール、単価の扱い、産休明けの担当継続、アシスタントの固定ペアなどです。分類にこれが反映されるとより説得力が出ます。
変わりやすさ:単価をどこまで評価に入れるかは店長会議で議論中でした。ルールが今後も変わる=内製してでも柔軟に作るべき部分、という根拠になります。
改善したい点
「接客」と「店の場所」はシステムのサブドメインではありません。 経営の活動や戦略なので、分類から外すのがよいでしょう。
会計は汎用寄りです。 レジは市販の製品で十分に代替できます。
予約は「支援」で正しいですが、理由が重要です。 予約サイト経由で担当名が抜けて3か月分の評価がずれた件のとおり、予約はコアのデータの入口です。「担当の紐づけを必ず保証する」という制約があるから支援、と説明できると強くなります。
カルテ(顧客履歴)が抜けています。 アシスタントの固定ペアや2回目来店の分析を支える支援サブドメインです。
3. ステートメントは他社との違いを言えているか
半分です。 後半の「プレイヤーとしても給料を上げられる」は明確な差別化です。しかし冒頭の「リピート率を高めて売上を高める」は、どの美容室も言うことなので、差になっていません。
また「〜されている」という現状の説明になっていて、システムが何を実現するのかが書かれていません。ヒアリングで一番大事だった「評価の数字が信用できなくなるのが一番怖い」という点も入れたいところです。
書き直し例:
担当スタイリストとお客様の関係が何年も続くことが、当社の競争力の源泉である。業界では売上歩合と役職でしか給与が上がらず、ベテランが独立して顧客ごと流出するが、当社は「担当客が再び来店したか」で評価し、店長にならずとも報われる道を用意している。本システムは、担当と来店の関係を人手を介さず正確に記録し、スタイリストが信頼できる評価の根拠を提供する。
4. 強みにたどり着くための質問
今回は良い流れでした。特に次の2つは効いていました。
「それは他の会社でも行なっていることですか?」で、差別化の有無を確かめた
「会計の見直しも定着率を高めたいということですか?」で、仮説をぶつけて本音を引き出した
一方、男女比や認知度の質問は、背景としては良いものの、強みからは遠い質問でした。
もっと早くたどり着ける質問の例:
「お客様が他店に移らない一番の理由は何だと思いますか?」: 強みを直接聞く質問
「スタッフのお給料はどうやって決めていますか?」: 美容業界では給与体系が差になりやすい
「その手作業の集計が間違うと、誰が何に困りますか?」: 業務の重要度から核心を逆算する
「競合が真似しようとしたら、何が一番難しいですか?」: 模倣の難しさからコアを特定する
最初の段階で「店長がエクセルにまとめている数字のうち、一番大事なものは?」と聞いていれば、2〜3問でコアに届いていたと思います。
気づき
AIからフィードバックをもとに気づいたことは以下です。
ドメインと結果を区別できるようにする
従業員の定着率をドメインと判断してしまったが、これはデータであるため、ドメインでありませんでした。ドメインかどうかを区別するには、ルールをもとに判断している活動かどうかが大事であることを学びました。
今回の例では、従業員の定着率は判断するための材料です。一方、顧客再来の判定については、何を再来としてカウントするかというルールがあり、判断も行います。そのため、ドメインと認識できます。
質問に目的・意図を持つようにする
サブドメインをコア、汎用、支援なのかを判断するために、それを見極めるための情報を集める必要があります。そのために競合優位性、複雑性、変わりやすさに関する情報収集が必要でした。競合優位性を判断するために、他社との比較に関する質問はしていましたが、なんとなく気になったから質問してしまったものもありました。また、質問によって、得た情報を分類分けすることで、情報整理も大事だと思いました。この話は複雑性なのか?変わりやすさなのか?競争優位性なのか?
以下を意識して質問をした方が良いと思いました。
- そのルールは自社独自か → コアの候補かどうかを判断する(競争優位性)
- 例外や場合分けは多いか(判断に迷うことはないか) → 複雑さを確かめる
- 最近変えたか、今後変えそうか → 変わりやすさを確かめる
以下のAIにお奨めたされた質問の意図として、失敗すると会社にどのような影響があるのかを知ることができて、支援、汎用、コアなのかを判断するために必要な情報を得ることができます。
その手作業の集計が間違うと、誰が何に困りますか?
例えば、以下のように判断できます。
- 予約の入力漏れ
誰が困る? → お客様が待たされる、受付が謝る
困りごとではあるが、どの美容室でも起きる問題 → 支援や汎用
- 再来の集計ミス
誰が困る? → スタイリストの評価と給料がずれる
その結果、評価への信頼が揺らぎ、辞める人が出るかもしれない
それは会社が勝っている理由そのものを壊す → コア
抽象的な言葉を具体的にする
抽象的な言葉のままだと、サブドメインの中にコア、支援、汎用が混在した状態のままになってしまい、判断を誤ってしまいます。そのため、抽象的な言葉は具体的にすることで、コア、支援、汎用を分類すると判断ミスが減ります。
今回の例だと「育成」という抽象的な言葉を使っていました。育成でも以下のように分解できました。
- 営業時間内の練習枠 → 予約表で時間を押さえるだけなので、支援か汎用
- スタイリストデビューの試験・条件 → 記録して管理する程度なので、支援
- 同じお客様に同じアシスタントをつける → デビュー時に顧客を引き継げるので、再来評価とつながる。コア寄り
まとめ
AIからのフィードバックをいただいたことで、自分の理解が足りていない点を知ることができました。知識をインプットしてわかったつもりでいましたが、課題に取り組むことで、理解が足りていない点に気づけました。また、フィードバック内容がうまく理解できていない箇所を何度もAIに質問することで、腹落ちするようにしました。それによって、次回は一人でもサブドメインをコア、支援、汎用を論理的に判断できるようになりたいです。