こんにちは、コツコツ自動化ラボです。
今日は少し地味な話をします。**納品する前に何をしているか**、という話です。
自動化を頼むかどうか迷っている方から、「作ってもらったあと、ちゃんと動くのか不安で」と言われることがあります。もっともだと思います。だから、私が何をやっているかを正直に書いておきます。
## 一番怖いのは「変なデータが来たとき」
ツールが壊れるのは、たいてい**想定外のデータが入ったとき**です。
作った本人が試すときは、きれいなデータで試します。だから当然うまく動く。でも実際の現場のデータには、こういうものが混ざります。
・退勤が出勤より早い(22時から翌5時まで働いた)
・休憩が勤務時間より長い(入力ミス)
・行が空っぽ(その日は休み)
・日付だけあって、時刻が入っていない
・見出しの行が、途中にもう一度出てくる
こういうデータが来たときに、黙って変な数字を出すのが一番まずい。**間違っていることに、誰も気づけない**からです。
## だから、わざと変なデータを入れて試します
私は納品前に、こういうデータを**わざと**流し込んで確認しています。
「日をまたぐ勤務は、ちゃんと翌日までとして計算されるか」
「休憩が長すぎる行は、マイナスの数字を出さずにエラーとして知らせるか」
「空っぽの行は、エラーにせず静かに読み飛ばすか」
しかもこれを、手で毎回やるのは無理があります。直したときに、前に直したところが壊れる——いわゆる「もぐら叩き」が起きるからです。
なので、**確認そのものを自動化**しています。ボタンひとつで数十項目の検算が走って、一つでも合わなければ止まる。そういう仕組みを、ツールを作るのと一緒に作っています。
たとえば直近で作った勤怠集計のツールは74項目、シフト作成のツールは41項目の検算を通してから納品しています。
## 実際に、それで見つかった間違い
きれいごとに聞こえると嫌なので、実際に見つかったものを書きます。
**その1:休憩の列を、勘違いして読んでいた**
サンプルのデータで休憩が全部「0分」になっていました。「休憩」という見出しの列を、私のプログラムが別の意味に取り違えていたのが原因でした。出品用の画像を作っていて、たまたま気づきました。
**その2:別の月のデータを取り込むと、集計が空に見える**
7月を表示している状態で8月のデータを取り込むと、月の切り替えが元に戻ってしまい、集計が空っぽに見える——という不具合がありました。2つのツールをつなぐテストをしていて発覚しました。
どちらも、きれいなデータで普通に触っているだけなら気づきません。**買った人が最初に困る種類の不具合**です。
## なぜここまでやるのか
理由は単純です。
**買った人は、動かなかったときに困る相手がいない。**
社内システムなら情報システム部門に聞けます。でも数千円のツールを買った人は、うまく動かなければ「買って損した」で終わってしまいます。それは一番申し訳ないことだと思っています。
だから、私が先に壊しておきます。**私が壊れるところを見つけておけば、その人は壊れないところだけを使える。**
## 見えないところを、どう選ぶか
自動化を誰に頼むか迷ったとき、機能の一覧だけでは判断が難しいと思います。機能はどこも似たようなことを書きますから。
もし判断の材料が欲しければ、こう聞いてみてください。
**「変なデータが入ったとき、どうなりますか?」**
この質問に具体的に答えられる人は、たぶんちゃんと試しています。「そういうデータは入れないでください」という答えなら、少し注意したほうがいいかもしれません。現場のデータは、必ず変なものが混ざるからです。
私は、地味でも壊れないもののほうが、結局は長く使ってもらえると思っています。
コツコツ自動化ラボでした。