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

イノウーの憂鬱 (5) 紙芝居

»

 システム開発室に戻った途端、マリは怒りを爆発させた。
 「なんなんすか、ありゃあ」マスクを通してでさえ、その声は廊下に届きそうだった。「お医者さんや看護師さんが、汚染されてるとでも言いたいですか。感謝して応援してしかるべきなのに、偏見を助長するようなことして何が嬉しいんですかね」
 マリは腹立ちまぎれに床をドンドンと蹴った。タイルカーペットを踏み抜きそうな勢いだ。これが地団駄を踏む、ということか、と感心しながら見ていると、少し落ち着きを取り戻したらしいマリが椅子に身体を放り込むように座った。気の毒な椅子がギシギシと悲鳴をあげる。
 「従姉妹が千葉の病院で看護師やってるんですよ」低い声でマリは言った。「コロナ騒動で、ろくに家に帰る時間もないらしいです。マスクも手袋も防護服も足りないから使い回しで、疲労もストレスも溜まりに溜まりまくってるし、辞めてく人もいて人手が足りなくなってるし、もうとにかく必死なんです。それなのに、順番待ちでイライラしてる奴に怒鳴られたり、スーパーに入店拒否されたり、近所のジジイからばい菌扱いされたり、さんざんで。ランボーみたいだって泣きそうになってました」
 「ランボー?」ぼくは自席に座りながら訊いた。
 「映画の。国のために戦争行ったのに、帰ってきたら厄介者扱いされるじゃないですか」マリは木名瀬さんに顔を向けた。「それなのに、あんな要件......」
 さすがに言葉は濁したが、木名瀬さんが要件を拒否しなかったことを不満に思っているのは明らかだ。木名瀬さんは座ってスマートフォンを操作していたが、ちらりとマリを見て口を開いた。
 「もし、あそこで、そんな要件受けられません、と突っぱねていたら」またスマートフォンに視線を戻しながら、木名瀬さんは落ち着いた声で言った。「この開発案件はマーケ課に持っていかれるか、悪くすれば外注ということになったかもしれません」
 「......その方がよかったですよ」マリは吐き捨てた。「そうまでして実績作りたくないです」
 「そういうことじゃないと思うけど」
 そう言うと、マリはキッとぼくを睨んだ。
 「じゃ、なんです?」
 この開発を他の部署や外部が行うことになれば、ぼくたちの意志を反映させる機会は失われる。実装する人間のスキルや意識によっては、全く使いものにならないか、悪くすればビッグブラザーが狂喜するような監視システムができあがってしまうだろう。逆にぼくたちがメインキャストに留まっていれば、プログラマとしても、常識的な社会人としても、心に恥じることのないシステムをリリースするようにコントロールできる可能性が残る。
 そう説明すると、マリは納得と不満を等分に浮かべて、ぼくと木名瀬さんを見た。
 「でも、システム的にはともかく、仕様としてはあたしたちが勝手に決めるわけにもいかないんじゃ......総務としては、医療従事者の項目、必須にしたいんですよね。うっかり入れ忘れたことにしてリリースしちゃうんですか?」
 「まさか」木名瀬さんは笑った。「矢野課長は細かい人です。ノーチェックでリリースするなどあり得ません。まして、わざわざ必須で、と念押しした項目なら、それこそ項目名や必須チェック、最大文字数まで神経質なぐらいにチェックするはずです」
 「......」
 「それに、意図的にせよ、うっかりにせよ、必須項目を実装しないで受入テストに出したりしたら、システム開発室のスキルに疑問符ハンコが押されます。大きなやつが。せっかく実装部門を社内に復活させることができたんです。その出だしから足踏みするわけにはいきません。その意味では、実績を作っておきたい、というマリちゃんの言葉も外れてはいませんね」
 「復活?」ぼくは木名瀬さんが口にした単語の一つに注意を惹きつけられた。「誕生ではなくて復活ですか」
 木名瀬さんはスマートフォンを置いた。
 「お二人は知らないでしょうね。15 年以上前の話ですが、うちの会社も受託開発を主業務にしていた時期があったそうです。私が転職してきた前の年に、ごく一部を除いて開発部門は閉鎖されたので、その時代を知っているわけではないですが」
 それは知らなかった。入社前にマーズネットのコーポレートサイトで、社の沿革は一通り読んだが、受託開発が主業務だったという記述はどこにもなかった。
 「なんで止めちゃったんですか?」
 「リーマンショックの余波など、いくつか原因はあったようですが、単純に利益が出なくなったからでしょうね。復活、というのはそういう意味です。ところでイノウーくん、今回の開発、どのように進めるか、もう方針は立っていますか」
 「方針と言われても」ぼくは戸惑いながら答えた。「項目定義と用語辞書作成から始めて、DB のテーブル設計へ進むのが正攻法ですが......」
 「用語辞書って?」マリが訊いた。
 「社員ID イコール userID とか、氏名 イコール userName みたいに、用語を統一させるための定義の一覧かな。社員ID をA さんはキャメルケースでコーディングして、B さんはスネークケースでコーディングしてたら、後で混乱するから。決めたら、そのままDB のカラム名になるし、変数名にもなる。今回は人事給与システムの社員情報と一致させておけばいいけど」
 「へー、なるほど。じゃ、ランチ食べたら、その辞書作っちゃいますか」
 「いえ」木名瀬さんが首を横に振った。「通常の開発ならそれでいいんですが、今回に限っては先にやってほしいことがあります。紙芝居のhtml を大至急作ってください。見た目重視で」
 ぼくとマリは顔を見合わせた。
 「でもinput タグのid とかが......」
 「ブラウザで開いたとき、そんなものわかりはしません」
 「後で修正するってことですか?」ぼくは意外に思いながら訊いた。「二度手間になると思いますけど」
 「構いません」
 「......そうですか。で、大至急って、どれぐらいですか?」
 「14 時までに用意してください」
 全員の視線が壁面の電波時計に向けられた。11 時40 分。
 「一応訊きますけど、今日の、ですよね」
 木名瀬さんはバカなことを訊くな、と言いたげな冷たい視線で答えた。ぼくは慌ててマリに顔を向けた。
 「笠掛さん、どうかな」
 見た目重視のhtml となると、フロントエンドの知識が豊富なマリの出番だ。マリは考えながら答えた。
 「申請ページ作るぐらいなら、そんなに時間はかかりませんよ。小一時間ぐらいあれば」
 「申請ページだけではなく」間髪を入れず、木名瀬さんが言った。「上長の承認待ち、承認、承認完了の各ページ、否認したときの再申請ページも必要です。それから、総務が参照する申請状況一覧ページも」
 「申請状況一覧ページですか?」ぼくは訊き返した。
 「総務課権限社員だけが参照できるページです」
 「その話、要件にはなかったですよ」
 「ありませんでしたね」木名瀬さんは頷いた。「それは矢野さんもシノッチも、とにかく申請を電子化する、という部分に集中していて、その後の工程まで気が回っていなかったからです」
 申請システムのフローだけを見れば、社員の申請を部門長が承認し、総務課に申請が届いたら終了となる。だが、総務課の業務は終わりではない。むしろ、そこからが本番と言ってもいいぐらいだ。まず、申請内容の不備をチェックし、IT システム管理課にセットアップ依頼を回す。IT システム管理課から完了報告を受け取ったら、ノートPC の現物を一度、総務課で引き取る。人によっては、自宅や常駐先での受領が必要となり、IT システム管理課では、住所などがわからないためだ。ぼくたちがノートPC を受け取ったときは受領証に押印するだけでよかったが、システム化されれば、申請者の受領完了も管理しなければならない。配送の場合は、配達希望時間帯や日中の連絡先の入力も必要だろうし、宛先不明で戻ってきてしまう場合も考慮しなければならない。
 「先を考えずにシステム化の提案してたんですか」
 「直近の懸案事項しか見えていないんでしょう。申請受付後の総務の作業について、Excel で管理する、ぐらいでも考えていれば上出来です」木名瀬さんはまたスマートフォンを操作しながら言った。「つまりシステム化後のフローが明確になっていないんです。そんな状態では、早晩、収拾がつかなくなり、管理作業全体をシステム化してくれ、と言ってくるに決まっています。その前に、こちらから提案してしまうんです」
 そういうことか。ぼくは納得して頷いた。提案するだけなら、パワーポイントでスライドを数枚作成するだけですむが、紙芝居レベルでも動くページが存在していれば、説得力が段違いだ。
 「それって、つまり」マリが面白がるような声で訊いた。「この案件、何としてもうちで落としたいってことですね。でも、なんで14 時までにページがいるんですか?」
 木名瀬さんの目が笑った。
 「それは、茅森さんも全く同じことを考えているだろうからです」
 「え」
 「茅森さんをただのVBA おじさんだと思っているんでしょうが、そうではないんですよ」
 マーケティング課に異動になる前、茅森課長は営業二課の第一線で活躍していた、と木名瀬さんは話してくれた。営業二課は対顧客を担当する部署だ。茅森課長は協力会社と一緒に客先に常駐し、先方の業務プロセスを観察する能力に長けていた。そうすることで、本来の開発案件とは別に、システム化できる部分を見つけ出して提案し、そのうちの何割かを追加の受注へとつないできたらしい。
 「会議で示された要件を見て、茅森さんは申請が総務に到着後の工程にシステム化の余地があると気付いたはずです。今頃、大急ぎで提案のパワポを作っているでしょうね」
 午後にでも、さっきの出席者全員に追加提案として送りつけるだろう、と付け加えると、木名瀬さんはスマートフォンに目を落とした。
 「どうしてさっき、会議の席で指摘しなかったんですか」
 ぼくが訊くと、木名瀬さんはスマートフォンを見つめたままで答えた。
 「あの胸くそ悪い仕様を実現させないために決まっているじゃないですか」
 ぼくとマリが、その言葉の意味を理解できていないことに気付くと、木名瀬さんはやれやれ、と言わんばかりに肩をすくめた。
 「会議の席でも言ったように、このシステムは迅速なリリースが求められます。ですが、申請後のフロー管理までシステム化するとなると、申請フォーム自体もそれを考慮して作成する必要があります。そうですね?」
 「確かに」ぼくは頷いた。「申請フォームと申請後フローを別のシステムとして作るのではなく、一つのシステムとして設計しないといかんですね」
 「それを、全社員に申請を出させる、という仕様を組み込むのは時間がないという理由にします」
 「医療従事者がどうのって入力項目は?」マリが訊いた。
 「全社員申請でなければ、そんな項目は意味を持たなくなるので、自然消滅します」
 「でも」ぼくは疑問を口にした。「茅森さんが、それを全部含めたシステムとして提案してくるかもしれませんよね。そうしたら、総務としてはそっちの提案を採用するんじゃないですか?」
 「そうさせないために、斉木さんが動いてくれています。こういう対人折衝は、私などよりもずっとうまくやってくれますから」
 その言葉で、ぼくは斉木室長が戻ってきていないことに、今さらながら気付いた。どこで何をしているのか訊こうとしたとき、当人が入ってきた。
 「ああ、おつかれ」斉木室長は自席に座ると、ハンカチで首筋の汗を拭った。「話をつけてきたよ。15 時にうちとマーケ課でプレゼンをやる。っていっても、また課長連中を集めるのは、各々のスケジュールもあるし、感染防止の観点からも好ましくないからね。オンラインでやることになったよ。それぞれのプレゼン内容をTeams で共有するわけだね。マーケ課はたぶんパワポファイルを共有フォルダに置くんだろうな。うちは開発サーバのURL でいいんだよね?」
 「ありがとうございました」木名瀬さんは斉木室長に軽く頭を下げた。「例の項目についても?」
 「うん。お互い、あれは時間ないからって理由で入れないことにした。矢野さんや牧枝さんが納得するかどうかは、別の問題だけどね」
 「というわけです」木名瀬さんは、ぼくとマリに言った。「14 時までに紙芝居html が必要な理由がわかりましたか?」
 「パワポより、実際に動かせる環境があった方がいいのはわかります」マリが答えて頭を掻いた。「でも14 時かあ。チェックに1 時間はかかりますもんね。とにかくやってみます」
 「ぼくもできるだけ協力するよ」
 「じゃあ肩でももんでください」マリは早くもキーを叩きながら冗談めかして言った。「といっても直接触れるのは、まあ、いろいろマズいんで、エア肩もみで」
 「いえ」木名瀬さんが言った。「イノウーくんは、Web アプリケーションとしての環境を作ってください」
 「え」ぼくは少し驚いて訊き返した。「Web アプリケーションとして作るんですか? 紙芝居なんですよね」
 「Teams で共有するんですよ。html ファイルだけならともかく、JavaScript ファイルやcss ファイル、画像ファイルを一緒に共有して、うまく動くと思いますか?」
 「......zip ファイルでまとめてしまうのはダメですか」
 「それでローカルに保存して、解凍して、index.html か何かをダブルクリックしてくれ、と言うんですか? 自信を持って断言しますが、課長の何人かは面倒くさがって開きもしませんよ」
 「それに」マリが付け足した。「確かChrome の制限で、ローカルhtml からJavaScript は開けなかったんじゃなかったでしたっけ」
 「CDN を使うのは?」
 「それもムリっすね」マリは残念そうにかぶりを振った。「webpack でバンドルしたファイル使うんで。外部のCDN はちょっと」
 「開発サーバにCDN 作るか。ああ、いや、それぐらいなら、普通にWeb アプリケーションとして作った方がいいぐらいか」
 「そういうことです」木名瀬さんは言いながら立ち上がった。「いつかみたいにFlask あたりを使うのがいいと思いますが、方法は任せます。二人で協力して構築してください。申しわけありませんが、私はこれで退社させてもらいます。娘が発熱したようで、保育園から緊急の呼び出しが入ってしまったので。斉木さん、フォームのチェックをお願いします。何かあればTeams かメールで連絡してください。返信は遅れるかもしれませんが。では、よろしく」
 さっきからスマートフォンをいじっていたのは、保育園とやり取りしていたらしい。木名瀬さんは慌ただしく帰り支度を済ませると、急ぎ足で出て行ってしまった。
 残されたぼくたちは、しばらく茫然とドアを見ていた。沈黙を破ったのは斉木室長だった。
 「何かできることあるかな?」
 「ランチを買ってきてもらえますか」ぼくは頼んで、モニタに向き直った。「片手で食べられるものを」
 せっかく久しぶりに出社したのだから、コンビニ弁当以外のものを食べようと考えていたのに、この状況では難しそうだ。マリも同じ思いらしく、隣から小さなため息が聞こえてきた。サンドウィッチ伯爵がどうのと言いながら斉木室長が出て行くのを見送って、ぼくはEclipse を起動し、Flask の新規プロジェクト作成を開始した。

 (続)

Comment(12)

コメント

ちょろがー

マリちゃんの口調、「~っすね」はキャラが変わっていないでしょうか。
今までの回では使ってなくて違和感がありました。

tomy

「~っすね」口調は第1話の冒頭で使ってますね。

null

マリちゃんの脳内イメージが宇崎ちゃんで固定されました。
どうしてくれるんですか。

のり&はる

斉木室長がちょっと好きになりましたw

しゅう

↑の「どうしてくれるんですか。」の書き込みをみて,
私も一気に固定されてしまいました
どうしてくれるんですか(笑)

さかなでこ

上司に「できることある?」と聞かれて
「ランチ買ってきて」って言える職場って素敵w

Dai

>社員ID イコールuserID とか、氏名 イコール userName
イコールの後に半角スペースが正解ですかね?

リーベルG

Daiさん、ありがとうございます。スペース抜けてました。

ほげ


マリちゃんの胸部が想定より大きなイメージになってしまった。訴訟

っていうか木名瀬さん、やっぱりシステム設計の経験とかあるんじゃないのかな。
普通の人は「総務として何が必要か」まではわかるだろうけど、それをシステムに落とし込むに当たっての、現実をシステムに落とし込むための考え方って
仕事としてやらないと身につかないような気がするんよね。

匿名

Ψ木課長のイメージが大分変わりましたw
続きも楽しみです。

ジマス

監視が好きなビッグブラザーw
ジョージオーウェルですね

なんなんし

リーマンショックのあとの15年後
2023年ぐらい?

コメントを投稿する