仕事に効くコンピュータサイエンス
情報は一箇所に — データベース読了目安 10分

探さない仕組みをつくる — インデックスという索引

過去のメールを探すのに、件名も送信者も覚えていないため、一件ずつ開いて中身を確認する羽目になったことはないでしょうか。情報が数件のうちは力業でも何とかなりますが、件数が増えるほど探す時間は膨らんでいきます。気づいたときには、探す時間が本来の仕事の時間を圧迫するようになっていることもあります。このページでは、情報が増えても探す時間が増えないようにする「インデックス」という発想を見ていきます。

CS概念の直感

インデックスとは、あらかじめ決めた軸に沿って情報の在り処を整理しておく仕組みのことです。分厚い専門書の巻末には、用語を五十音順やアルファベット順に並べた索引がついています。索引がなければ、目当ての用語を探すために本文を最初から最後まで読む必要がありますが、索引があれば、その用語が何ページにあるかを一瞬で特定できます。データベースにおけるインデックスも、同じ発想です。「顧客番号で調べることが多い」と分かっていれば、顧客番号を軸にあらかじめ並べ替えた索引を用意しておく。そうすれば、何万件の記録があっても、目当ての一件にすぐたどり着けます。

ここで重要なのは、索引は「後から付け加えるもの」であり、元の情報そのものを並べ替えているわけではないという点です。本文のページ順は変えずに、索引という別の対応表を用意することで、複数の軸からの検索を両立させることができます。顧客番号で探したいときも、氏名で探したいときも、それぞれの軸に対応する索引を用意しておけば、どちらからでも素早くたどり着けます。索引を用意していない軸で探そうとすると、結局は最初から順に見ていくしかなくなります。これは仕事における「探す」という行為そのものに、そのまま当てはまる話です。

索引には、探す速さを上げる代わりに支払う代償もあります。索引そのものを作り、情報が追加されるたびに更新し続けるという手間です。索引を持たない状態は、更新は楽でも検索が遅く、索引を持つ状態は、検索は速いが更新のたびに索引も直す必要がある。どちらが得かは、その情報が「どれだけ頻繁に検索されるか」と「どれだけ頻繁に更新されるか」のバランスで決まります。一度登録したらほとんど変わらず、何度も検索されるような情報であれば、索引を作る代償は検索の速さという形で何倍にもなって返ってきます。逆に、ほとんど検索されず、頻繁に書き換わるだけの情報に索引を作っても、更新の手間ばかりが増えて見合いません。この見極めは、次章以降で扱う「頻度に応じた設計」という考え方にも通じています。

仕事の言葉に翻訳すると

仕事の場面でのインデックスとは、「何を軸に整理しておくかを、あらかじめ決めておくこと」です。書類を保管するときに、日付順にファイリングするのか、取引先名順にするのか、案件番号順にするのかを最初に決めておく。決めた軸に沿って並べておけば、その軸で探すときは迷わずたどり着けます。逆に、軸を決めずに積み上げていくと、必要になったときに探す軸そのものが定まらず、全部を見返すしかなくなります。

もう一つの翻訳は「よく聞かれる質問への索引を作っておく」ことです。問い合わせ対応でよく聞かれる内容をQ&A集としてまとめておけば、毎回一から調べ直す必要がなくなります。これは索引そのものであり、頻繁に探すものほど、索引を整備する効果が大きいという性質も、データベースの世界と共通しています。

さらに翻訳を進めると、「探しやすい名前の付け方を決めておく」ことも、インデックスの発想に含まれます。ファイル名を「資料」「資料2」「最新版資料」のようにつけていると、名前という軸そのものが検索の役に立ちません。案件名や日付を含めた命名規則を決めておけば、ファイル名を見ただけで、あるいはファイル名で検索しただけで、目当てのものにたどり着けるようになります。命名規則を決めることは、地味に見えて、実は索引を一つ設計しているのと同じことです。

具体的な場面(1) 書類の整理軸

経費精算の領収書を、受け取った順にただ封筒へ入れているだけの職場を考えてみます。月末に「あの領収書はどこですか」と聞かれても、封筒をひっくり返して一枚ずつ確認するしかありません。案件番号や日付という軸で分類し直しておけば、必要なときに該当のものだけを取り出せます。軸を決めるコストは最初の一手間ですが、探すたびに発生する手間に比べれば、一度きりの投資で済みます。経費精算のように毎月必ず発生する業務では、探す回数がそもそも多いため、索引を整える効果が積み重なりやすい典型例です。逆に一年に一度しか発生しないような業務であれば、索引を丁寧に作り込むより、その都度探した方が総コストは小さいこともあります。索引を作るかどうかも、発生頻度を見て判断するとよいでしょう。

具体的な場面(2) 顧客対応履歴の検索軸

顧客からの問い合わせ履歴を、時系列にただ書き溜めているだけでは、特定の顧客の過去のやり取りを探すのに時間がかかります。顧客名や案件番号を軸にした索引を別に用意しておけば、時系列の記録はそのままに、必要な顧客の履歴だけをすぐに引き出せます。複数の担当者が同じ顧客に対応する体制であれば、この索引の有無が対応の速さを大きく左右します。自分以外の担当者が対応した履歴であっても、索引をたどればすぐに経緯を把握できるため、担当者が急に不在になった場合の代理対応にも強くなります。これは11章で扱った「属人化という単一障害点」とも関係する話ですが、索引という観点だけでも、代理対応のしやすさは大きく変わります。

具体的な場面(3) 社内ナレッジの見出し設計

社内の業務マニュアルやノウハウ集が、作成した順にただ並んでいるだけだと、知りたい手順がどこに書いてあるのか、目次を頼りに全体を見渡す必要が出てきます。「よくあるトラブル」「よく使う手順」といった、実際に検索されやすい軸で見出しを立て直しておくと、探す側は目的の項目にすぐたどり着けるようになります。作成した順という軸は、書いた人にとっては自然でも、探す人にとって使いやすい軸とは限らない、という点が鍵です。見出しを立て直す作業自体は、既存の内容を書き直す必要はなく、目次のページだけを作り替えれば済むことがほとんどです。大きな改訂をせずとも、目次という索引の部分だけを整えることで、利用のしやすさは大きく変わります。

具体的な場面(4) 引き継ぎ資料の索引

退職や異動の際に、引き継ぎ資料が「これまでのメール全部」「作業ログのファイル一式」といった、未整理の塊のまま渡されることがあります。受け取った側は、どこに何が書いてあるのか分からないまま、必要になるたびに塊全体を読み返す羽目になります。「よく問い合わせが来る件」「毎月発生する定型作業」といった軸で、資料の中身に見出しをつけておくだけで、引き継がれた側が探す時間は大きく減ります。引き継ぎ資料そのものを厚くする必要はなく、既にある資料に索引を一枚添えるだけでも効果は出ます。引き継ぐ側にとっては、資料を新たに書き起こすより、既存の資料に索引を添える方がずっと短時間で済むという利点もあります。限られた引き継ぎ期間の中で、この一手間を惜しまないことが、後任者の立ち上がりの速さを大きく左右します。

落とし穴

インデックスにも落とし穴があります。一つは、軸を増やしすぎると、整理そのものの手間が膨らむことです。日付順・取引先順・担当者順・金額順と、あらゆる軸で索引を作ろうとすると、情報が更新されるたびにすべての索引を直す必要が生じ、かえって維持の手間が探す手間を上回ってしまいます。よく使う軸に絞って索引を作ることが、実務では現実的な落としどころです。軸の候補が複数思い浮かんだときは、「もし一つしか作れないとしたら、どの軸を選ぶか」を自問してみるとよいでしょう。最も切実に困っている探し方に対応する軸から着手すれば、限られた手間で最大の効果を得やすくなります。

もう一つの落とし穴は、索引を作った後にメンテナンスを怠ることです。案件番号を軸にした索引を作っても、新しい案件が増えるたびに索引へ登録する運用が続かなければ、索引はすぐに古くなり、載っていない案件を結局は手探りで探すことになります。索引は一度作って終わりではなく、情報が増えるたびに更新し続けて初めて機能します。更新を誰がいつ行うかを、索引を作る段階で決めておくことが欠かせません。更新の担当を決めずに索引だけを作ると、半年後には誰も更新していない古い索引が残るだけ、という結末になりがちです。

さらに、索引の軸を選び間違えると、探しやすさはむしろ悪化します。めったに使わない軸で丁寧に索引を作り込んでも、実際の検索場面では使われず、労力が無駄になります。どの軸で探されることが多いのかを、実際の利用場面から見極めることが、索引設計のいちばんの勘所です。

軸を決める際によくある間違いは、「作る側にとって都合のよい軸」を選んでしまうことです。資料を作成した担当者は、作成順や案件の進行順で覚えていることが多いため、その順番で整理したくなります。しかし、後から探す人の多くは、顧客名や日付、あるいはトラブルの種類といった、作成側とは違う軸で記憶していることがほとんどです。索引の軸は「作る人の記憶」ではなく「探す人の記憶」に合わせて選ぶ、という原則を持っておくと、設計の精度が上がります。実際に何度か問い合わせを受けた経験があれば、どんな聞かれ方をされることが多いかは案外はっきりしているものです。

持ち帰り

  • インデックスとは、よく使う軸に沿ってあらかじめ整理しておく索引の仕組み
  • 探す頻度が高いものほど、索引を整備する効果が大きい
  • 軸を増やしすぎない・作った索引は更新し続けることが機能させる条件
  • 軸は作る人でなく探す人の記憶に合わせて選ぶ
  • 発生頻度の高い探し物から着手すると効果を実感しやすい

やってみる

自分がよく探し物をするフォルダや棚を一つ選び、「何を軸に探すことが多いか」を考えて、その軸で並べ替えてみてください。並べ替えた後、次に同じものを探すときにかかった時間を意識して比べてみると、効果が実感しやすくなります。小さな一箇所で効果を確かめられれば、他の場所に広げる判断もしやすくなるはずです。