イノウーの選択 (2) 足りない人員、減らないタスク
人は増えないのに、やることだけは増えていく。コロナ禍が収束してからのシステム開発室の状態を簡潔に説明しろと言われたら、ぼくはそう答える。
JINKYU リニューアルが一段落した後、社内の各部署から、少しずつ開発依頼が舞い込むようになった。たいていは、Excel マクロやAccess で作られた業務ツールで、作成者が異動や退職でメンテナンスできなくなったため、Web アプリケーションに置き換えてもらいたい、という依頼だ。
その手のツールのWeb 化は、それほど大変ではなかった。ぼくかマリのどちらかが、担当者にヒアリングして、本当に必要な機能だけを絞り込めばいい。うちはIT 企業を名乗ってはいるが、実装に携わっていない人がほとんどなので、システム開発室主導で進められるからだ。Enter キーで項目を移動させて欲しい、といった類の要望も一定数上がってくるが、Web アプリケーションの場合はTab キーがデフォルトだ、と説明すれば引き下がってくれる。
厄介なのは、中途半端に知識がある社員の場合だ。この日に連絡してきたのは営業四課の社員だった。自作したクライアント管理ツールが動かなくなったので見てほしい、という依頼だ。HOUSEPROG の調査に多忙だったぼくが、とりあえず現物を送ってくれ、と伝えると困ったような返事があった。
「いや、Web のツールなんですよね」
「Web?」そんなツールがあったかな、と思いながら、ぼくは答えた。「じゃあ、URL を送ってください」
「それがですね、共有フォルダからダブルクリックで開くやつで。うちの課しかアクセス権限ないんで」
「......」
見に来い、というわけだ。
その子なら一個下の後輩だ、というので、マリに見に行ってもらった。1 時間後に戻ってきたマリは、呆れたように数枚のプリントアウトをデスクの上に並べた。
「要するに見込みクライアントを、いろんな条件で絞り込むページなんですけど」プライベートではタメ口、会社では敬語、と器用に使い分けているマリは説明した。「DB とか使ってるわけじゃなくて、JavaScript の仮想配列に20000 件ぐらいのデータを持ってて、それを全件なめて抽出してるんです。毎月、データは増えてくんですけど、それを手作業で追加してるんですよ」
動かなくなった、というのも、単に仮想配列に追加する際に、要素の一つにシングルクォーテーションを付け忘れた、というだけだったようだ。F12 キーを押してコンソールを見れば、エラーが出ていたはずだが、それすらしていなかった。
「OUT OF MEMORY にならないのかな、これ」
「たまになってたみたいです。タブを30 個開くとか、平気でやってますからね。ブラウザ閉じても直らないから、PC 再起動してたらしいです」
せめてタスクマネージャーを開いて、プロセスを確認するぐらいしてほしいものだ。
「で、こっちに作り直せというわけか」
「最初は、こっそりCopilot くんにやらせようとしたみたいですよ」マリは時間を確認しながら答えた。「でも、余計に事態を悪化させたみたいで」
「ありそうな話だ」
どうせ「これをWeb で動くようにして」とか、その程度の指示しかしなかったのだろう。
「必要なのは絞り込み検索と」ぼくはプリントアウトを見ながら言った。「見込みクライアントデータのメンテナンス画面。あとは権限とかそのあたりの画面か」
「あ、経理システムの会社データ......」マリは考えながら言いかけたが、すぐに断念したように首を横に振った。「......は使えないっすね。これは見込みクライアントだから。取引のない会社は登録されてないですからね」
「だね。これ、緊急度は高くないよね。今、動いてるものはあるんだから」
「営業は早めに作ってほしいって言ってましたけど」
そりゃ、そう言うだろう。ぼくはタスク表を開いて、どのあたりに入れるかを考えようとしたが、その途端に、Teams からお呼びがかかった。予定にはないビデオ会議の呼び出しだ。相手はぼくとマリの元上司である斉木さんだった。事前に、これから通話していいかの確認もなしに、いきなり通話してくるのはこの人ぐらいだ。
「はい」
『イノウーちゃん、忙しいところ悪いんだけど、ちょっと相談に乗ってもらっていいかな』
いけない、と答えても引き下がる相手ではないことは、短くない付き合いでわかっている。
「なんでしょう」
『うちで使ってるアワトラなんだけどさ、そろそろWeb にリニューアルしたいんだよね』
アワトラは、正式名を「協力会社稼働時間追跡システム」というAccess で作成されたシステムだ。ファイル名がhours_tracking.mdb なので、「アワトラ」という通称名でマネジメント部内で使用されている。拡張子でわかるとおり、ゼロ年代の初めに作成されたらしい。作成者は茅森課長だ。構成はともかく、20 年以上運用されていることから見ても、中身はしっかり作られているようだ。
『少し先の話なんだけど、新しいクライアント先での新業務が開始されるんだよね』斉木さんは説明した。『銀行関連の会社で、セキュリティがやたらに厳しいところでね。アワトラの持ち込みは不可で、先方の勤怠システムからエクスポートしたCSV ファイルだけ、暗号化した上で送信可なんだわ、これが』
ぼくも入社当時、短期間だが、アワトラを触ったことがある。その記憶を遠い霧の彼方から掘り起こすのに少し時間がかかった。アワトラの機能の一つに協力会社の稼働時間を記録するというものがある。よく知らないが、監査で使うことが、たまにあるためらしい。mdb ファイルを先方の環境に置いて入力してもらい、定期的にファイルごと受け取り、マーズ側のアワトラにインポートするのが通常の運用だ。今回のように、それがかなわない場合は、個別にインポート機能を追加することになる。
「茅森課長に頼めばいいんじゃないですか?」
『まあ、そうなんだけどね』斉木さんはため息をついた。『ただ、茅森さんも忙しいらしくてさ。ほら、そっちと兼務じゃない。だから、着手が早くても来月になるって言われちゃってね。困ったもんだよね』
同意を求められても困る。ぼくは「はあ」とだけ答えた。
『それに、IT システム課からも言われてるんだけど、いまどきAccess ファイルをやりとりするってのも、いろいろ弊害があるじゃない。そろそろWeb システムにリニューアルすべきじゃないか、って部長から言われてね』
「その話、茅森課長は知ってるんですか?」
『いや、まだ話してないけど。なんで?』
ぼくのAccess の知識は、おそらく茅森課長のそれより大きく下回る。Web アプリケーションとして作り直すにしても、茅森課長の協力が不可欠となるだろう。ぼくがそう説明すると、斉木さんは困ったような声でうなった。
『できれば茅森さんには最後に伝えたいんだよね。部長あたりから。全部決まってから言えば、協力を拒むこともできないでしょ』
実際に作業をするぼくやマリに対して、茅森課長からのあたりが強くなることは少しも考慮していないのか、この人は。
『とにかくさ』斉木さんは強引に話をまとめにかかった。『一度、明日にでも打ち合わせできないかな。どうやって進めるかは、また後で考えるからさ』
「明日ですか」ぼくはスケジュール表を開いた。「また急で......」
ぼくが言葉を切ったのは、明日、茅森課長が何かの打ち合わせで、終日外出だということに気付いたからだ。社員のスケジュールは、誰でも参照できる。斉木さんが明日を選んだのが偶然とは思えない。鬼の居ぬ間に、という意図があることは明らかだ。
『どうかな』
「わかりました」ぼくは諦めて答えた。「15 時以降なら空いてます」
『助かるよ!』宝くじでも当たったような声で斉木さんは叫んだ。『じゃ、15 時に予定入れとく。よろしくねー』
通話を終えたぼくが、よほどうんざりした顔をしていたのか、マリが理由を訊いてきた。ぼくが説明すると、マリは「ああ、あれですか」と納得したように頷いた。
「使ったことあった?」
「すごく昔に、ジョブローテでマネジメントにいたときですけどね。公にはなってないですけど、なにしろファイルなんで、間違えて削除しちゃったぜ、みたいな事故が、これまで何度も起きてるらしいっすね。Web 化されれば、喜ぶ人は多いと思いますよ」
「それはいいことなんだろうけどね」
「うちのタスクですよね、問題は」
「そうなんだ。増えることはあっても減ることはない」
「毎度のことですね。ま、頼りにされてるのは、うちらのスキルが高い証拠ってことで」
「前向きな考えだな」
「でないとやってられませんぜ、だんな。じゃ、そろそろ撤収するね」プライベートモードに切り替えたマリが言った。「今日は遅くなる?」
「20 時目安で帰る」
「ラジャ」
マリが退社した後、ぼくは2つのタスクを追加してため息をついた。マリの言う通り、仕事が絶えないことは喜ばしいことなのかもしれないが、単に外注コストをかけずに、無制限の要望や仕様追加に応じてくれる便利屋さん扱いになっている気がしてならない。すでにタスクは13 個。遠からずバッファオーバーフローになるだろう。これはいよいよ増員を真面目に交渉する必要がある。もしくは生成AI を開発業務に本格的に導入するか......
とりあえず優先で、と言われているHOUSEPROG の調査に戻りかけて、ぼくは手を止めた。これまでは、余計な仕事を増やしやがって、と不平不満しかなかったが、むしろ、これは奇貨となるのではないだろうか。
Teams に切り替えて、夏目さんのアカウントを探した。社内にいる。ぼくは簡単なメッセージを送った。
数分後、夏目さんは竜巻のような勢いでシステム開発室に飛び込んできた。
「ちょっとイノウーくん!」夏目さんはドアが閉まりきるのも待たずに喚いた。「さっきのメッセージは一体どういうことなの」
「どうもこうも」ぼくは肩をすくめてみせた。「おかげさまで、システム開発室のタスクはパンク状態なんです。さっきも営業やマネジメントから依頼があったばかりで」
「あなた、あれがエースシステム案件だってことわかってる? 何をおいても優先して取り組んでもらわないと困る。営業の依頼なんか放置よ、放置」
「やらない、と言っているわけではないんですよ。ただ、優先すべき理由はないと思われるので」
「思われるって」夏目さんは呆れたように笑った。「そんなこと、あなたが決めることじゃないでしょう。忘れてるかもしれないから言っておくけど、私は部長、あなたは室長代理。どっちの意思が優先するか、改めて説明しなければならないかしら?」
「たとえばですけど」ぼくはタスク一覧に目を走らせた。「マネジメント部からも、いくつか依頼が来てるんです。部長経由で。岸川部長に意見を求めたら、きっとマネジメント部を優先しろ、と言うと思いませんか?」
「それはそうかもしれないけど......」
「そういう場合のために」ぼくは穏やかな口調で遮った。「システム開発室では、優先基準を決めているんです。それはご存じだと思いますが」
少し前に、茅森課長とも相談した上で決めて、社内に通知したルールだった。依頼が重なった場合、業務内容を考慮して着手する順序を決定する。たとえば、ないと日々の業務に大きな差し障りが出るようなツールが動かなくなった、という依頼と、正常に動いてはいるものの、利便性を高めるために機能追加したい、という依頼では、前者が優先となる。そのため、先着順ではなくなる場合もありうるが、その点に関しての苦情は受け付けない。
このルールの肝は、優先順位を決めるのが、システム開発室である、という点だった。依頼元に決めさせれば、自分の依頼を優先させるに決まっているからだ。
「HOUSEPROG は現状、動作しているツールですね。今週中にリニューアルしないと、紹介制度管理業務が止まる、というような話ではない。となると、急いで進めなければならない理由は特にない、と判断しました」
何かを言いかけた夏目さんは、感心なことに自制心を発揮して言葉を切った。開けっぱなしのドアから、総務課やIT システム管理課の社員がちらちらと、ぼくたちを、というより主に夏目さんを見ていることに気付いたらしい。深呼吸を一つすると、瞬間的に笑みを浮かべて、何事もなかったかのようにドアを閉じた。
「よろしい」落ち着きを取り戻した夏目さんが言った。「ここはひとつビジネスライクに話をするとしましょう」
「いいですね」
「それで」夏目さんは、ぼくの顔をじっと見つめた。「何が欲しいの?」
「話が早くて助かります。人的リソースです」
「つまり、人手?」
「そうです」
「篠崎くんがヘルプで来てくれてるじゃない」
「そういう意味ではなく」ぼくは首を横に振った。「システム開発室所属のプログラマが必要なんです。兼務や、派遣社員ではなくて、正社員の」
「確か......」夏目さんは首を傾げて宙を見つめた。「私がいない間に何人か採用したんじゃなかった?」
「それはインストルメンタリティに送り込むための人員です」
インストルメンタリティ設立後、マーズ・エージェンシーも一ベンダーとしての立場でプログラマを送り込むことになり、延べ11 人を採用している。「延べ」というのは、そのうち数名は、契約期間終了後に、再度、雇用契約を結んでいるからだ。配属部署こそシステム開発室になっているものの、身も心もインストルメンタリティに属しているので、うちの戦力にはならない。
「でも、正社員採用となると人事課の仕事でしょう。私が出る幕ではないわね」
「そこを何とかしてください」
「何とかってなによ」
「何とかですよ」ぼくは繰り返した。「別に広報部で採用しろとか言ってるわけじゃないです。ただ、システム開発室にプログラマ若干名を雇用するように、広報部部長の権力とコネをフル活用してもらえないか、と相談してるんです。それこそ、エースシステムの名前でも何でも利用すればいいじゃないですか」
「......」
しばらくの間、夏目さんはシステム開発室の中を行ったり来たりしながら考え込んでいた。わざとのように、ぼくの方を見ようとせずに。ぼくはタスク表に目を戻し、各タスクのボリュームと工数を再計算しながら待った。幸いなことに、それほど長い時間ではなかった。どんな欠点があるにせよ、優柔不断という言葉は、夏目さんの辞書には載っていない。
「わかった」夏目さんは諦めたように頷いた。「考えてみれば、システム開発室という、社内インフラに重要な部署の維持を、あなたとあなたの奥さんの二人に任せっきりにしていたのは、人事課の怠慢と言われてもしかたがない。そのあたりを突けば、戸室課長を動かすのは難しくないはずね」
「感謝します」
ぼくが礼を述べると、夏目さんは険しい視線を突き刺してきた。
「仮に私がこの脅迫に――そんな顔をしたって、これは脅迫以外のなにものでもないわよ――屈することにした場合、例の件は優先的に、いえ、最優先でやってもらえるんでしょうね」
「もちろんです」
「正社員の採用活動は、派遣と違って、来月から出社、というわけにはいかないわよ。採用プロセスは、月単位で時間がかかる。それは理解しているんでしょうね?」
「完璧に」
夏目さんは嘆息した。
「人事に話すわ。ここから出たらその足で」
「ありがとうございます。では、ぼくはHOUSEPROG の仕事に戻ります。最優先で対応します」
「期待してるわ」
ドアを開けた夏目さんは、足を止めると、半分だけ振り向いた。
「立場が人を作る」呟きよりも少しだけ大きい声だった。「室長補佐か。正直なところ、イノウーくんにこんな交渉能力があるとは思ってなかったわ。責任感から発現したのか、それとも、元々持っていたのか、どっちなのかはわからないけれど」
「......」
「でも、あなたがやっていることには矛盾があるのよ。気付いてる?」
「え?」思いがけない言葉に、ぼくは固まった。「矛盾?」
「というか、このままだと、いつか矛盾が生じる、と言った方がいいかもしれない。よく考えてみた方がいいわよ」
そう言うと、ぼくに訊き返す間を与えず、夏目さんは出て行った。
(続)