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

イノウーの憂鬱 (8) 緊急事態

»

 冷静に考えれば、社員の一人が新型コロナウィルスに感染したところで、直ちに全社的な影響が出るものではないが、本能的な恐怖が拙策に走らせたようだ。家族からの連絡を受けた総務課は、ただちに社のトップ層、つまり取締役社長と3 人の役員、専務、そして社外取締役に報告した。緊急の役員会議がオンラインで開かれ、即座に決定が下された。ソリューション業務本部に属する社員130 名あまりの自宅待機命令だった。
 総務課は株主や関係取引先への連絡などに忙殺されていて、ノートPC 申請フォームのリリースを気に留めるどころではないようだった。出社している斉木室長は総務課の様子を見に行ってくれたが、すぐに戻ってきた。
 「とても声をかけられた雰囲気じゃないねえ、あれは」斉木室長は肩をすくめた。「待つしかないかな」
 結局、月曜日は空しく時間を費やすだけに終わり、火曜日の午後になって、ようやくシノッチが連絡してきた。
 「遅くなってすいません」シノッチは深い疲労が刻まれた顔で謝った。「リリースしてOK です」
 「わかりました」ぼくは答えて、データベースの接続先を変更すべくエディタを開いた。「受付の後処理はどうします?」
 「実はそれより先にお願いしたいことが出てきてしまって......」
 「というと?」
 「先日、匿名掲示板の件、少しお話しましたよね」
 「ああ、あれ」
 ぼくはTeams の画面の左側を見た。ビデオ会議に参加しているマリが顔をしかめている。
 「作るんですか?」
 「はい」シノッチは申し訳なさそうに頷いた。「ただ、ちょっと仕様が異なります」
 「どのように変わるんですか」
 「打ち合わせのとき、全員の検温という話が出たと思うんですが、あれを実施しろ、という指示が出ました」
 シノッチは早口で要件を説明した。派遣社員を含めた全社員に朝夕二回の検温を義務づける。社員ID でログインし、検温結果を入力、可能なら体温計の温度表示を撮影した画像をアップロードする。37.5℃を越えた場合、上長と総務課にメール通知される。その他、前日の登録内容を、毎朝、総務課宛にExcel ファイルなどで送信する。
 「まもなく発表されると思いますが」シノッチは言った。「ノートPC のありなしに関わらず、とにかく出社を可能な限り抑制する方針になります。社内LAN に接続できない人が大勢います。そういう人たちでも使える登録システムを、早急に用意する必要があります」
 「早急にというなら、とりあえずSlack か何かで走らせたらどうですか。Teams でもいいし」
 「Teams は全員がアカウント持ってるわけではないし、Slack は社内規定に利用ガイドラインができていません。社内で個人的に使っている人がいるのは知ってますが黙認されているだけなんです。とにかく自宅や携帯からでも登録できるフォームを作れ、というのが役員会議での指示です」
 「ということは」木名瀬さんが発言した。「いわゆるクラウド上に置くということですね。AWS とかを使うんですか」
 「AWS もまだ社内規定ができていないのでやっぱりNG です。うちのホームページを置いてるサーバありますね。あそこを使えないか、ということだったんですが」
 この会社のコーポレートサイトは、どこかのクラウドサービスで動いていたはずだ。WordPress で管理している、という話を聞いたことがある。デザインやアクセスログ解析などは、全て外注しているそうだ。
 「ソリッドサークル・インターネットサービスですね」木名瀬さんが答えた。「クラウドCMS を契約していますが、一番安いサービスなので使えるのはCMS だけです。独自のアプリケーションを置くなどはできません」
 「そうなんですか?」
 「確かです。年間保守料と利用料の支払処理は庶務課でやっていましたから」
 「他に使える環境はないでしょうか」
 木名瀬さんは記憶を想起するように宙を見つめた。
 「何年か前にメルマガ配信の業務を受注したときに、レンタルしてドメイン取ったサーバがあったはずです。CentOS だったと思いますが。どこが主管部署だったか......」
 「あ、それなら」斉木室長がミュートをオフにした。「営業四課だよ。どっかの自治体の期間限定メルマガ配信じゃなかったかな。でも、あれはとっくに終わったはずだけどね」
 「私もそう聞いていましたが、どういうわけか、毎年、契約更新されていたんです」
 「誰に問い合わせればわかるんでしょうか」シノッチがすがりつくように訊いた。「鴨池さんですか?」
 鴨池さんは営業四課の課長だ。だが、斉木室長は首を傾げた。
 「えーと、そのときは鴨池さんじゃなかったはずだけど。誰だっけなあ」
 「時期的には夏目さんです」木名瀬さんが思い出した顔で言った。「当時、営業四課の課長でしたから」
 「ああ、そう。そうだったっけ。じゃあ夏目さんに訊いてみればいいのかな」
 いかにも気が進まない様子だ。そういえば夏目課長がシステム開発室を訪れたときの様子からすると、斉木室長は過去に夏目課長と何らかの確執があったようだ。木名瀬さんは、そのことを知っているらしく、自分から申し出た。
 「私が確認してみます」
 「すまんね」斉木室長は拝むようなポーズで手を合わせた。
 「そのサーバが使えるとして」ぼくはやるべきことを考えた。「ssh での接続なんかは、たぶんできないですよね」
 「必要な環境設定は、IT システム管理課に言ってください」シノッチが勢い込んで言った。「最優先で協力しろ、ということで話が通っているはずですから」
 「では」木名瀬さんが言った。「サーバが使えそうだったら、ついでにIP アドレスを確認して接続許可をIT システム管理課にお願いしておきます」
 「できればsamba でのアクセスもお願いします」ぼくは頭の中でリストを作成しながら言った。「Python の確認とインストール、データベースの確認とインストール......そのサーバって、社内LAN からは接続できるんですか?」
 「それは何で確認できるんですか?」木名瀬さんが訊き返した。
 「ルーティング情報ですかね」
 「では、合わせてIT システム管理課に確認しましょう」木名瀬さんは手元でマウスを操作した。「いったん、抜けますね」
 木名瀬さんがいなくなった後、ぼくはリスト作成を続けた。
 「社内LAN ではないので、シングルサインオンは使えない。社員ID でログインするということは、人事給与システムから社員データを同期する必要があるので、そのプログラム作成。登録フォーム側はログイン機能、登録機能、メール送信機能、集計機能ってとこかな」
 厳密に言うなら、パスワード忘れ対策のリマインダや、パスワード初期化機能なども必要だが、後付けでも構わないだろう。
 「笠掛さん」ぼくはマリに呼びかけた。「html、どれぐらいかかるかな」
 「そうですね」マリは何か入力しながら言った。「そこまで凝った画面は必要ないと思うので、普通のレスポンシブ対応パターンで......まあ、3、4 日ってとこすかね」
 「金曜日は年休だよね」
 「はい、その予定でっす」
 テレワーク勤務が続いているせいか、あまり実感がないが、明日からGW だ。カレンダー通りなら、木曜日、金曜日は平日だが、あまり差し迫った仕事があるとは思えなかったので、ぼくは木曜日、マリは金曜日に有給休暇を設定していた。土日の後は祝日が続くので5 連休だ。
 「じゃあ本格的な実装はGW 明けからになるかな」
 スマートフォンのカレンダーを見ながらそう言うと、シノッチが咳払いした。他人の咳には敏感になっている昨今なので、反射的に顔を上げると、シノッチは何か言いたそうに唇を震わせていた。
 「あの、申しわけないんですが......本当に申しわけないんですが、その、上からの指示で......その......」
 「スケジュールですか?」
 言葉の先を察してやると、シノッチは何度も頷き、唇を湿らせてから言った。
 「すいません、来月の一日から動かせないかと......」
 「はあ?」
 必要以上に大きな声を発したのはマリだった。
 「一日って金曜日じゃないっすか。今日、何曜日か知ってますよね。火曜日っすよ、火曜日。それも、もうすぐ終わりかけてる火曜日。明日は祝日だし......」
 「シノッチさん」ぼくも声が尖るのを抑えきれなかった。「いくらなんでも、金曜日というのは無理が過ぎませんか。平日が一日しかないのにシステムを立ち上げるなんて」
 「今日も入れれば金曜日まで三日間あります」シノッチはそう言った後、慌てて付け加えた。「あの、これはぼくじゃなくて......」
 「上の人の言葉ですね。それはわかります。他になんて言ったんですか。怒らないから正確に教えてください」
 「本当に怒りませんか」
 「約束します」
 「緊急事態だからシステム開発室には我慢してもらおう、社内のシステムを作る部署なんだから、と」
 おそらく、実際の発言をシノッチが柔らかく加工してくれたのだろう。給料分は働かせろ、ぐらい言っていても不思議ではない。もっとも、これだけでも充分に意図は伝わっている。
 「それに」シノッチは付け加えた。「例の申請フォームも3 日で作ったんだから、これぐらい同じ日数でできるだろう、とも言っていました」
 ぼくはマイクが拾わないように、心の中で舌打ちした。初仕事だからと張り切りすぎたのが裏目に出たか。
 「それにしたって、使えるサーバがあるかどうかも不明確な状態で、期限だけ切るっておかしいでしょう。自由に使える環境がなかったらどうするつもりだったんですか。どっかのレンタルサーバでも契約するんですか。システム開発室は課じゃないから、課長決裁で契約なんかできないんですよ。だいたい、システム開発室は独立した部署であって、他の部署の下請けでもなんでもないんです。そう、ポンポン要求だけ投げられても困るんですよ。慌てて開発して、もしバグや仕様洩れなんかがあったら、どうせこっちの責任になるんですよね。それってどうなんですか」
 冷静に話しているつもりだったが、言葉を発している間にヒートアップして、声が高くなっていた。途中で木名瀬さんがビデオ会議に戻ってきていたが、声をかけられるまで、そのことにも気付いていなかった。
 「イノウーくん」木名瀬さんは苦笑した。「まずは君が落ち着いてください。水でも飲んで」
 「でも......」
 「気持ちはわかりますが、単に否定するためだけの否定になってますよ。問題の解決方法がないか、まずは考えてみるのがプロというものです。一つでもクリアできない項目があれば、そのとき改めて実現不可能だと主張すればいいんです」
 「サーバの方はどうだった?」斉木室長が訊いた。
 「使えます。というか、存在そのものを忘れていたようです。誰も停止の指示を出さなかったので、惰性で契約更新を続けていたんでしょうね。ドメインも毎年更新されてました。本来、こういうムダはなくしていかなければならないんですが。それはともかく、今は何も使ってないので、自由に使っていいそうです。湊くんにも接続設定を依頼しておきました。最優先で対応してくれるそうなので、すぐに接続できるようになるはずです。誰も管理していなかったので、脆弱性対応などは放置されたままでしょうが」
 ドメインを取ったと言うことは、Apache などWeb サーバもインストールされているはずだ。ただ、バージョンは古いだろうし、木名瀬さんの言うとおり、パッチも当てられていないに違いない。
 「サーバ証明書はどうなってるんでしょう」
 「SSL ですか」木名瀬さんは少し唸った。「その話は出ませんでした。切れているという前提の方がいいでしょうね。これまでの例だとシマンテックかサイバートラストのEV 証明書だったはずですが」
 「EV 証明書じゃないとダメですか」
 「そういう規定はなかったはずです。単なる慣習でEV 証明書を取得していたんでしょう。それが何か? 最優先だということなので、発行費用の稟議はすぐに通してくれるはずですが」
 「いえ、EV 証明書は定款なんかを郵送しなければならなかったはずです。金曜日には間に合いません。EV ではないサーバ証明書で即日発行してくれるところを選ぶしかないです」
 「なるほど。では斉木さん、すぐに適当な発行元を探して、稟議を上げてもらえますか」
 斉木室長が了承してキーを叩き始めると、木名瀬さんは次の問題解決に移った。
 「マリちゃん。本当に申しわけないんですが、金曜日、お仕事してもらうことはできませんか?」
 マリは躊躇い、視線を何度も左右に動かした。木名瀬さんとぼくの顔を交互に見ているらしい。
 「まあ、どうせ」マリは諦めたように嘆息した。「どっかに行く予定があったわけじゃないですし。ダラダラとネット動画見てるぐらいなら、仕事した方がいいかもしれないですね。あたしがやらないと、イノウーさんが、また、ぼんやりした画面作っちゃうんでしょうし」
 「おい、ちょっと」ぼくは憤慨してみせた。「そんな言うほどぼんやりしてないだろ」
 「ジョークっすよ、ジョーク」マリはクスクス笑った。「わかりました。金曜日は仕事します」
 「助かります」木名瀬さんは微笑んだ。「終わったら、会社のおごりでおつかれさま会やりましょう。この仕事がという意味ではなくて、コロナ騒ぎが落ち着いたら、ということになりますが」
 「お店、あたしが選んでいいですか?」
 「お任せします。なんなら私の家でもいいですよ」
 木名瀬さんが言ったとき、ビデオ会議に新たな参加者が出現した。IT システム管理課の湊くんだ。
 「ども」湊くんは目線をカメラから離れた場所に据えたまま言った。「木名瀬さんから依頼された、メルマガサーバへの接続設定、終わりました。サーバ名とIP アドレス、ユーザID、パスワードは今、共有しました」
 その言葉と同時に、テキストファイルが共有された。
 「ルーティングは?」
 「NAT で割り当てられてます。サーバ名は社内のDNS にも追加してありますが、反映されてないようなら、とりあえずIP で接続してください」
 「社内LAN としてアクセスできるなら、人事給与システムからデータ取れるんだね」
 ぼくが確認すると、湊くんは首を横に振った。
 「セグメントが違うんで、直接はできないです。通すにはファイアウォールの設定いじる必要があって......」
 「いじれないの?」
 「それが結構難しくて。うっかり失敗すると、いろいろ繋がらなくなったりするんで、変えるときはインタークルーズに作業依頼出して、スケジュール決めてやってもらってます。大抵、夜間作業ですけど」
 インタークルーズ社は、ネットワーク系インフラの保守をやっている会社だ。開発サーバのネットワーク設定を決めるときに名前が出てきたので記憶に残っている。
 「明日は世間一般は休みだし」ぼくがそう言うと、シノッチが恐縮したように頭を下げた。「作業もすぐにはムリだってことか。そうなると開発サーバで経由して、社員データを渡すしかないか。あ、いや待てよ。それなら開発サーバでシングルサインオンのAPI を代理で叩けばいいのか」
 作らなければならないプログラムがまた一つ増えた。とはいえ、全体としては実現可能な方法に進んでいることは確かだ。
 「サーバは何とかなりそう」木名瀬さんが言った。「html も何とかなりそう。社員ID でのログインも何とかなりそう。となると、後はイノウーくんが中身の実装をできるかどうか、ということになりますか」
 「......そうなりますね」
 木名瀬さんに丸め込まれたような気もするし、そもそもシステム開発室が言われたことを何でもやる便利屋みたいに扱われているのも気に食わない。これがクライアント企業からの受託開発の打診なら、そんな短期間では難しい、とお断りの返事をするか、少なくともスケジュールの交渉をしただろう。そもそも、検温の自己申告など、いくらでもごまかす方法はあるので、こんな仕組みを作ったところで、有効な運用も活用もできるとは思えない。だが、社員に感染者が発見されたことで、上の人たちが必死で対策を考えた結果ではあるし、彼らは彼らで必要だと信じた結果のオーダーだ。これまで組織の運営や防衛に携わったことがないぼくが、それをバカバカしいと評価することは不遜とも言うべきではないだろうか。
 「わかりました」ぼくは頷いた。「ぼくも木曜日の有休はキャンセルします。今から早速、構築に入ります」
 「ありがとう。でも有休を取り消すのはちょっと待っててください」
 その理由を訊く前に、木名瀬さんはシノッチに向かって言った。
 「ということです。システム開発室はすぐに検温登録システムの構築を開始します」
 「ありがとうございます」シノッチはキーボードに額をぶつけそうになるぐらい、深々と頭を下げた。「一日の金曜日に稼働できる、と報告してよろしいですか?」
 「イノウーくん?」
 木名瀬さんがぼくに回答を委ねた。答える前にマリを見ると、小さなOK サインが返ってきた。
 「大丈夫です」ぼくは言い、シノッチがまた頭を下げる前に付け加えた。「一つお願いがあるんですが」
 「なんでしょうか」
 「システム開発室から、自宅用モニタの稟議が出ていたと思うんですが、それをすぐに通してもらえませんか」
 「えーと」シノッチは戸惑った顔になった。「総務がですか」
 「経理に口添えしてくれればいいんです。それがないとできない、と言ってください。最優先なんですよね?」
 「はあ。わかりました。でも稟議通っても、準備があると思うので、明日というわけには......」
 「あ、その件なら」湊くんが言った。「木名瀬さんから話が来ていたので、モノ自体の準備はできてますよ。営業部のリプレース用のモニタがあるんで、そっちに回します。どうせ営業部の人たちはしばらく会社来ないし。稟議通って、決裁コードが出れば、すぐに発送しますよ」
 「だそうですよ」木名瀬さんが微笑みながら言った。「シノッチさん、サーバ証明書の方と合わせて、すぐに稟議通すよう言ってください」
 「わかりました」
 シノッチは近くの誰か、おそらく矢野課長に小声で説明し始めた。木名瀬さんは頷くと、顔の向きを変えた。
 「湊くん、すぐに発送の準備を進めてもらえますか。今から連絡すれば、17 時の集荷に間に合います。明日の午前中着で、イノウーくんとマリちゃんにモニタが届くようにしてください」
 「了解です。そうそう、モニタの接続の件ですけど」湊くんは顔を上げた。「イノウーさんたちに行ってるノートPC って、Dell のやつですね。HDMI ポートが一つしかなくないですか?」
 ぼくは慌ててノートPC を掴むと一周させ、側面のポートを確認した。AC 電源、LAN、USB が2つ、そしてHDMI が1 つ。一昔前の機種だとVGA ポートが付いていたのだが、最近の薄型ノートではHDMI ポートのみになっているのを忘れていた。
 「ですよね」ぼくの答えを聞くと、湊くんはキーを叩いた。「USB-HDMI 変換コネクタ使ってください。ヨドバシとかで売ってます。今、製品のURL 共有しました」
 仕方がない、後で買いに出るか、と思ったとき、木名瀬さんが言った。
 「シノッチさん、お手数ですが、今から買ってきてもらえますか」
 「え?」シノッチは驚いてカメラに向き直った。「ぼくがですか?」
 「シノッチさんでなくても、総務課の誰かがヨドバシまで行っていただければいいんです。今買ってくれば、モニタと一緒に発送してもらえるし、後で立替精算する手間も省けます」
 「でも、総務も今、ちょっと忙しいんですが......」
 「こっちが最優先じゃなかったんですか?」
 「......何とかします」
 「それから」木名瀬さんは微笑みを浮かべたまま続けた。「人事課は誰かいますか?」
 「え、今ですか?」シノッチは立ち上がって人事課の島を見渡した。「牧枝さんならいますが」
 「呼んでもらえますか」
 まもなく牧枝課長がビデオ会議に登場した。
 「木名瀬くん、何か用かね」
 「システム開発室に依頼があった、最優先の件はご存じですか?」
 「検温の話か。もちろん知っているが。一日の金曜日から稼働させろというやつだな」
 「システム開発室は今すぐ作業に入ります。おそらく金曜日の朝まで、ずっと作業が続くでしょう。当然、明日の祝日も出勤......というかテレワーク勤務です。休日出勤として認めてもらえるんでしょうね」
 人件費抑制と働き方改革の両面から、休日出勤は上長の指示があり、なおかつ、部門長が適切だと認めた場合にのみ有効となるルールだ。システム開発室の場合、課長職の管理者がいないため、上位部門の経営管理部の部門長、つまり大石部長か、代理として他課の課長に許可をもらうことになる。
 「大石部長に許可をいただけばいいんじゃないのかね」
 「部長は午後から会議だと聞きました。終わるのを待っている時間がないので、人事課で許可していただきたいんです。後から明日の勤務はまかりならん、ということにならないように」
 余分な責任を負いたくない、と言いたげに、牧枝課長は顔をしかめたが、木名瀬さんにじっと見つめられて、渋々応じた。
 「わかった。人事課の承認ということにしておく」
 「助かります。それから......」
 「まだあるのか」
 「それから」木名瀬さんは落ち着いて続けた。「井上、笠掛の両名は、それぞれ木曜日と金曜日に有休を取得する予定でした」
 牧枝課長は、それがどうした、と言いたげに、こちらを見返した。
 「気の毒だが、緊急事態だから延期してもらうしかないな」
 「新年度の全社方針として、社員の有給休暇取得率の向上が上がっています。システム開発室としても、新年度早々に、それを破るのは気が引けます。ましてや社員の有休取得を率先して指導すべき人事課としてはなおさら避けたいのではないですか?」
 「何が言いたいんだね」
 「二人の法定休日を、先週の日曜日から、今週の木曜日と金曜日にそれぞれ変更しようと思います。同時に有休取得日も先週の日曜日に移動します」
 「おい、ちょっと待て」
 何かに気付いたらしい牧枝課長は慌てたように制止したが、木名瀬さんは意に介さず言葉を続けた。
 「その上で、今週の木曜日と金曜日は出勤ということにします」
 ようやく木名瀬さんの意図がわかった。同時にマリも同じ結論に達したらしく、ああ、と小さく呟いた。木曜日と金曜日を勤務すれば、休日出勤がもう一日増えることになる。休日出勤には休日出勤手当が出るし、時間外労働手当も50% 増しだ。有給休暇取得を延期しただけでは何の得にもならないので、ささやかだが給与的にプラスアルファを加算してくれようとしているのだ。
 「そんな勤怠操作は認められん」
 「またまた。人事課なら何とでもなるじゃないですか」木名瀬さんはにこやかに脅迫を繰り返した。「以前にも、営業一課の某社員が不倫で......」
 「わかった」牧枝課長は大声で遮った。「それでいい。好きなようにしていい」
 「助かります。JINKYU の操作は、人事課にお願いしてもよろしいですか? もちろん、こちらで修正して申請してもいいんですが......」
 「人事でやっておく」
 「お手数をおかけします」
 牧枝課長は親の仇でも見るような目で睨んだ後、画面から消えた。
 「さて、イノウーくん、マリちゃん」木名瀬さんはぼくたちに言った。「これで可能な限りの環境は整ったと思いますが、どうですか?」
 別の言い方をすれば、外堀を全て埋められたことになる。ここまでされて、金曜日に検温登録システムがリリースできなかったら、システム開発室の評判は地に落ちる。やるだけやったが、間に合わなかった、というわけにはいかない。
 「絶対に間に合わせます」
 サードアイ時代でも発したことがない言葉を、ぼくは口にした。

 (続)

 この物語はフィクションです。実在する団体名、個人とは一切関係ありません。また、特定の技術や製品の優位性などを主張するものではありません。

Comment(8)

コメント

夢乃

なんだか永遠に無茶な要望がやってきそうで、胃が痛くなってきます・・・木名瀬さん、内も外も手玉に取っている・・・

ところで、イノウーくんの
「明日の有休はキャンセルします」
は、明後日ではないでしょうか? 今日が火曜で木曜に有休(ついでに、水曜は祝日)と言っているので。

どんなふうに着地するのか、楽しみにしています。

mori

毎週月曜日の更新を楽しみにしています。
あんなに抵抗した検温システムが感染者一人であっさり通ってしまいましたが、システム開発室のメンバーが疑問をまったく感じない描写になっているのは今世間ではそういう風潮だということなんでしょうか。

通りすがり

moriさん>
メンバーが抵抗したのは、医療従事者関係項目と、匿名掲示板のふりして裏で誰が投稿したのかわかるような仕組みで、検温そのものに反対しているわけではないのではないでしょうかね。

リーベルG

夢乃さん、ご指摘ありがとうございます。
1日ずれてました。

h1r0

イノウーかっこいい!

匿名

まずは君が落ち着け、というのは「シン・ゴジラ」ネタですね。

kolona

この物語の最初の方では「新型肺炎」という表現で、「コロナ」という単語を出してなかったので

フィクションだから、似て非なる病気という事にしているのかと思ったのですが、
やっぱり作中で蔓延しているのも、コロナウイルスによる病気なんですね。(コロナウイルスも種類があるようですが)

匿名

木名瀬さんこええ。ラスボスはこの人だよねq

コメントを投稿する