全部OKのはずが半日で9個も穴だらけだった件

記事
IT・テクノロジー
「よし、これで完成」と思った瞬間が一番危ない、というのを久々に思い知った話。

AIと一緒に、予約を受け付ける仕組みを一日がかりで組んだ。設計も実装も思ったより早く進んで、画面の自動テストも全部グリーン。全部通ってるってことは、もう動くってことだよな、と正直ちょっと気が緩んでいた。朝から詰めて作業していたので、頭のどこかで「これで一区切りつけたい」という気持ちもあったんだと思う。

でも念のため、自分でポチポチ触ってみることにした。これが本当に念のため、くらいの軽い気持ちだった。

触り始めて数分で、あれ、と思う。今日の日付の予約まで選べてしまう。普通に考えて今日の予約なんて受け付けられるわけがないのに、画面上は何事もなく選択できてしまう。次に、一度予約を確定させたユーザーが、なぜか二度と次の予約を取れなくなっているのを見つけた。これはさすがに笑った。結局、半日かけて触り倒した結果、似たような穴が9個も出てきた。

自動テストって「書いたコードの通りに動くか」をチェックしてくれるものなんだなと、改めて腑に落ちた瞬間だった。裏を返せば、「書いてすらいない操作」は最初からテストの範囲外ということになる。今日の予約を弾く処理を書き忘れていれば、テストは「書いてある通り正しく動いています」と胸を張って教えてくれる。でも人間は、書いてあろうがなかろうが平気で今日の日付をタップしてくる。

これ、予約システムに限った話じゃないなと思う。仕事でもなんでも、手順書通りにやれば完璧、と思っていたものほど、実際に現場で動かすと想定外の順番で人が動いて、思わぬところから崩れたりする。マニュアルの正しさと、現場での機能のしかたは、似ているようで全然別物なんだと思う。

結局、面倒でも誰かが実際に触ってみる、使ってみるという一手間を飛ばさないことが、遠回りに見えて一番の近道だった。効率よく進めたつもりが、実は一番地道なところを端折っていただけだったんだな、と反省しつつ、まあこれも含めて作るってことなんだろうな、と今は思っている。

こういう「人が実際にどう触るか」まで含めた予約周りの作り込みは、普段の制作でも特に時間をかけているところです。

LINE公式で予約受付が完結するbotを作ります
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す