第7話「納期屋のプライド」
翌朝10時。
Slackに納男の短い投稿が表示された。
「今日の定例会、予定通り俺が出ます。
開発側の状況と、仕様に関する考えを伝えたいと思っています」
たったそれだけの文面だったが、すぐにチーム内のDMが飛び交い始めた。
「おいおいマジかよ、納男……」
枝分木造は、Slackの通知を見て額を押さえた。
「クライアント定例って、あの無茶と理不尽沢でしょ?
あいつら、理屈よりテンションで話すタイプだよ?」
虫生正義もSlackを眺めながら、深いため息をついた。
「“言ってもムダ”な相手に、正論ぶつけに行くって……。
疲れてんのかしら、納男。
アタシらみたいに、“聞こえないフリ”してもよかったのに」
「やばいって。下手に正面から行ったら、“理解できない奴”扱いされる」
画面太志も、手を止めて言った。
「でも、言いたくなる気持ちはわかるな……最近のあれ、見てたらさ」
その「最近のあれ」は、もはや毎日恒例となっていた無茶と理不尽沢の“要求ツインターボ”だった。
「この部分、“最近のAIプロダクト”っぽさが足りないね」
「ユーザーが飽きるんだよ、“普通”なUIって。もっと斬新な提案ないの?」
Figmaで何度も合意された画面設計が、「なんとなく」で覆される。
APIの仕様も、“雰囲気的に違う”という理由でロールバック。
環境構成にいたっては、先週Azureで確定していたはずが、「やっぱAWSの方が信頼感ある」で再構成。
「……今朝、俺のCI/CD、3回落ちた」
電脳充がボソッとつぶやいた。
「昨日変えたTerraformのモジュールが、もう使えないって……。
せめて一週間だけ、黙っててくれないかなって感じ」
「それ、Slackに投げていい?
“今週の電脳ちゃん名言”ってスレ作ろうかな」
画面が冗談を言いかけたが、すぐにやめた。
誰の目も笑っていなかったからだ。
設計裕も、Slackの納男のメッセージを見つめたまま、背筋を伸ばした。
「……おかしくない。
ここまでチーム全体が迷走してるのに、誰も“止めよう”としてこなかった。
納男の決断は、正しい。ただ、心配だ」
「フルスロットルで対決するってことは、オーバーステアを喰らう可能性もあるってことよ」
虫生がぼそりと呟く。
「でも、納男はきっと“接触戦をしない”。
そういう子でしょ。
自分だけ傷ついて、黙って帰ってくるわ」
午後。
オフィスの端で、納男が画面に何かを書き込みながら、静かにメンバーを見渡していた。
「……みなさん、さっきのSlackの件ですが、
本当は、もっと早くに誰かが言うべきだったことを、僕が言おうとしてるだけです」
「あの、納男くんさ」
枝分が、少し苛立ち混じりに返した。
「納男くんがそういうの、背負う必要ないんだって。
誰かがって言うけど、それってつまり、納男くんが傷つく前提だろ」
「……枝分さん」
「俺ら、誰かがクラッシュするの見て“俺じゃなくてよ良かった”って思うようなチームじゃない。
なのに、納男くんが一人で行くって言ったら、俺ら何にも言えなくなる」
そのとき、早刷太郎が口を開いた。
「止める権利は、俺にもある。
でも、止められない。
なぜなら……“今まで誰も止めてこなかったこと”のツケを、納男が払おうとしてるからだ」
「……払っても、相手は受け取らないよ」
電脳が静かに言った。
「理不尽沢に正論ぶつけても、“仕様に口を出す技術者”ってラベリングされて終わり。
そのあと一番キツくなるの、納男自身だよ」
だが納男は、小さく、でもはっきりと頷いた。
「それでも、“聞こえるふりをしている人たち”に、本当の声を届けてみたいんです。
その結果どうなっても、自分の言葉で向き合ったという事実は、きっとチームを守ると思うから」
その言葉に、誰もそれ以上は言えなかった。
深夜、Slackには誰もいない。
だが納男の端末の前で、ひとつのメモが開かれていた。
「無理に届かせようとは思わない。
ただ、“届く可能性がゼロではない”なら、試してみる価値はある」
メモのすみには、理不尽沢と無茶振男の名前の下に、大きく太字でこう書かれていた。
【仕様凍結要求(最低限の合意点)】
・UI設計を一時確定とする
・インフラ変更を最小限に抑える
・以降の仕様追加は議論後に実装開始
その横に、彼は小さく書き足す。
「“納期を守る”は、対決しないとできない……
そして翌日。
定例ミーティングのZoom会議室には、いつものアイコンが並んでいた。
だが、今回はいつもと違った。
画面の右下、“開発担当:納戸 納男”という名札が静かに光っていた。
「やあやあ、納戸くん、よろしくね。」
無茶振男が軽快に手を振る。
「本日、開発チームを代表して参加させていただきます」
納男は丁寧に頭を下げた。
「代表、ねえ……そんな立場だったっけ?」
理不尽沢剛志が、カメラ越しに薄く笑った。
納男の表情は変わらない。
「いえ、チームには優れた先輩方がたくさんいます。
本日はその方々の努力と苦悩を、少しでも正しくお伝えしたく、出席させていただいております」
理不尽沢の笑みがほんの少しだけ濃くなった。
「ふーん。“努力と苦悩”ね。
まるでこちらが“苦しめてる”みたいな言い方じゃない?」
「苦しめている、とは言いません。
ただ、状況として、開発チームは今、極めて不安定な立場にあります」
「不安定ねえ。僕たちは“変化に強いチーム”を目指しているだけなんだけど」
「仰るとおりです。ただ、“強さ”とは“変化にすぐ適応すること”だけではなく、“どこまでなら受け入れられるか”という限界を把握し、管理することでもあると思います」
理不尽沢はカメラ越しに首を傾げた。
「じゃあ君の言いたい“限界”って、どこ?」
納男は一枚の資料を画面共有に出す。
『現状の問題点整理(開発視点)』
・直近7日間でのUI仕様変更回数:4回
・インフラ構成の全撤回:2回
・Figmaの最終案:未確定(“final仮”含む)
・CI/CD環境:日毎にビルド対象変更、安定稼働率47%
「この数字が、“現場が支えられている限界ギリギリ”の証明です」
無茶振男が笑いながら口を挟む。
「いや〜、でもさ?
開発って、そういうもんじゃない?
“ユーザーが求めるもの”を追いかけるって意味で言えば、むしろ健全だと思うけどな〜?」
納男はすっと視線を向けた。
「おっしゃる通りです。
ですが、“追いかけ続けた結果、何も届けられなかった”では意味がありません」
「それって、君たちが遅れてるって話じゃなくて?」
ここで理不尽沢が冷たく切り込む。
「僕ら、別に“納期守れないなら解散”とは言ってないよ。
ただ、“本当にいいものを作ろう”って話をしてるだけ。
そこに、“現場の都合”を持ち込まれても、ね?」
納男は息を静かに整えた。
「現場の都合ではなく、“プロジェクト全体の土台”の話をしています。
土台が揺らげば、最終的にお客様が望む成果も届きません」
理不尽沢は、わずかに笑ったまま、少し前のめりになる。
「じゃあ君に聞こう。
“妥協したプロダクト”でもいいから、納期を守るべきだと思ってる?」
「いいえ、“納期に間に合わせたうえで、品質も担保する”ために、何を削り、何を残すかを、今この場で合意する必要があると申し上げています。」
「“納期を守りたい”? 君、そんな当たり前のことを“武器”にしてくるんだ。
いいよ、面白い。
君が“何を切るか”を自分で決めて提案してきてよ。
……その責任を、全部背負えるならね」
納男はモニターの前で、目を逸らさなかった。
でもその背中は、今にも崩れそうなほど細く見えた。
画面がフェードアウトする直前、
無茶振男が陽気な調子で最後に付け加えた。
「ま、納期までに“面白いもの”ができてれば、それでOKだから〜♪」
会議は終わった。
納男が会議室から戻ったのは、予定よりも30分以上遅れてだった。
Slackにも何も投稿せず、彼はただ静かに席に着いた。
「……どうだった?」
早刷がそっと尋ねると、納男は少し間をおいて首を振った。
「伝えることは、全部言いました。でも、向こうは“方向性としては理解した”としか……」
「つまり、“何も変わらない”ってことね」
虫生が、いつもより低い声で返した。
「むしろ“提案を歓迎するから、次は具体案を持ってこい”って……」
納男の言葉に、枝分が頭を抱えた。
「“もっと働け”って言い方変えただけじゃん、それ」
電脳は苦笑いのようなため息を漏らし、ログ監視ツールに視線を戻す。
「さっきまたインフラの再調整依頼来てた。
“DockerやめてECSに”って……一体何周目だよ」
画面は何も言わずにFigmaを開いたが、手が止まったままだった。
彼のモニターには「v7_final確定案」というファイル名がむなしく点滅していた。
設計裕は静かに呟いた。
「結局、“相手を変える”のは無理だったってことか……」
だが、納男はゆっくりと立ち上がった。
「無理じゃないです。ただ、“時間がかかる”というだけです。
……だから俺は、まだ諦めません」
その声に、誰かが反応するわけではなかった。
だが、誰も否定もしなかった。