第4話「外圧戦突入」
午前11時23分。
乾いた通知音が響いた。
「……来たぞ」
PMの早刷太郎が、タブレットに映ったメールの文面を睨みながら呟く。
額に浮かぶ薄い汗は、単なる室温のせいではなかった。
彼のもとに届いたのは、海外本社からの「仕様追加要請」――
名目はUX改良、実質は爆弾である。
「どれくらい……ヤバい?」
問いかけたのは、設計担当の設計裕。
その声は静かで冷静だが、空気が僅かに緊張を帯びる。
「Figmaファイル11件、翻訳なし。
WCAG 2.2+ローカル法規対応。
API再設計含む。
期限……2週間」
「―――は?」
机に置かれたモニターの向こうから、誰かが絶句する。
すぐさまブランチ統制の枝分木造がノートPCを開いて接続を確認。
フルスタックエンジニアの納戸納男も、無言のまま画面をのぞき込んだ。
早刷が椅子の背にぐったりと体を預ける。
「…………ッざけんなよッ!」
最初に怒声を上げたのは、フロントエンド担当、画面太志だった。
フロントエンド界隈で知らぬ者はいない――わけではないが、一部界隈で“タブブラウザの暴走王”と呼ばれる男。
反骨心と合理性を併せ持ち、プロトタイプの爆速構築に定評がある。
Figmaファイルを開いた直後、彼は勢いよく椅子を蹴り、ディスプレイを指差した。
「ふざっけんなよ!こんな奴が俺らの相手かヨォ?
スクロールするたびにGIFが発火して、フォーム切り替えでサウンド再生して、しかも“自然なアニメーション”を求めるって、どこのPixarだよ!」
彼は指を折りながら仕様の狂気を並べた。
「ライトモード3系統、ダークモード2系統、ユーザー感情による色相自動変化、フェード速度“個別指定”って何だよ!
しかも全対応言語で翻訳済みにしろだ?
なめてんのか!」
その怒りは一部滑稽ですらあったが、プロジェクトメンバー全員が、それを「笑えない」と感じていた。
画面太志の爆発=本当にヤバい案件という証左だったからだ。
「こっちにあるガイドライン、PDFで250ページあるな」
無言でリンクを共有したのは、設計裕。
腕を組みながら、彼はタブレットのページを淡々とめくっていく。
「構成、矛盾してる。
セクション1で“シンプルさ重視”って言ってるくせに、セクション3で“エフェクトで感情を伝えるUIへ”って書いてる。
明らかに“爆弾”だな」
ページの一枚をスクロールし終えて、彼は眼鏡を押し上げた。
「たっぷり引き伸ばしやがって。
だが、俺らにハッタリは効かない。
じっくりと拝ませてもらおうか――このUXの“本当の目的”をな」
空気が静まり返る。
だが、その静けさを破るように、枝分がぽつりと呟いた。
「やっぱり、バイナリしか来てないわ。
しかも……これ」
彼は自身のPCを回して皆に見せる。
「あの……あの、納戸納蔵のコードにべったり依存してるっぽい。
初期コアを喰って動いてるって感じ。
だけど、ソースコードそのものは来てない」
しばしの沈黙。
「バイナリだけ来たって、親父さんのソースじゃなきゃどうしようもないだろ?」
納男はゆっくりと目を伏せる。
父・納蔵のコード、それは強力だが、すでに“触れてはいけない領域”とされているレガシーだった。
「どうすんのよ……これじゃあQA通すのも不可能に近いわ」
新たな声。
眼鏡の奥から冷めた視線を向けたのは、虫生正義。
地味な格好に眼鏡をかけ、卓上にはバグトラッキングシートが広がっている。
虫が好物、という意味ではなく、バグを追うことが趣味であり生きがいでもある異端のQA担当だ。
クセのある口調とは裏腹に、彼のバグハント能力は社内でも一目置かれている。
「未検証UIに、未解明モジュール、非再現バグにクラッシュ連打。
テスト環境?ナニソレ。
クラッシュ祭り開催だわね、こりゃ」
だが、誰も彼の言葉を冗談と受け取らなかった。
それほどに、この依頼は“地獄”だった。
――にもかかわらず、誰も席を立たない。
それはつまり、彼ら全員が無言のうちに腹を括っていた証だった。
“納期”は、もうすでに走り出している。
そして《能木デッドラインズ》は――またしても、そのギリギリに立たされたのだった。
「──間に合わねぇぞ、このままじゃ」
その言葉が早刷の口から出たのは、午前2時を回った頃だった。
ついに徹夜戦に突入した能木デッドラインズのメンバー。
だが、誰も手を止めない。
止めれば終わる。
だから止まらない。
画面太志のデスクでは、ディスプレイが4枚、左右上下に配置されていた。
一枚にはFigma、一枚にはコンポーネント一覧、もう一枚には直接コードを書いているエディタ、最後の一枚には──深夜アニメの実況タイムライン。
「気を抜くと死ぬからな……こういうのは“情報の対流”が大事なんだよ」
誰に言うでもなくそう言いながら、彼はキーボードを滑らせるように叩く。
そうして、UX改訂仕様を満たした“動くプロトタイプ”を3つ作り上げていた。
「……これを“仮”って言うやつ、正気じゃねぇぞ……」
吐き捨てるように笑った太志の指先は、すでに次のモックを描き始めていた。
一方、別のデスク。
虫生正義は黙々とバグを洗い出していた。
「やっぱ、出たわね……このクラッシュ」
虫生が開いたログには、エラーコードの羅列が無数に走る。
だが、彼は嬉しそうだった。
「再現、7パターン目で引いたわ…
…っしゃ、これで踏み台が確定する」
未明の時間に淡々とクラッシュを再現し、潰していくその姿は、まさに“歩くデバッグ・プロセス”。
バグに愛され、バグを愛した男。
その執念がようやく火を噴き始める。
それでも、全体の進捗はまだ危機的だった。
「……処理重いな、やっぱり」
そう呟いた設計裕が睨んでいたのは、リファクタ後のメインロジックだ。
海外ベンダーの仕様に合わせた結果、内部構造が異様に肥大化していた。
「このままじゃレスポンスタイムが2秒超える……
許容範囲を平気で踏み越えてくるな、あいつら」
彼はゆっくりと、先方から届いた一つの端末ログを呼び出す。
「……あいつ、あの端末で“わざと”遅延を起こさせてる」
表示されたのは、海外本社のUX責任者・クラークのアクセスログ。
深夜に数十回ものログインとログアウトを繰り返している。
…それぞれ異なるネットワーク環境から。
「モンスターなのはシステムじゃなく、クラークなのか?」
設計裕が、天井を見上げながら小さく呟いた。
──仕様の不条理。
──外圧の横暴。
──見えない敵との戦い。
それらがジリジリと、《能木デッドラインズ》のメンバーを削っていく。
その最前線で、枝分は静かに狂気を纏い始めていた。
「こいつ、たぶん……“親父さんのコード”にドンピシャなシグネチャ仕込んでる」
納男の背後で呟く彼の目は、完全に“向こう側”を見ている。
枝分は、納戸納蔵の古いアーカイブを呼び起こしながら、暗号のような処理を次々と読み解いていた。
「トリガーが3つ、うち2つは引いてる。
ラスト1つが揃えば、自動的に“例の処理”が動く……
…つまり、あのコードはまだ“生きてる”」
つまりそれは、
納戸納蔵が意図的に後継者のために仕込んでおいた「起動スイッチ」が存在するということだった。
だが、それを引くには、すべてを捨てる覚悟が要る。
進捗管理表では、納期まで残り6日。
全体の完成度、わずか42%。
開発は、すでに崩壊寸前だった。
しかし、その中で誰もまだ諦めていない。
このチームには、もう一つ“起爆装置”が残っていたからだ。
深夜3時35分。
「……しょうがねぇ、アレやるか」
納男がぼそりと呟いた瞬間、空気がわずかに震えた。
《能木デッドラインズ》が持つ最後の切り札。
それは、納戸納男が“父の意思”を継ぐ決断とともに解き放たれようとしていた。