ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

イノウーの選択 (10) 終わらない要求

»

 ずっと後で、浅海さんから最終面接の話を教えてもらった。尾日向さんは、役員面接でも、好青年ぶりを遺憾なく発揮した。一次面接のとき以上に。中野さんはプロフェッショナルらしく、冷静な受け答えをしたが、面接者に与えたインパクトとしては、残念ながら尾日向さんに及ばなかったそうだ。面接は同じ日に行われ、浅海さんは中野さんの順番を後にして、より強い印象が残るように画策してくれたのだが、それがどれだけの効果があったのかは不明だ。
 大竹社長が役員面接に臨席していれば、あるいは異なる結果になったかもしれないが、あいにくエースシステムの東南アジア拠点設立計画のための視察に同行していて、帰国は来月の予定だった。
 いずれにせよ、最終面接の翌日、茅森課長はぼくとマリを呼んで、尾日向さんに内定の連絡をした、と結果を告げた。ぼくもマリも予想していたことだったので、大きな驚きはなかったが、残念に感じたことは確かだ。
 「それで入社はいつ頃になりそうなんですか?」
 「今、やっている業務がまだ途中、ということで、早くて9 月、たぶん10 月ということだった。正式な入社日はこれから調整するんだが、まあ、きりがいいところで下期からということになるだろうな」
 ぼくはカレンダーを確認した。今日が7 月第3 週。あと二ヶ月と少しだ。
 「準備をしないとですね」
 「そうだが」茅森課長は宙に目を据えた。「システム開発室は、デスクも余ってるから、特別に何かが必要なわけではないだろうな。PC なんかは直前でいいし。君たちは、業務の割り振りでも考えておいてくれればいいよ」
 システム開発室に戻ると、マリが残念そうな顔で言った。
 「やっぱり中野さんはダメでしたね。良さそうな人だと思ったんですけど」
 「尾日向さんも別に悪い人ではないよ」
 「あたしは直接会ってないですからね。ボスを信じることにします。ま、とにかく、これで採用活動も一段落ってことっすね」
 ぼくは頷いた。結局、思ったより時間を取られないですんだ。夏目さんに話をしてから、約二ヶ月で一名の採用が決定したのだから。あとやらなければならないことが一つ残っているだけだ。
 午後、ぼくはそれを片付けた。木名瀬さんにビデオ通話をかけて、採用が決定したことを連絡したのだ。候補者が3 名に絞られた時点で、一度連絡はしていたが、木名瀬さんは残念そうな顔をした。
 『こちらからの紹介が遅れて申し訳ないです。あてにしていたエンジニアが、海外に行ってしまって、ちょっと連絡が取れなかったんです。先日、やっと帰国して交渉を始めたばかりでした』
 「そうでしたか。また別の機会があればお願いします」
 マリが代われ、と合図したので、ぼくはマリを会議に参加させて、自分は抜けた。これで本当に採用活動に関する諸々は終わりだ。あとは10 月が近付いたら、また考えればいいだろう。しばらくは、本業に専念できる。
 その思い込みが、見事に崩れ去ったのは、翌週のことだった。
 例によってノックもせずにシステム開発室に入ってきた夏目さんは、当然のような顔で管理者席に腰を下ろした。茅森課長は不在だったが、もし在室だったとしても押しのけて座ったかもしれない。
 「HOUSEPROG だけどね」夏目さんは、エースホームの紹介管理システムのことを口にした。「やっとテストが終わったと連絡があったわ。データ移行中で、来月から切り替えるそうよ」
 この人が持ち込んできた厄介なHOUSEPROG は、ぼくとシノッチの工数を、予想よりも遙かに大量に消費した挙げ句、先月末にエースホームに納品されていた。言語やフレームワークの指定はなかったので、SpringBoot で作成した。フロント部分はマリに任せることも考えたが、今後は先方でメンテナンスしていきたいという意向があったので、React 等は使わず、シンプルなVanilla JavaScript とBootStrap だけで構築した。納品物はGradle のjar タスクで作成したjar ファイル一つと、サンプルデータベースのdmp ファイル一つだ。
 納品直後は一日に数回以上の頻度で問い合わせと、改善要求の連絡があったが、日数の経過とともにその頻度は減少していき、今ではほとんどなくなっていた。最終的には、エースホーム社内のLinux サーバにインストールされる予定だと聞いていたので、環境構築の点での問い合わせを覚悟していたが、案に相違してそれはなかった。夏目さんの話では、そのあたりは生成AI に任せたらしい。素晴らしい時代になったものだ。
 「とても使いやすくなったと担当者が喜んでたわ」
 それを言うためだけに、わざわざ多忙な身体を運んでくるはずもない。ぼくは警戒態勢を解かずに答えた。
 「それはよかったです。ぜひその賞賛をうちの課長に伝えて、来期の給与に反映してもらえると助かります」
 「もう伝えてあるわよ。で、別件なんだけど......」
 やっぱり。ぼくは相手の言葉を遮った。
 「今、とても多忙で、新しい案件を割り込ませる余裕はないんです」
 「失礼ね。そういう話じゃないのよ」
 ぼくは小さく頭を下げて続きを待った。
 「開発メンバーの採用は無事に終わったそうね」
 「ええ、まあ」
 「それで相談なんだけど、もう一人、メンバーを追加してほしいのよ」
 とっさに意味がわからず、ぼくは夏目さんの顔を凝視した。夏目さんはぼくの反応を楽しむようにニヤニヤしている。
 「どういうことですか?」ぼくは訊いた。「人事からは、一名の採用の予算を確保した、と聞いています。一名です。二名ではなくて......」
 言葉を切ったのは、もしかすると、ぼくとマリが中野さんを推していたことをどこからか聞き及んで、採用枠を増やすように動いてくれたのか、と考えたからだ。サービス会社に不採用を通知してから間がないので、まだ中野さんの転職活動が続いている可能性は高い。うちが第一志望だと言ってくれていたので、声をかければ、応じてくれるかもしれない。
 だが、夏目さんの意図は全く別のところにあった。
 「実はエースシステムでも、やっとDX を推進していくことになってね。正式な部門の発足は来年度になるんだけど、それに先んじて人材を養成しなければならないわけ」
 「そうですか」話の終着点が見えてきた。「それは大変ですね。では、忙しいのでそろそろ......」
 「それで」ぼくの妨害など意にも介さず夏目さんは続けた。「エースシステムと関係のある企業で、DX 部門のあるところに社員を送り込んで修行させよう、という話になって」
 ぼくはため息をついた。
 「うちが手を挙げたわけですね」
 「そういうこと。悪い話じゃないでしょう」
 「とてもそうは思えませんが」
 「いい話じゃない」夏目さんは指を広げると、親指を畳んだ。「まず、面倒な採用プロセスを経ることなく、システム開発室の戦力を増強できる。二つ目、給与を支払う必要がない。三つ目、エースシステムから研修費用としてかなりの額が支払われる。四つ目、エースシステムに恩を売れる」
 「戦力と言ったって」ぼくは反論した。「あのエースシステムの社員ですよね。一行のコードも書いたことのない人が、どうやってうちの戦力になるんですか」
 まだ顔も名前も知らないエースシステムの社員が、このシステム開発室に座っている光景を想像して、ぼくは身震いした。ぼくやマリが何か作業を頼んでも「やったことないので」と拒否されるか、「なんで俺(私)がそんな下流工程で手を汚さなきゃならないのか」と怒り出すか、AI にでも書かせたコードをチェックもせずに出してくるか、そのどれかに決まっている。
 「ああ、その点は心配いらないわよ」夏目さんはぼくの懸念を笑い飛ばした。「ちゃんとプログラミングの研修をいくつか受けてくるそうだから」
 「研修と実業務は......」
 違う、と主張しようとしたとき、ドアが開いて茅森課長が入ってきた。夏目さんが自席に座っているのを見ても驚いた様子を見せない。
 「もう話しましたか?」
 茅森課長の問いに、夏目さんは頷き、顔をしかめてみせた。
 「したんだけど、イノウーはどうやら反対のようでして」
 「何をゴネてるんだ」茅森課長はぼくをにらみつけた。「もう決定したことだ。ゴチャゴチャ言わずに受入準備をしてくれ。これは業務命令だ」
 「そういうことよ」夏目さんは立ち上がると、ニヤッと笑った。「じゃ、受入準備よろしくね。言うまでもないけど失礼のないようにね」
 夏目さんが出て行った後、諦めたぼくは茅森課長に訊いた。
 「いつから来るんですか」
 「10 月だよ。尾日向さんと同時になるな」
 「いつまでの予定ですか」
 「今のところ、今年度いっぱい。つまり半年だな。状況によっては延長されるかもしれん」
 「具体的に何をすればいいんですか」ぼくはため息をこらえながら訊いた。「何をさせれば、と言うべきかもしれませんが」
 「イノウーが普段やってることをやらせればいいんじゃないか?」茅森課長は他人事のように言った。「そういう仕事を覚えてもらうのが目的なんだからな」
 「つまりプログラミング?」
 「そうなるな」
 半年程度で、実装経験ゼロの人間を、プログラマとして独り立ちさせるまで持って行くのは相当困難な仕事のような気がする。ましてや、これまで真逆の立場で仕事をしてきたエースシステム社員だ。業務命令とはいえ、意識を切り替えることができるものだろうか。
 「どんな人なんですか?」
 「さあな」茅森課長は首をかしげた。「詳しい情報は聞いてない。もっと近くなったら夏目さん経由で下りてくるんだと思うがな」
 「あまりギリギリだと困るので......」
 「ああ、わかったよ」茅森課長はうるさそうに遮った。「それで別件で相談があるんだがね」
 ため息がもれそうになる。今日は退社するまでに、いくつ別件の話を聞くことになるんだろう。
 「なんですか」
 「生成AI の話だ。イノウーも面接のとき話してただろう」
 「はあ」意外な話題にぼくは驚いた。「それが何か?」
 「昨今のAI 事情を鑑みて、うちでもそろそろ本格的に活用をしていかなければならん、という話が部課長定例で出てな。パートナー企業の方にも展開したいが、無制限に使わせるわけにもいかんからな。まず、ガイドラインを作ろう、ということになった」
 「いいことですね」茅森課長が持ってきた話の中では、珍しくプラス思考のカテゴリーに属する。「遅すぎたぐらいです」
 「そうだな。じゃあ、任せていいな」
 「何を?」
 「ガイドライン作成だよ。決まってるだろう」
 「ちょちょちょ」ぼくは焦ってどもった。「ちょっと待ってください。うちで作るんですか?」
 「そりゃそうだろう。うちの会社で一番活用してるのはシステム開発室だからな」
 「......こういうのって、総務とか人事あたりで決めるものじゃないんですか」
 「誰も手を挙げないんだよ」茅森課長は声を潜めた。「ほら、例の戸室課長がやらかした一件があるからな」
 戸室課長が「やらかした一件」というのは、およそ1 年前に発生した生成AI がらみの騒ぎのことだ。人事課課長として、目立った実績を上げることができていなかった戸室課長が、起死回生の手段としてぶち上げたのが、JINKYU に代わる人事・給与システムの導入だった。
 JINKYU は歴史も古く、日々、メンテナンスを行っているぼくやマリでさえ、全貌が把握できないスパゲッティシステムだ。増築に増築を重ねてきた木造家屋のように不安定で、何かの拍子にガラガラと崩壊しても不思議ではなかった。このレガシーシステムをリニューアルすること自体は、それほど悪い考えではない。
 ただ、問題だったのは、人事課も経理課も、JINKYU をベースにした業務サイクルが定着しているため、JINKYU が持つ大小様々な機能を「何ひとつ欠けることなく」移行させることを強く希望したことだ。
 業務システムのリニューアルで、要件定義の担当者が最初にぶつかるのが、大抵この壁だ。「どういう機能が必要か?」と訊いても、「今と同じ機能」としか回答されてこないことはよくある。JINKYU には、すでに使用されていないような機能まで含めると、400 以上の画面やらレポートやら設定やらが雑多に詰め込まれている。それらを残らず分析し、設計に落とし込むのは相当な工数を要すると予想された。実際、RFP を与えられたベンダーは、8 桁の構築費用と、7 か月から10 か月の構築期間の見積を出してきた。
 この高額な見積は、当然のように却下された。JINKYU は現在でも支障なく動いている。ただでさえ全社を挙げてコスト抑制を進めている今、それだけの費用をかけるだけの価値があるのか、という至極まっとうな理由からだった。
 稟議を突き返された戸室課長は青くなった......かどうかは知らないが、しかし、そのまま断念しようとはしなかった。どうにかコストを半分以下にできないか、と悩んだ戸室課長は丹念に見積の詳細を精査した。そして工数の32% が、要件定義およびシステム設計フェーズであることを発見したのだった。そこから、生成AI に要件定義をやらせればいいのではないか、という考えにたどり着くまで、長い時間を要さなかった。
 戸室課長はそれを実行した。まず、PoC の名目で、あるクラウドサービスのアカウントに会社名義のクレジットカードを登録した。どのサービスだったのかわからない。ただ、戸室課長としては、継続的に使用するのではなく、要件定義だけをやらせるつもりだったのだろうから、月額制ではなく、従量課金制にしたのだろうということは予想できる。
 おそらく戸室課長は、RFP を読み込ませれば、一連の要件定義書が出てくる、と簡単に考えすぎていたのではないだろうか。そして生成AI がトークン、という単位で入力されたデータを読み、トークンの消費量が、コストとアウトプットに直結する、ということを、知らなかったのか軽視していたのではないかと思う。
 RFP を読み込ませる。それだけではたいした結果が出ない。不満に感じた戸室課長は、JINKYU の全ソース、過去の改修履歴などを手当たり次第に投入する。フルコンテキストを何度も何度も繰り返し、高性能だが高価なモデルを惜しげもなく選択して......ぼくが想像するのは、こんな場面だ。実際に何があったのかを知っているのは、社内でも数人の社員に限定されている。
 誰もが知っているのは結果だけだ。戸室課長が該当のサービスに費やした時間は18 日以上。最終的に請求されたのは、15339 ドル 21 セント。得られたのは300 ページのPDF ファイル。
 成果物のクオリティが素晴らしいものであったなら、それだけのコストを費やしたことも、ある程度は正当化されたのかもしれない。だが、出所を明かされずに、そのPDF ファイルを見た人事課と経理課の社員たちは、その大部分に否定的な意見を連発した。頼んだベンダーの担当者の理解が足らず......そんな、その場しのぎの言い訳が通用するはずもなく、やがて事の真相を知った役員のお達しで、JINKYU のリニューアル自体が中止に追い込まれた。
 これだけの失策を犯しながら、戸室課長が人事課課長の職位を失わずにすんだのは大きな謎だ。もちろん無傷ではなく、等級がいくつか下がったのだが、課長職にギリギリとどまれる程度の降格でしかなかったのだ。人事課というのは、一般社員では知り得ないような人事情報が集まるので、戸室課長がそれを利用して何か裏工作したのではないか、というのがもっぱらの噂だ。
 もし戸室課長が功績の独占を狙うのではなく、人事課、経理課の担当者を参加させ、トークンに関する正しい知識の元で、効率的に生成AI を使っていたら、もっと少ないコストで、JINKYU リニューアル構築に耐えるだけの成果物を得られていたかもしれない。それは輝かしい成功例として記憶されるものとなり、社内の生成AI 利用にも一気に弾みがついたことだろう。もちろん、システム開発室もその恩恵に与れたはずだ。そう考えると、実にもったいない。
 「そのやらかした一件のせいで」ぼくは訊いた。「生成AI については否定的な空気になってたはずですけど、何かあったんですか」
 茅森課長は少し躊躇っていたが、やがて肩をすくめた。
 「まあ、いずれわかることだろうから言ってもいいか。実はエースシステムからのお達しなんだ。向こうも、ようやく本格的に活用の方向に進むらしくてな」
 ぼくの知る限り、エースシステムは生成AI を開発に取り入れることには慎重な姿勢を取っていたはずだ。生成AI の話題がトピックに上がってこない日がないぐらいになって、ようやく重い腰を上げたということだろう。慎重さも度を越せば、逆に弊害となりかねない。
 「......つまり、うちに実験台になれって言ってるわけですね」
 「そういう考え方はいかんぞ。もっと前向きに考えればいいじゃないか。これまで利用に関してはグレーゾーンだったのが、大手を振って試せるんだからな。ほら、尾日向さんは、AI に興味があってやってみたい、と言っていただろう。イノウーは忙しいだろうから、やらせてみたらどうだ」
 ぼくの業務量の心配など茅森課長がするはずもない。要するに、自分たちが採用を強力にプッシュした尾日向さんに、早急に成果を出させたいのだろう。それも、社内の注目を浴びるような華々しい成果を。
 こうしてぼくのタスクリストに、新たな――そして厄介な――タスクが追加されることになった。

 (続)

Comment(2)

コメント

匿名

課長の決裁権限で250万円はまずないので苦笑
まあ強烈なやらかしですよね

匿名

15,339ドルは中々ヤバい

コメントを投稿する