飯嶌、ブレイクスルーするってよ! #21 ~モンキーテスト
システムテストの2クール目を3回の月次処理を実施する内容に変更し実施したところ、システム間で日付の合わない現象が発生し、また一時中断となった。
原因はオペミス。勘違いした日付で一部変更したため、データの整合性が合わなくなってしまった。
結局全データを入れ替えて最初からやり直しとなり、2クール目のスケジュールが3日押すことになってしまった。
「すみません…私の確認不足でした…」
オペレーターの女の子が夕会でみんなの前で謝った。
「まぁ原因はハッキリしているので、もはや清々しいほど最初からやり直せるってことで…これだけ何度もやれば、より万全ですよ、ね?」
僕は努めて明るく振る舞ったが、メンバーの中には一部疲労を顔に出す人もいた。
「今夜中に全データをテスト前に戻しますので、明日は2クール初日から開始、となります。よろしくお願いします!」
僕の挨拶で夕会は解散し、オペミスをした子に近づいて声をかけた。
「日付の変更作業は1人で行っているんですか?」
彼女は申し訳なさそうに伏せがちな目で答えた。
「普段は先輩と一緒にやっているのですが、今回はたまたま先輩が打ち合わせでいなくて。この作業は前回もやったことがあるので、1人で出来るだろうと思ってやりました」
そして「申し訳ありません」と深く頭を下げた。
「あー、いやいや。そんなに気にしないで。テストっていうのは正しくやるのが目的じゃなくて、色んな問題を炙り出して、どうすれば防げるか、解消するかを考える機会だと思ってくれれば。だから君も、次はどうしたら防げるかを考えて、実践してもらえればいいからさ」
僕は野島次長や前田さんのセリフをそのまま受け売りで使ったが、彼女は少し安心した様子で「ありがとうございます」と言って持ち場へ去っていった。
僕も自席に戻った。
「前田さん、そういうわけでST(システムテスト)は振り出しに戻ります…」
「そのようですね」
「3日押します。遅延の報告しないとな…」
僕は次長に今日のテストのことをメッセージで送った。
しばらくして ”遅延は了解“ とだけ返信が来た。
「次長、案外あっさりと遅延を了承してくれました」
そう言うと前田さんは身を乗り出してモニタの隙間からヒソヒソと言った。
「次長は少し前からPMにはスケジュールの1週間遅れを打診していたそうですよ」
「えぇ、そうなんですか」
僕もつられてヒソヒソ声で話す。
「STは多少のバッファを設けたとはいえ、今回のように少しインパクトのある問題が出ればどうしたって押します。それを鑑みて全体で1週間押しと睨んだのでしょうね」
「PMからは怒られたりしないんですか? キックオフ前に次長、遅延が発生したら運営側が責任取らされるって言ってて…」
前田さんはプッと吹き出した。
「あ、ごめんなさい。責任取るなんて大袈裟ですよ。今回は言ってみれば先にリリース時期が決められて、後から見積もりを出して強引に詰め込んだりした部分もあると思いますが、限られた時間内でやってやろうって頑張って何とかなる部分と、どうしたって無茶というところと出てきますから、上層部もある程度の遅延は見込んでいると思います」
「え…、そんなもんなんですか?」
「もちろん全てのプロジェクトがそうではありませんけどね」
僕は少し拍子抜けした。
「だからと言ってこの先ダラダラやって言い訳ではありませんよ」
「そりゃもちろん…、わかってますよ」
「テストは手厚くやるべきです。飯嶌さん、ユーザー部門にモンキーテストもお願いしているじゃありませんか」
しまった。そうだモンキーの日程もズレるな。
鈴木課長にまた頭下げに行かないとな…。
* * * * * * * * * *
振り出しに戻ったSTは、さすがにみんな気をつけるポイントもこなれてきて順調に進んだ。
第2クールが完了したら、モンキーテストを実施することになっている。
これはこれで、とんでもないバグが見つかったりするから要注意と、山下さんが警戒していた。
「鈴木課長、水曜日にはモンキーテストを開始出来ますので、空いている時間でどんどん使ってみてください」
「了解」
水曜日はちょっと緊張感のある日になりそうだな…。何事もないといいけど…。
ところが大方の予想通り(?)、バグではないがちょっとした問題が起こった。
「とある組み合わせの入力で先に進めなくなります」
モンキーのテスターからそんな報告が上がった。
井上くんが開発メンバーと現象を確認しに行ってくれた。
「何があったの?」
「うーん、滅多にないそうなんですけど、特殊な入力の組み合わせをすることがあって、それをやると裏でエラーが起こってるんです。画面に返せてなくて、ユーザーは画面が固まったとか先に進めないと言う状態になります」
「えぇ…バグだよね」
「まぁそうですね…ただそう頻繁には起こらないらしいんです。月に1回あるかないか」
「と言うことは…」
「今無理矢理差し戻して改修しなくてもいい気がするんですよね。滅多にないからテストのシナリオにも上がらなかったくらいですし」
僕は井上くんと一緒に鈴木課長の元へ向かい、緊急度を確認しに行った。
「このケースねぇ…。確かに頻度はないんだけど、問題はいつこのパターンで登録しなきゃいけない時が来るか、だなぁ」
「そう言うことですか…」
「一旦このままリリースして、改修を進めつつ、もし改修版リリースまでに入力が発生したら、旧システムで登録して後でデータ移行、とかかなぁ…あんまりやりたくないですけどね」
「めちゃくちゃ面倒くさそうだね、システム部の作業が」
「まぁそうですけど、予算に影響は出ませんよ。リリースしちゃえば保守費用で賄っていきますから」
確かに、費用の問題もあるんだよな…。
「まぁ、何でもいいから登録出来て売上が計上出来れば、一旦どんな形でもいいよ、こっちは」
鈴木課長もそう言ってくれたので、差し戻しはせずリリース後の保守に回す事にした。
自席に戻って前田さんにリリース後のタスクが発生したがどう管理したら良いか相談した。
「Backlogで保守用のボードを作成して、その下にタスクをぶら下げましょう。プロジェクト外の案件になりますので、混ざらないように」
「わかりました」
モンキーのテスターからは他にもいくつか「バグでは」という報告があったが、画面仕様の変更によるものもあり、大きな問題には至らなかった。
翌週に3回目のSTも滞りなく済み、いよいよリリースリハーサルが迫ってきた。
これも日中に各作業の内容を確認する意味で実施するものと、実際の夜間リリース時を想定して夜勤を伴って実施するものと、2回用意されている。
いくつか影響のあるシステムも含めて、登録の締切からシステムの閉塞、移行前夜間バッチの実施、リリース、移行後の夜間バッチの実施、画面確認、閉塞解除、通常業務、と一晩中息の抜けないスケジュールになっている。
推進チームの各メンバーが各部署のイベントをヒアリングし、僕がそれを1つのタイムテーブルにまとめた。
そのタイムテーブルを関係者全員に見てもらい、少しでも齟齬があるものは修正してもらっていった。
「タイムテーブルを元に各担当者が実施したタスクの開始時間と終了時間を落とし込む一覧も用意した方が良いですね」
前田さんからそんなアドバイスを貰った。
「それによって実際にどれくらいの作業時間がかかるのか把握できますし、予定の時間が来ているのに時間の書き込みがないものはどうなっているのかとチェックが出来ます」
「わかりました」
僕は早速タイムテーブルを元に、誰が何時に何をやるのかを時系列に並べたタスク一覧を作成した。
こうして並べると、多くの人がいろんな作業を行っていくのだ、と改めて感じた。
「何気なく使ってるシステムも、こんだけの人が関わってるんだなって感じますね」
前田さんはニッコリと微笑んだ。
週次の報告でPMOである野島次長にSTの最終結果とリリースリハの日程の報告を行った。
「次長、リハの夜勤は推進チームは全員出る必要ありますかね」
「その辺は任せる。ただ夜間組と日中組で、誰かはどちらかにいるように配置して欲しい」
「わかりました。山下さんと森田さんを夜間、井上くんと橋本さんと前田さんを日中、僕は両方いようかと思います」
「優吾の気合はわかったが、労働基準法違反するのはやめてくれよ」
野島次長はやんわりと釘を指した。僕は「でも」という言葉を呑み込んで答えた。
「では明け方に少し作業の発生しない時間帯がありますので、そこで僕は離席させてもらって、始業に間に合うように調整します」
「始業後は日中組にきちんと引き継いで、なるべく早く帰れよ。あと夜勤組は代休をきちんと取るように。お前もな」
「わかりました」
翌日のチームの朝会で、リリースリハと本番リリースの夜勤に付いての体制を伝え、勤怠の指示も出した。
さ、いよいよ終盤だ。
-------------------------------------
第22話へつづく