階層のある抽象化(パターン分け)
事例の集まり(問い合わせ、要件、不具合、テストの会話など)を、対応が変わる分かれ目で階層に分ける。
目的は、事例を似たもの同士で束ねることではない。「この場合はこう対応する」が漏れなく決められる地図を作ることにある。
よくある失敗(これを避けるためのスキル)
- 平たい表に並べる: 例を下から寄せ集めて一列に並べると、高さの違うもの(根本の分かれ目と、その下の理由)が同じ列に混ざる。読み手には何で分かれているのかが見えない
- 見た目で名前を付ける: 「無いボタンの名前を言う」のように例の表面をなぞると、同じ構造の別の例(出ないはずのエラー、無い機能が動いた)を拾えない
- 案件の固有名詞に縛られる: 「〇〇サービスの話か」と書くと、別の案件で使えない。「担当するもの以外の話かもしれない」のように一般の言葉にする
- 書き残さない: 会話の中で表を出して終わると、次の判断の土台にならない。ユーザーに同じ整理を繰り返し頼まれたら、伝わっていない合図
手順
1. ゴール(何ができたら終わりか)と、分ける目的を決める
何のために分けるのかを先に 1 文にする。たとえば「お客様の発言ごとに、ボットの応対を決めるため」。
分ける目的が決まると、分かれ目の基準が決まる。「対応が変わるところでだけ分ける」。対応が同じなら、見た目が違っても同じパターン。
2. いちばん上の分かれ目を決める
事例を並べる前に、「対応を決めるうえで、まず何が分かっていればよいか」を考える。それが最上位の問いになる。
- 例(問い合わせ対応): 「ゴールと対象が分かるか」→ 分かる/分からない/そもそも答えない/途中の反応
- 例(不具合の報告): 「再現できるか」→ できる/できない/仕様どおり/担当外
最上位は 3〜5 個に収める。多すぎるなら、高さの違うものが混ざっている。
3. 下の階層は「なぜそうなるか」で分ける
上の階層の各枝について、「なぜそうなるのか」「相手の側で何が起きているのか」で分ける。
- 「分からない」の下: 相手が言っていない/言葉があいまい/相手自身が分かっていない/担当外の話かもしれない/担当するものでは起きない事象を伝えてくる
- 1 つの階層の兄弟は、同じ問いへの答えになっていること(同じ軸で分かれていること)を確かめる
4. 名前は「相手の側で何が起きているか」で付ける
例をなぞった名前を付けたら、「つまり何が起きている?」と 1〜2 回上に上げる。
上げすぎて対応が決まらなくなったら 1 つ戻す。
- 「無いボタンの名前を言う」→「実際には無いものがあると思っている」→「担当するものでは起きない事象を伝えてくる」
- 確かめ方: その名前で、元の例以外の例を 2 つ挙げられるか。挙げられなければ、まだ見た目の名前
固有名詞(製品名・社名)は、名前に入れない。例の欄に入れる。
5. 葉ごとに「こうなっていれば合格」を書く
いちばん下の各パターンに、対応(合格の姿)を 1 文で書く。対応が隣と同じなら、パターンを統合する。
似た 2 つは、境目を 1 行で書く(例: 「〜できますか」と聞いている vs 「〜が起きた」と言っている)。
6. 抜けを確かめる
- 各階層で「どれにも当てはまらない例は無いか」を考え、あれば枝を足す
- 回数や程度で対応が変わるもの(3 回やっても進まない、など)は、閾値を決めて独立した葉にする。閾値はユーザーに決めてもらう
- 元にした事例の出どころを書き、「これで全部とは言えない」場合はそう書く。根拠の無い網羅を言わない
7. 書き残す
最初に頼まれたときから、ユーザーが指定する場所(issue、ファイル)に書く。指定が無ければ、どこに残すかを 1 行で聞く。
以後の判断(設計、テスト)は、この地図を元にし、地図を直したら書き残したものも直す。
出力の形
- 分ける目的(1 文)
- 階層(入れ子の箇条書き。番号は「1」「1-2」のように階層が分かる形)。各葉は「パターン → 対応」
- 境目の注記(似たもの同士の分かれ目)
- 出どころと、まだ無いもの(テストや例が無い葉)
目的: お客様の発言ごとに、ボットの応対を決める
- 1. ゴールと対象が分かる
- 1-1. 資料で案内できる → ゴールに向けて案内する
- 1-2. 資料に答えが無い(「〜できますか」)→ 分かることを伝え、言い切らず、担当者へつなぐかを聞く
- 2. ゴールか対象が分からない → 決まるまで聞く
- 2-1. 相手が言っていない(症状だけ)→ 足りないことを 1 つ聞く
- 2-2. 言葉があいまい → どれのことかを確かめる
- 2-3. 相手自身が分かっていない → 確かめ方を教える
- 2-4. 担当するもの以外の話かもしれない → 意図を確かめる
- 2-5. 担当するものでは起きない事象を伝えてくる → 似たものに当てはめず、何を見たか、何をしたいかを聞く
- 2-6. 3 回やりとりしても決まらない → 担当者へつなぐかを聞く
- 3. 答えない(関係ない、料金、悪意、読み取れない)
- 4. 途中の反応(進んだ、進まない、話が変わった)
境目: 1-2 は「できるか」を聞いている。2-5 は「起きた」と言っている
出どころ: 指摘から作った 17 本の会話。2-6 と 3 の悪意はまだテストが無い
出す前の確かめ
- 同じ階層の兄弟は、同じ問いへの答えになっているか(高さの違うものが混ざっていないか)
- 名前は、元の例以外にも当てはまるか(固有名詞が入っていないか)
- 葉ごとに対応が書いてあり、隣と対応が違うか
- ユーザーが使った言葉(ゴール、担当範囲など)を軸に使っているか
- 書き残す場所に書いたか