現場のリアル物語②: 現新比較という闇
…あれから私は3ヶ月かけて「正解の分からない単体テスト」を回し続け、気付けば祈りの精度だけが上がっていた。
次は「現新比較」──同じデータを現環境と新環境に入れて、同じ結果が出るかを見るだけ。楽勝のはずだった。
しかし待っていたのは、環境違い・権限待ち・本番障害の余波、そして「そもそも比較する環境が違っていた」という最悪の事実だった。
Note
「簡単そう」=だいたいフラグ。ここはいつも裏切らない。闇。
…あれから3ヶ月
相変わらず、正解が分からないテストを何度も回す日々。
仕様書は古い。エビデンスは欠ける。テーブル定義も揺れる。
心を込めて祈ることだけが上達していった。
Note
祈りが上達しても、問題は解決しない。闇。
終盤に現れた“楽勝クエスト”:現新比較
単体テストは1日1本ペース。
「単体」と言いながら複数のシステムが連なり、仕様も中身も不明で、間に合わないこともしばしば。
でも次は違う。現新比較だ。
1日4本。現環境と新環境に同じデータを入れ、同じ結果が出るか確認するだけ。
私は優勝を確信していた。
Note
優勝確信は、だいたい「絶望へのカウントダウン」
何も決まっていない
いよいよ単体テストが終わりかけたタイミングで、上司に今後の方針を確認した。
返ってきた答えは「何も決まっていない」。
まぁ決まってないと言えど、それぞれの環境が動くこと自体は前から知っていた。怯えることはない。
……と思ったら、環境構築が終わっていないという新情報が入った。
「この3ヶ月、何してたん?」という気持ちを何とか飲み込んで、楽観視しておいた。
そのうちできるだろう、と。
Note
楽観視は精神衛生に効く。現実は目隠し。
待機と準備(そして不穏)
2日が経過した。単体テストは終わった。
まだ時間が掛かりそうなので、現新比較の対象となる過去エビデンスを集め始める。件数は100件超。
でも大丈夫。流すだけだし、考える必要はない。構築が終わった瞬間にすぐ実行できる準備をするだけ。
さらに2日が経過した。動きがない。
本番データを触れないので、半分待機のような状態だ。
ただ、動けないのは無理もなかった。
実はこの1週間前から、不穏なイベントが発生していた。
1週間前:本番デプロイでコケて終末到来
出勤すると、いつもの社員が常に真っ青な表情。
電話越しには怒号。会議室は張り詰めた空気。
定期的に聞こえてくる「イガイタイ…」
そう、関連するシステムの本番環境へのデプロイでコケたのだ。
社員総出で対応、謝罪、会議。
でも一番手を焼いている様子なのは原因調査だった。
聞いている感じ、クライアントと事前に受け入れテストが大丈夫そうだった。
相手からOKをもらって反映したそうだ。
……ただ、実際は想定通りの確認などできてなかったようだ。
きっとクライアントはITのプロではない。
勘違いかどうかは今となっては聞けない。聞くのが怖い。
きっとジワジワと多方面で齟齬が生まれていたのだろう。
社内はずっと溜息とキーボードの音と電話の怒号が止まらない。
Note
本番障害は怖い。あの日全てを思い知ったのである。
遅延の果てに、ようやく本番データ到来
落ち着いた頃には、現新比較のスケジュールは大幅遅延。
しかもまだ何も決まっていない。仕方ない。
そもそも本番データに触れるのは権限が厳しく担当者からのデータ待ち。
色々あったがようやくデータが届いた。実行ボタンを押す。期待に胸が膨らむ。
エラー20件
「いや、何でだよ!」
まずそう思った。
でも、この事態が大変なことだとは、まだ分かっていなかった。
Note
エラーの数は、「氷山の一角」。まだ本気を出していない。
新環境にデータが入らない
上から順にログを見ると「データが違う」系のエラー。
入れたデータが違った?いや、それは問題ない。
でも、なぜか新環境へ本番データがうまく入らない。
念のため現環境も流す。
同じエラーが発生する。
上司に報告。
しばらくすると、今度は上司が真っ青になっていた。
なぜなら──この新環境は「今の本番環境から逆デプロイしてきたもの」だったから。
差分が出るはずがない。そもそも新環境はその影響を受けない仕様で構築されている。
しかもエラー内容は「今回の不具合対応の範囲外」だという。
つまり、本番環境から差分が発生している。
何が言いたいかって?
今の今まで3ヶ月かけて実施したテストの環境が、間違っていた可能性がある。
最悪、全て再テストが必要になる。
目の前が真っ白になるって、こういう時に言うんだなと思った。
何かが崩れる音がした。幻聴である。
Note
ここで私は崩壊したのであった。 -終-
会議と検証
再び会議室で会話が始まる。
その間、私は他の本番データを入れて「どれが通るのか」を確認する作業に追われた。
ようやく、1つ通るものを見つけた。報告する。
その頃には、大体の方針が決まったようで、上司から報告が来た。
方針:大番狂せ
報告の内容はこうだった。
- 今回の現新比較の「環境」が根底から違っていた
- さらに 負荷テスト・性能テスト・限界値テスト も合わせて行う
そして追い打ち。
- これまでのクライアント担当者は別部署へ異動済
- 引き継ぎはほとんど無し
- 新担当者も現状をよく分かっていない
オワタ。
雪崩が聞こえる。二度目の幻聴である。
Note
誰も知らない世界がそこには広がっていた。違った、絶望だ。
「無駄にはならないから大丈夫だよ」
上司は言う。
空気が重くならないように、平常心で。
でも目が泳いでる。語尾が震えている。
「今までの作業は無駄にはならない」
それは本当だ。たぶん。そう思いたい。そうでなければあの時間は何だったのか。
ただ、“何が正しいか分からない戦い”が、まだ続くのも確定した。
私はこれから再び見えないゴールと闘うことになるのか。
正解を見つけることよりも、祈り方だけもっと上達していくのだろうか。
エピローグ:そうだ、お祓いに行こう
根本解決までは、まだ先のようだ。
だから一旦、お祓いに行こう。
Note
祈りは運用。お祓いはリリース。科学的根拠はないかもしれないが、気持ちは守れる。お守りも買おう。