💡Listoru(リストル)は、Web上の情報から企業の営業リストを自動で収集・作成するツールです。
この「企業DB開発日誌」では、数ある機能の裏側に隠された、私たちの試行錯誤を綴っていきます。
エラー画面には出ない問題や、データとの静かな対話から見えてきたもの。
正解のない開発現場のリアルな空気を、少しだけおすそ分けさせてください。
今日もリストルの裏側で起きた、ひとつの物語をお届けします。

データ移行(マイグレーション)の壁。「取り込めます」という説明と現実の乖離

ツールを乗り換えるとき、最初にすることは、データの引っ越しです。
いま使っているツールから、書き出す。新しいツールに、取り込む。
これまで貯めてきた企業データを、そのまま持っていけるかどうか。
持っていけなければ、これまでの仕事が、一度なかったことになります。
企業データは、一晩では貯まりません。1件ずつ登録して、商談のたびに書き足して、長い時間をかけて、いまの形になっています。
ツールは、替えられます。これは、作り直せません。
その不安は、機能の説明では消せません。
この作業がうまくいかないと、乗り換えは始まりません。
「取り込めます」とこちらは説明していました。
表の形になっていれば、取り込める。実際、そう作ってありました。
ある日、その説明を確かめることにしました。他社のツールから実際に書き出したファイルを用意して、そのまま取り込んでみる。
やってみました。取り込めました。件数も合っています。
一覧を開きます。会社名の列に、会社名が入っています。
その隣は、空でした。
その隣も、空でした。
マッピング定義の不一致によるサイレントエラー。成功の顔をした失敗

右へ、送っていきます。
空。その次も、空。最後の列まで、同じでした。
行の数だけ、会社は並んでいます。どの行も、名前のほかには、何も持っていません。
引っ越しにたとえるなら、箱は数のとおり届いたのに、開けてみたら、どの箱にも名札しか入っていなかった。そういう状態です。
最初に疑ったのは、ファイルのほうでした。書き出しに失敗していて、そもそも中身が無かったのではないか。
ファイルを開くと、入っていました。会社名も、住所も、電話番号も、全部あります。つまり、中身は、ファイルとこちらの画面のあいだで消えていました。
取り込みは、こう動いていました。
ファイルの1行目には、列の名前が書いてあります。その名前を見て、どの欄に入れるかを決める。
「会社名」と書いてあれば、会社名の欄へ。
「電話番号」と書いてあれば、電話番号の欄へ。
知らない名前だったら、どうするか。
無視していました。
エラーも出さず、警告も出さず、その列を、静かに捨てていました。
なぜ黙って捨てる作りになっていたのか。
理由は、こちらのファイルを前提にしていたからです。
こちらが書き出したファイルには、余計な列が付くことがあります。
その列は、取り込む必要がありません。だから、知らない列は無視する。
自分たちのファイルを想定すれば、正しい判断です。
他社のファイルを入れた瞬間に、その判断が、全部を捨てる動きに変わります。
他社のツールでは、列の名前が違います。
会社名にあたるものが「取引先名」になっている。
担当者が「オーナー」になっている。
電話番号が英語表記になっている。
独自の項目が、いくつも並んでいる。
こちらの想定していた名前と、ほとんど一致しません。
大手2サービスのファイルで試すと、1列も、取り込めない状態でした。
正確には、取り込みは成功しています。行の数だけ、空に近いデータが作られます。件数は表示されます。
エラーは出ません。
第2話や第10話と、同じ形です。
失敗が、成功の顔をしています。
手動マッピングUIの導入とデータ連携の柔軟性確保。機械の推測からユーザーの判断へ

試したのは、2つのサービスだけではありません。
手元で用意できるものは、ひととおり試しました。
結果は、どれも似たようなものでした。
会社名だけが入り、あとは空。あるいは、会社名すら入らない。
つまり、これは1社のファイルの癖ではなく、こちらの作りの問題でした。
1つ試して駄目だったときは、相手の癖を疑います。
3つ試して全部駄目なら、自分の側です。
ここで、考え方を変えました。
こちらが知っている名前を増やしていく方法も、あります。
よくある表記を、あらかじめ登録しておく。
ある程度は効きます。ただ、きりがありません。
ツールは次々に出ますし、同じツールでも、設定によって書き出される名前が変わります。お客様が独自に足した項目もあります。
追いかけ続けるのは、無理でした。
それに、この方法には、もうひとつ弱さがあります。
覚えた名前が増えるほど、当たる範囲は広がります。ただ、外れたときの動きは、変わりません。知らない名前は、やはり黙って捨てられます。
増えていくのは対応の数で、直っていないのは、黙って捨てるという構造のほうでした。だから、機械が決めるのをやめました。
取り込む前に、画面を1つ挟みます。
ファイルの列が、左に並びます。こちらの欄が、右に並びます。
どの列を、どの欄に入れるかを、人が線で結びます。
推測できるものは、あらかじめ結んでおきます。
「会社名」と書いてあれば、会社名につないだ状態で表示します。
分からないものは、空欄のままにします。人が選べば、そこでつながります。
使わない列は、使わないと指定できます。そして、どこにも当てはまらない項目のために、自由に使える欄を用意しました。
他社のツールには、独自の項目があります。
こちらに同じ欄がないからといって、捨ててよいものではありません。
その会社が、必要だと思って作った項目だからです。
取り込む前に、最初の数行が実際にどう入るのかを表示します。
見てから、決められる。
QAテストの盲点。ユーザーのサイレントな離脱と「自社前提」という思考の罠

そして、その対応付けを保存できるようにしました。
同じツールから書き出したファイルは、毎回同じ形をしています。一度決めれば、次回からは選ぶだけです。
移行は、たいてい一度では終わりません。まず一部を移して、確認して、残りを移す。運用しながら、少しずつ移す会社もあります。
その何度もの作業を、毎回ゼロから設定させるわけにはいきませんでした。
この件で、いちばん反省したのは、確認の仕方でした。
「取り込めます」という説明は、嘘ではありません。
仕組みとしては、取り込めます。
ただ、その確認を、こちらが作ったファイルでしていました。
こちらが列の名前を決めて、こちらが書き出したファイル。
それなら、当然、通ります。
実際に乗り換えようとする方が持ってくるファイルは、こちらが作ったものではありません。その当たり前のことを、試していませんでした。
いまは、確認のやり方を変えました。
他社のツールから実際に書き出したファイルを、いくつか用意しています。
何かを変えたときは、そのファイルで通します。
自分で作ったデータで試すのは、自分の想定を確認しているだけです。
この件には、もうひとつ側面があります。
乗り換えようとして、うまくいかなかった方は、たいてい、連絡をくださいません。黙って、元のツールを使い続けます。
こちらには、何も届きません。不具合の報告も、要望も、来ない。
来ないので、問題が無いように見える。
いちばん困った人の声が、いちばん届きにくい場所にありました。
この画面を作ったあと、移行の相談が変わりました。
以前は、「取り込めますか」という質問に、「取り込めます」と答えるしかありませんでした。
いまは、ファイルを1つ見せていただければ、その場で対応付けの画面まで進めます。
見ながら話せる。
言葉で保証するより、その場で1回動かすほうが、ずっと早い。
説明の量が減って、確認の量が増えました。
「対応しています」と言えるかどうかは、試してみるまで分かりません。
試すのは、半日で済む作業でした。半日で済む確認を、何年もしていなかったことになります。
できると信じている部分ほど、確かめる理由が思いつきません。
確認は、不安のある場所から順に行われます。
不安の無い場所には、いつまでも順番が回ってきません。
こちらは、ずっと対応しているつもりでした。
そして、乗り換えようとした方の画面には、空の列が並んでいました。
その画面を見た方は、何も言わずに、そのまま閉じたはずです。
閉じられた画面のことは、こちらの記録には、1行も残りません。
━━━━━━━━━━━━━━━━━━━━━━━━
次回予告
第28話「担当者は、どこへ行った」
「担当者」という列を取り込みました。
その名前は、営業の担当者ではありませんでした。
━━━━━━━━━━━━━━━━━━━━━━━━
リストルは、今日もどこかを直しています。
→ 営業リスト探しに、もう時間をかけない。
業種別に企業情報をまとめて収集できるリストルを、まずは3,000件まで無料でお試しください。👇

