第48話「諏訪が引き受ける」
この物語はフィクションであり、登場する人物、団体、地名、企業名等はすべて架空のものです。実在のいかなる存在とも関係ありません。
九月の第一週、土曜日の朝八時五十分。
ヨキエル株式会社の三階フロア。窓の外に、九月の薄い曇り空。
僕は自分の席でMacBookを開き、Confluenceの編集画面に向かっていた。昨夜、丸テーブルで書き始めた「再発防止策ドラフトv0.1」のページ。六つの見出しと、まだ入り口だけの本文。
深夜零時四十五分に切り上げて、寮で四時間ほど浅く眠った。朝七時に起きて、シャワーを浴び、出社して、いまここに座っていた。
目の奥に、まだ昨日の湿気がかすかに残っていた。頬は乾いたまま。
……書く。
胸の奥でつぶやいた。
MacBookのキーボードに指を置いた。最初の見出しの本文を、一行ずつぽつぽつと置いていった。
障害の経緯。九月五日金曜日、二十一時、本番リリース。二十一時二十八分、リリース完了報告。二十二時十二分、岸さんから画面ロード中の連絡。二十二時十八分、ロールバック開始。二十二時二十六分、ロールバック完了。二十二時三十分、川島部長からの電話。
時刻と事実だけを、ぱりぱりと並べた。その乾いた音が、まだ昨夜の湿気を押し戻してくれた。
事実だけを淡く書く、という書き方を、僕はたぶん知らないうちに杉本さんから学んでいた。サポートとQAの杉本さんが上げる不具合の報告は、いつも感情の語がひとつもなく、起きたことと再現の手順だけが淡々と並んでいた。一年目のいつか、その報告を読んで、なんて静かな文章だろうと思ったことがあった。いま、自分の手が、その静かさを真似ていた。
朝九時ちょうど。
諏訪マネージャーがフロアに入ってきた。いつもの紺のジャケットではなく、もう少し落ち着いたグレーのスーツ。ネクタイは濃紺。
「桐谷くん、おはよう」
「おはようございます」
「ドラフト、見せてくれる?」
「はい」
諏訪マネージャーは、僕の隣の空席に自分のMacBookを置いた。Confluenceの共有リンクを開いて、上から下まで二、三分かけて目を通した。時々、ページの右上の「コメント」を開いて、短いコメントを残した。
「ここ、もう少し丁寧に」
「ここ、原因の輪郭、いい」
「ここ、NFRの未明記、これは両社の責任として残しておく」
「両社の」
「うん。今回の事象は、組織のプロセス側の欠如でもある」
「組織のプロセス」
「うん。桐谷くん個別の判断ミスだけで書かない。組織として整理する」
諏訪マネージャーの声は、低く落ち着いていた。
言い終えて、諏訪マネージャーはコメントを打つ手を一度止めた。土曜の朝のフロアは静かで、窓の外の九月の曇り空に、数秒、目を預けていた。それから小さく息を吐いて、また画面に戻った。
……組織として、整理する。
内心でつぶやいた。
その四文字は、僕一人の判断ミスではない、と諏訪マネージャーが言っていた。同時に、それは僕の責任を消す話でもなかった。両方を別の層で持っておく、と諏訪マネージャーは置いていた。
「すみません」
「謝らないで」
僕は口を閉じた。
「今日の十時に、みなと信用金庫の本店に伺う。応接室、十時半から」
「先方は、川島部長と、システム部の副部長の山田さん、二名」
「桐谷くんも、隣で同席して」
「はい」
「ドラフトv0.1、今からあと一時間でv1.0まで仕上げる」
「私が隣で見直す」
「お願いします」
諏訪マネージャーは、MacBookの画面に視線を戻した。僕は自分の画面の書きかけの本文に、もう一度指を置いた。
朝九時三十分。
Confluenceの「再発防止策v1.0」のページが、形になりかけていた。諏訪マネージャーが、僕の画面の右側に自分の画面を寄せて、二画面で同時に見直してくれていた。指摘は的確だった。
「原因の分析、技術的詳細はもう少し抑えて」
「お客様は、技術的に深い説明より、再発しない仕組みのほうを見たい」
「なるほど」
「『同期APIを非同期に変更する』だけでは弱い」
「『本番環境のデータ集計サブシステムの応答時間をNFRとして両社合意する』『リリース前に必ず計測し、合意値を超えた場合はリリースを延期する』、ここまで書く」
「はい」
「UATと本番リハーサルの双方参加プロセス、ここは両社のお互いの責任として整理」
「Go/No-Go判断の二名以上同席も、両社それぞれで一名ずつ最低同席」
「はい」
諏訪マネージャーの言葉を聞きながら、僕は本文を何度も書き直した。書き直しの過程で、昨夜書いたドラフトv0.1の力みのある言い回しが、少しずつ落ち着いた組織の言葉に置き換わっていくのを感じていた。
「桐谷くん」
「はい」
「文章のスタイル、もう少し淡くしていい」
「淡く」
「うん。お客様の前で、お詫びの言葉は丁寧に。でも、再発防止策の本文は、淡く、事実だけ」
「淡く、事実。そのほうが信頼される」
「淡く、事実」
その二語を、僕はキーボードの上で確かめた。
朝十時、十分前。
Confluenceの「再発防止策v1.0」のページは、A4で印刷すると七枚分の文書になっていた。諏訪マネージャーは社内の複合機にページを送って、七枚を二部印刷した。一部はお客様用の青いクリアファイルに。もう一部は自分の手元の控え用に、白いクリアファイルに。
諏訪マネージャーは自分の机から社用車の鍵を取り出した。
「桐谷くん、行こう」
「はい」
会社のロビーの自動ドアを出て、駐車場の社用車へ。黒の四ドア、ナンバープレートに港川市の文字。諏訪マネージャーが運転席に、僕が助手席に座った。
九月の朝の薄い曇り空の下、桜並木通り。ナビは市内の中心部、みなと信用金庫の本店までの十二分のルートを表示していた。
車内は静かだった。諏訪マネージャーはハンドルを握りながら、信号待ちの間にぽつりと言った。
「桐谷くん」
「はい」
「今日、お客様の前では私が話す。桐谷くんは隣で頷くだけでいい」
「もし川島さんから、桐谷くんに直接質問が来たら、事実だけ答える」
「事実」
「うん。『はい』『いいえ』『申し訳ありません』『再発防止策のp.4に書いてあります』、その四つの中で答える」
「自己弁護はしない」
「自己批判もしない」
その二つの「しない」を、僕は助手席の窓の外、桜並木通りの葉桜の青さの向こう側で確かめた。
……自己弁護も自己批判もしない。
胸の内でつぶやいた。
諏訪マネージャーの「しない」の音は、低く落ち着いていた。
十時二十五分。みなと信用金庫本店の地下駐車場。車を停めて、ふたりでエレベーターに乗った。
六階、「応接室」というプレートのドア。ドアの前で、諏訪マネージャーは一拍立ち止まった。ジャケットの襟を整え、ネクタイの結び目を確かめる。僕も自分のスーツの襟を整えた。諏訪マネージャーがドアを軽くノックした。
「どうぞ」
川島部長の低い声。ドアを開けた。
応接室。長い木のテーブル、左右に四人ずつ座れる革張りの椅子。奥の窓側に、川島部長と、もうひとり五十代後半の男性。白髪混じり、銀縁の眼鏡、グレーのスーツ。たぶん、システム部の副部長の山田さん。
「ヨキエルの諏訪と、桐谷です」
「失礼します」
諏訪マネージャーが軽く頭を下げた。僕も深く頭を下げた。
「どうぞ、お座りください」
川島部長の抑えた声。
ふたりでテーブルの手前側に座った。諏訪マネージャーが青いクリアファイルから再発防止策の七枚を取り出し、テーブルの中央に二部、丁寧に置いた。川島部長と山田さんが、それぞれ一部を手元に取った。
諏訪マネージャーは、テーブルの中央で深く頭を下げた。四十五度より、もう少し深く。六、七秒、頭を上げなかった。その間、応接室には空調の音だけがぽつりと流れていた。
「このたびは」
諏訪マネージャーは頭を上げてから、低い声でゆっくり言った。
「九月五日金曜日、本番リリースにおいて、当社が書いた変更により、御行の業務システムに、二十二時十二分から二十二時二十八分まで、十六分間の応答停止が発生しました」
「うん」
「夜間の最終確認で発覚し、ロールバックで業務時間前に復旧しております。もし月曜朝の業務開始時刻まで気づけずにいた場合、御行の窓口の対応にご迷惑をおかけするところでした」
「うん」
「組織の責任として、私が引き取ります」
諏訪マネージャーは、もう一度テーブルの中央で深く頭を下げた。今度は五、六秒。頭を上げて、川島部長のほうを見た。
その頭が下がるのを、僕は隣で見ていた。諏訪マネージャーの背中は、グレーのスーツの肩のラインが、いつもよりほんの少しだけ前に丸まっていた。前に丸まる、というのは身体的にだれかを引き受ける人の角度だった。その角度がぐっと僕の助手席側に置かれた瞬間、僕の口の奥のところで、言葉にならない塊がそっと立った。
……背中が、引き受けてる。
僕はそれしか置けなかった。観察ではなくて、ただの塊。塊のまま、僕は隣で頷くしかなかった。
「再発防止策を、お持ちしました」
川島部長は、手元の七枚を最初のページからゆっくりめくり始めた。山田さんも同じペースでめくる。応接室の中、紙のめくれる音がぽつ、ぽつと流れていた。僕は隣で頷くだけだった。
川島部長は七枚を一通り読み終わった。最後のページの再発防止策の閾値の表を、もう一度指で確かめた。顔を上げる。
「諏訪さん」
「はい」
「私たちのお付き合いも、十年を超えました」
「はい」
「弊行が業務システムをヨキエルさんにお預けし始めた頃、私はまだシステム部の課長補佐でした」
「はい」
「諏訪さんが当時の島田課長(現副部長)の下で、最初に弊行に来られたのは、私の担当二年目の頃でしたね」
「はい。十年と少し前です」
「あれから、いろいろなリリースをご一緒してきました」
「はい」
「今回、夜間に発覚できたのは幸いでした」
「はい」
「ただ、これはお互いに防げた事象でした」
川島部長の声は、抑えた低音だった。
「弊行側のUAT参加と本番リハーサル設計が、今回は不十分でした」
山田副部長が、隣で軽く頷いた。
「弊行側も、リハーサル設計を要請すべきでした」
山田副部長の声。低く、短い。けれど、ちゃんとした重みを置いていた。
川島部長は続けた。
「九月初めの繁忙期だから、と弊行が判断したのは、こちらの責任でもあります」
「いえ、川島さん」
諏訪マネージャーが、もう一度頭を下げた。
「十年来お預けいただいている信頼に、今回は応えきれませんでした。当社側のテスト計画でも、本番のデータ集計サブシステムの応答時間を確かめずにデプロイした、という個別の判断ミスがあります。それは当社が負うべき責任です」
「諏訪さん」
「はい」
「ご丁寧にお預かりします」
「ありがとうございます」
「再発防止策、いま読ませていただきました」
川島部長は手元のページを、もう一度上から下まで指で追った。
「NFRの両社合意。リリース前の本番計測。UATと本番リハーサルの双方参加。Go/No-Go判断の二名以上同席。月次振り返りの仕組み」
「はい」
「ここまで具体的に、十二時間以内に書き上げてこられた」
「はい」
「これは、ありがたい」
川島部長の低い声の中に、ほんの少しだけ柔らかさが混じっていた。
「諏訪さん」
「はい」
「弊行と御社のこの十年は、こうしたお互いに防げた事象を、お互いに学んで一段ずつ積んできたものだと、私は思っています」
「はい」
「次回からのリリースは、両社のメンバーで事前の確認プロセスを組み直したい」
「ありがとうございます。当社からも、Go/No-Go判断のテンプレートをお持ちします」
「うん。よろしくお願いします」
川島部長は、そこで一拍、間を置いた。
「諏訪さん」
「はい」
「若い人を守るのも、大事ですね」
「はい」
「桐谷さん」
川島部長は、まっすぐ僕のほうを見た。僕は背筋を伸ばした。
「はい」
「桐谷さんは、諏訪さんのチームの大事な若手だと、私も伺っています」
「今回の事象から、たくさん学んでください」
「はい」
「立派なSEになってください」
「はい」
「次に会うときが、楽しみです」
川島部長の目は、僕をまっすぐ見ていた。叱責の目ではなかった。長年の関係の中で、若手の桐谷を一度だけ正面から受け止める、ベテランの目だった。
諏訪マネージャーが、川島部長のほうに目を戻した。
「川島さん」
「はい」
「桐谷は、今回の事象から、必ず学びます」
「ええ」
「私のチームで育てます」
諏訪マネージャーの低い声は、ぐらつかなかった。川島部長は、諏訪マネージャーの目を見返した。そして頷いた。
「諏訪さんの十年の言葉として、お預かりします」
「ありがとうございます」
「次回からも、よろしくお願いします」
「こちらこそ、お願いいたします」
川島部長はもう一度頷いた。山田副部長も隣で軽く頷いた。応接室の空気が、ゆるんだ。
十一時三十分。
応接室を出た。六階の廊下、エレベーターホール。エレベーターが来るまでの四、五十秒の間、諏訪マネージャーは何も言わなかった。僕も何も言えなかった。ただ、ジャケットの内側のシャツの背中が、軽く湿っていた。
エレベーターが来た。地下駐車場の階を押した。扉が閉まった。
扉の鏡の中の自分の顔は、まだ少し白かった。諏訪マネージャーの顔は平らだった。その平らな顔の中に、安堵とまだ抜けていない緊張が、静かに並んでいた。
社用車の助手席に、座り直した。諏訪マネージャーがエンジンをかけて、ハンドルを握った。ナビは会社までの十二分のルートを再表示した。
車が地下駐車場を出た。街路樹の九月の青さ、桜並木通りの方角に車は向かった。
「桐谷くん」
「はい」
「ひと段落、ついた」
「川島さん、共同振り返りの形で受けてくださった」
「弊行側のUAT参加も不十分でした、という一行は、川島さんでないと言えない一行」
「川島さんでないと」
「うん。十年お預けいただいているからこそ、お互いの責任を整理できる」
「桐谷くん、川島さんと私の間にあるもの、隣で見てた?」
「はい」
「あれが、十年来の信頼の重み」
「重み」
「うん。簡単に言葉にならない」
諏訪マネージャーの声は、低く丁寧だった。
……川島さんと諏訪さんの間にあるもの。
胸の奥でつぶやいた。
応接室の二人の目線の重みを、僕はもう一度頭の中で確かめた。川島部長が諏訪さんを「諏訪さん」と十年呼んでいた呼び方。諏訪さんが川島さんを「川島さん」と十年呼んでいた呼び方。お互いに頭を下げ合う角度。お互いに事実を一段ずつ並べる順番。
その目線の重みは、相手を見ている目の、長い時間の積み重ねの形だった。
「桐谷くん」
「はい」
「信頼を完全に取り戻すには、ここから三ヶ月、いや、半年はかかる」
「次の本番リリース、十月末に予定の小さなパッチがある」
「はい」
「そのパッチを、ちゃんと無事に通す」
「それから、十一月の月次報告、十二月の四半期報告、来年三月の年次報告」
「はい」
「そのひとつひとつで、信頼をゆっくり積み直す」
「ゆっくり積み直す」
諏訪マネージャーの声は、低く丁寧だった。
「桐谷くん」
「はい」
「次は、どうやって防ぐか、一緒に考えよう」
「今日の応接室は、お客様向けの場。月曜日の朝、社内向けの場を別に作る」
「社内向け」
「うん。チームAの全員と、白瀬さんと、立花さんと、古川先輩と、森山くん、全員で四十五分」
「桐谷くんが月曜日の朝、その振り返り会で、起きたことの事実を十五分で説明する」
「次の十五分は、私が組織の責任とプロセスの欠如について話す」
「はい」
「最後の十五分は、白瀬さんを中心に、技術的な再発防止の議論」
「資料は、今日のConfluenceのページを社内向けに少し書き直したものを使う」
「分かりました」
「それと、今回、ひとつ、いつもと変える」
「変える」
「パッケージのQAの、真鍋さんと杉本さんに、オブザーバーで入ってもらう」
「QAの」
「うん。チームの外の、テストの専門の目を、一度、入れてみる」
諏訪マネージャーは、ハンドルに指を置いたまま、少しだけ間を取った。
「桐谷くんにとっても、いい機会になると思う」
いい機会、の中身までは、諏訪マネージャーは言わなかった。ただ、杉本さんがチームの外から僕の障害を見にくる、という事実だけが、助手席の僕の膝の上に、静かに置かれた。
諏訪マネージャーは、ハンドルを握る手の力をゆるめた。信号で止まったときに、僕のほうを向いた。
「桐谷くん」
「はい」
「すいません、と言わないで」
「謝らないで」
「はい」
「学ぼう」
その三文字は、低く丁寧で、湿っていなかった。
学ぼう。
諏訪マネージャーは、僕の頭を撫でるでも肩を叩くでもなく、ただその三文字を丁寧に置いてくれた。
……学ぼう。
内心で言った。
信号が青になった。車が進んだ。桜並木通りの葉桜の青さの向こう側に、会社のビルのかたちが近く見えてきた。
会社に戻って、午後一時。
諏訪マネージャーは社内Slackで、上司の島田副部長への二度目の報告を書き始めた。僕は自分の席で、Confluenceの「再発防止策v1.0」のページを、社内向け資料「振り返り会_v1.0」に書き直す作業に入った。
書き直しながら、何度か目の奥に湿気が上がってきた。頬はまだ乾いたままだった。
昨夜の零時前後、寮の自室の布団の中で頬の奥に置かれていた湿気が、まだかすかに残っていた。残っていたけれど、ここは会社の席だった。頬の奥の湿気はいまは出さない。
……いまは書く。
胸の内でつぶやいた。
キーボードに指を置き直した。社内向け資料の最初のスライドを書き始めた。
「障害の経緯と、再発防止策の議論」
「九月五日(金) v1.8.4 本番リリースに関する振り返り会」
「九月八日(月) 9:30〜10:15 第二会議室」
三行の見出しを、かちりと置いた。そのかちりという音が、昨夜の湿気の奥のところで、僕の足場を押し上げてくれた。
午後三時。
ふと、隣の席に白瀬さんが戻ってきた。白瀬さんは、昨夜の別案件の深夜の調査対応から土曜日の昼に帰宅して、午後にもう一度出社していた。
白瀬さんは僕の隣の自分の席にリュックを置いた。MacBook Proを開く前に、僕のほうを見た。
「桐谷くん」
「白瀬さん、お疲れさまです」
「うん」
「昨日、お疲れさま」
「はい」
「諏訪さんから概要、聞いた」
「はい」
「ロールバックの判断材料、桐谷くんが整理して、諏訪さんが引き取った」
「はい」
「うん。プロセス通り」
「お客様への謝罪、午前中行ってきた」
「はい、行ってきました」
「うん」
白瀬さんは、自分のリュックからまだ温かい紙コップのコーヒーをふたつ取り出した。ひとつを僕の机の上に置いた。
「これ」
「ありがとうございます」
「無理しないで」
「はい」
白瀬さんは僕のほうをもう一度見てから、自分のMacBook Proを開いた。それ以上、何も言わなかった。
ただ、温かい紙コップの、わずかに湿った縁のぬくもりが、僕の机の上に置かれていた。
……温度。
胸の奥でつぶやいた。
白瀬さんのぬくもりは、昨夜の不在の冷たさの向こう側で、いまちゃんとここに置かれていた。その置き方は、諏訪マネージャーの「学ぼう」の三文字の温度の隣で、静かに並んでいた。
午後四時。
Confluenceの社内向け資料に「両社の責任分界」と「弊行と当社のお互いに防げた事象」の項目を書き加えていた途中、僕は手を一度、止めた。
川島部長と諏訪さんの目線の重み。十年来の信頼の積み重ね。お互いに事実を並べる順番。
あれは、相手を見ている目の、長い時間の形だった。
ふと、頭の奥のところで、別の像が立ち上がった。
……あの目線は、社内のあちこちにも、たぶんあるはずだった。
内心でつぶやいた。
諏訪マネージャーと白瀬さんの間。間宮さんと白瀬さんの間。諏訪マネージャーと島田副部長の間。きっと、そういう目線の重みが、社内のあちこちにそっと置かれている。
ただ、別の見え方も同時に立ち上がった。
……立花さんには、たぶん、ない。
胸の内で言った。
四月の朝礼で立花さんが古川先輩の仕様変更の差分を自分のシニアの手柄として置いた、あの軽い手つき。八月のとんぼの夜の立花さんの「やりすぎないように」の声の奥にあったもの。立花さんが他の人を見ている目には、相手を長く見続ける重みが薄い。
その薄さは、川島部長と諏訪さんの十年来の信頼の重みの、ちょうど反対側にあるものだった。
……目線の重みの有無。
胸の奥でつぶやいた。
桐谷蒼太のノートの中に、新しい観察軸が一本、すっと立ち上がっていた。
午後六時。
社内向け資料「振り返り会_v1.0」のドラフトが、形になった。諏訪マネージャーが、自分の席から立ち上がった。
「桐谷くん、今日はここまで」
「明日、日曜日休んで」
「はい」
「月曜日の朝、振り返り会、九時半から」
「白瀬さん、桐谷くん、もう一度軽く資料を確認しよう」
白瀬さんが、隣の席で軽く頷いた。ふたりで僕の画面を覗き込んで、五分くらい最後の通し読みをしてくれた。
「いい」
白瀬さんは短く言った。
「うん、これで月曜日の朝、行ける」
諏訪マネージャーも頷いた。
……月曜日の朝、行ける。
内心でつぶやいた。
行ける、という三文字は、まだ少し湿っていた。それでも湿気の奥に、足場がそっと置かれていた。
六時三十分。フロアの電気を消した。諏訪マネージャー、白瀬さん、僕、三人でロビーの自動ドアを出た。
桜並木通りの九月初旬の夕方。葉桜はまだ青かった。風がほんのり湿っていた。
白瀬さんは「私、こっち」と駅のほうに向かった。諏訪マネージャーは「私、車」と駐車場のほうに向かった。僕は寮の方角に足を進めた。
桜並木通りのいつもの十二分のルート。今日の十二分は、昨夜の二十四分の感覚より軽かった。軽くなった差は、たぶん諏訪マネージャーの「学ぼう」と、白瀬さんの紙コップと、川島部長の「次に会うときが、楽しみです」の、三つの温度が僕の足場の下に置かれていたからだった。
……三つの温度。
胸の内でつぶやいた。
寮の自分の部屋。夜七時十分。
机の上のいちばん左のノートを開いた。四月一日の最初の一行「二年目、仕事の質を見る」の淡い書き写しの隣、空白の右側のページ。ボールペンを握り直した。
昨夜は開けなかったノート。今日は開けた。
ペン先を紙の上に置いた。ゆっくり書いた。
組織の責任は、上が引き受ける。
「組織の責任として、私が引き取ります」と言える人が、本物のマネージャー。
二行を書いた。書いた後で、ペン先を紙の上に止めた。もう一行、書き足した。
諏訪さん、ありがとうございました。
その下に、もう一行、書き足した。
目線の重みは、十年の積み重ねで作られる。
書き終わった四行は、まだ少し湿った重みを奥に残していた。でも、頬は乾いたままだった。
ノートを軽く閉じる。机の上のいつもの位置に戻した。
窓の外、九月初旬の夜空。雲の隙間に半月。半月の青白いかたちは、昨夜よりはっきり見えた。
……立派なSEになってください。
胸の奥で、僕は川島部長の声をもう一度確かめた。
立派な、という三文字は、まだ僕の足元から遠い場所にあった。遠いけれど、その輪郭がいまは見えていた。それが見えていることが、今夜の僕のぎりぎりの足場だった。
布団に入った。目を閉じた。
昨夜の暗闇の奥に並んでいた「200 OK」の青い文字は、まだ残っていた。残っていたけれど、その隣に、諏訪マネージャーの「組織の責任として、私が引き取ります」の低い一行と、川島部長の「お互いに防げた事象でした」の頷きと、白瀬さんの紙コップのぬくもりの三つが、そっと並んでいた。三つの並びが、昨夜の青い文字を押し戻していた。
目の奥はまだ湿っていた。頬は乾いていた。今夜も、流れは留まったままだった。留まったまま、ゆっくり眠りに落ちていった。
九月八日、月曜日の朝、九時半。第二会議室。
チームAの全員と、白瀬さん、立花さん、古川先輩、森山くん。長机の島に、いつもの顔が並んでいた。そして、入り口に近い二つの席に、いつもと違う二人が座っていた。パッケージ事業チームの、真鍋さんと、杉本さん。
真鍋さんは、QAチームの主任。四十七歳。テスト一筋の人だと、いつか杉本さんから聞いたことがあった。その隣で杉本さんは、A5の手帳を開いて、静かに座っていた。同期が、チームの外から、僕の障害を見にきていた。
諏訪マネージャーが、二人のほうを軽く手で示した。
「今日は、パッケージのQAから、真鍋さんと杉本さんに入ってもらいました。チームの外の、テストの目です」
最初の十五分。僕が、起きたことの事実を話した。感情の語を入れず、時刻と事実だけを、ぱりぱりと並べた。その淡い並べ方は、もとをたどれば、杉本さんの不具合報告から借りたものだった。話しながら、入り口の杉本さんを、一度だけ見た。杉本さんは、僕の言葉の淡さに、小さく頷いた。
次の十五分、諏訪マネージャーが、組織の責任とプロセスの欠如を。その次の十五分、白瀬さんが、技術的な再発防止を。同期APIを非同期に変える。本番の応答時間を、両社で合意した値として、リリース前に必ず計測する。
議論が一段落したとき、諏訪マネージャーが、入り口の二人のほうを見た。
「真鍋さん、QAの目から、何かあれば」
真鍋さんは、ゆっくり頷いて、口を開いた。声は、低く、淡かった。
「ひとつだけ。今回、コードが壊れたのは、作る側の話です。でも、それを本番の前に捕まえられなかったのは、確かめる側の話です。作りこんだ原因と、見逃した原因は、分けて見たほうがいい」
作りこんだ原因と、見逃した原因。
僕は、その二つを、頭の中で並べた。本番の応答時間を、設計で考えなかったこと。それを、テストで確かめなかったこと。地続きに見えていた一つの失敗が、ほんとうは、別の二つだった。
「それと、もうひとつ」
真鍋さんは続けた。
「再発防止策は、書いた瞬間に終わるものじゃありません。誰が、いつまでに、ほんとうにやれたか。そこまで追いかけて、やっと、次の人の資産になります」
書いて終わりじゃない。
その一行が、僕の中で、小さく光った。土曜の僕は、七枚の再発防止策を書き上げたところで、もう半分終わった気でいた。真鍋さんは、書いたところが、まだ入り口だと言っていた。
「あと、ひとつだけ」
真鍋さんは、淡く付け足した。
「なぜ、を、一回で止めないこと。一回目のなぜの下に、たいてい、もう一段、本当の理由がいます」
杉本さんは、隣で、手帳に何かを書きつけていた。真鍋さんの言葉を、たぶん、自分の言葉に直して。書きながら、ときどき、小さく頷いていた。あとで知ったことだけれど、杉本さんはその頃、テストの上の級の試験に一度落ちて、もう一度向き合っている最中だった。真鍋さんの隣で学んでいたのは、僕だけではなかった。
会議室を出るとき、杉本さんが、僕の横に並んだ。
「桐谷くんの、さっきの説明。事実だけで、よかった」
「あ。……杉本さんの、報告の、真似です」
杉本さんは、少しだけ、口の端を緩めた。
「真似から始めるの、いちばん強いよ」
そう言って、真鍋さんのほうへ、小さく駆け戻っていった。
その日の夜。寮の机で、いちばん左のノートを開いた。
作った原因と、見逃した原因は、分けて見る。
再発防止策は、書いてからが、はじまり。
二行を書いて、ペン先を止めた。それから、もう一行、足した。
仕事の質を見る、というのは、たぶん、こういうことの、積み重ねだ。




