初参加の会議
3番の会議室、十人ほどが集合していた。ビデオ参加も数名。知っている顔も何人かいるが、全体に空気がよどんでいて私語は憚られる。そう感じるのは一体どういう現象なんだろう。プロジェクトの進捗をそんなことで知りたくないので、そこで思考を中断した。私は軽く会釈をすると、コオオルに促されるままに前の席に向かった。
「ミヤマさん、お久しぶり。ナナミです。」
前一列だけ席の向きが逆で、そこにナナミがいた。司会者の席なのだろう。
「ずいぶんと久しぶりだ。お元気でしたか?」
「ええ。」
以前のプロジェクトで、彼女とは二年ほど一緒だった。今でも彼女とは仲間だと思っている。
「またナナミさんとご一緒できて嬉しいです。」
ナナミは仕事に抜けがない。それに、常に一定の考え方に沿って動くから信用できる、それは私の勝手な分析だが、たぶん今も大きくは変わってないと想像はついた。
「今日からは心強いです。ミヤマさん、よろしくお願いしますね。」
ナナミの言葉で、会議室の空気が少し和らいだ。メンバーに変化があるのは何かしらの気分転換にはなる。ナナミは私に隣に座るように促し、それから正面に向き直って、立ち上がった。
「では、少し早いですが、メンバーも揃ってますので本日の進捗会を始めます。まず今日から総責任者としてミヤマさんが赴任しております。昨日もお話しした通り、ウィルダイスさんの代行として全権委任されていますので、皆さん、そのおつもりで。」
総責任者って、失敗したら責任とる役割になっているのか、それはウィルダイスから聞いていない。顔色を変えなかったか自分が心配になった。会議の参加者にはすでに知られた話なようで、誰も驚いてはいない。そんな会議室の空気を感じつつ、私は自分に言い聞かせる。落ち着けばいい、いつものことだ、ただ落ち着けばいい。私は立ち上がって短く挨拶をする。
「ミヤマです。皆さん、今日からよろしくお願いします。じつは一昨日まで別プロジェクトに入ってまして、まだ情報を把握しきれていません。しばらくは初歩的な質問をしてしまうと思いますが、どうかお付き合い下さい。」
元気のない拍手が起こる。ここには反抗的な人間はいない、そう告げるためだけに響いているようだ。
「今日参加しているのは元からのデータリンクのメンバー、リモート参加でインフラチーム、先々週から参加しているコオオルさんと私、今の関係者の全員です。」
ナナミはそう言って手元を操作すると、正面のスクリーンには、チーム単位にまとめられた参加者の名前と顔写真が映った。続いて各チームの役割をまとめた資料が映し出される。ナナミが作ったのだろう。相変わらず用意のいい人だ。ただ今日の場合は資料は私のためだけで、なんだか申し訳なかった。
「ここまでよろしいでしょうか? ミヤマさん。」
「はい、ありがとうございます。」
「では進めますね。」
そう言ってナナミは、参加者の並ぶ机の方へ向き直った。
「各チームからは事前に新しい話は聞いておりませんので、今日はこれまでの経緯を中心に丁寧に話していきましょう。」
ナナミがそう言うと、会議の本題が始まった。
「発生している現象と原因調査について、リンクチームから、お願いします。」
リンクチームとは、このプロジェクトに最初から参加していたメンバーだ。ナナミが見せてくれた資料にはそう示されていた。リンクチームと紹介された前列のテーブルから、女性が一人立ち上がる。
「はい、残念ながら原因の究明については進捗ありません。ですので、ここまで分かっていることを私からお話し致します。」
「どうぞ。」
「ユキです。ミヤマさん、これからよろしくお願いします。」
さきほどの資料だけでメンバーの名前が覚えられるはずはない。せっかく名乗ってくれた名前を忘れないために、私は繰り返す。
「こちらこそ、よろしくお願いします。ユキさん。」
「私たちのプロジェクトは、当社が以前に構築したデータリンクシステムの更新です。ここ数年で利用者増加が見込まれるため、新規システムとして作り直しが必要となりました。多くのデータを集めて整理して保存する。保存したデータをリクエストに応じて必要な所へ届ける。より多くのデータをより早く、つまりは性能アップです。そのプロジェクトが半年ほど前から続いています。」
ユキは資料を出しながら淡々と説明をする。
「開発が終わり、先月から最終の社内試験に入りました。その時に、瞬間的に負荷が高まると性能がうまく出ないことが分かりました。入力経路を七つに増やした時に見つかって、その対策が今も打ち出せていません。」
また私のために説明をさせてしまっている。そう感じたので笑顔を作って質問してみた。
「すいません、いちから説明して頂いて。でも、その最終試験の前だと分からなかったんでしょうか?」
システム開発では開発段階によっていくつもの試験があるが、社内の最終試験であれば作り込みが終わった段階での試験だ。つまり開発初期にクリアすべき問題を見逃していたわけだ。
「はい、高負荷にしての性能試験は行なっていましたが、その時は発生しませんでした。それが原因にも関係しています。」
「へえ。」
面白そうだな、技術的な興味が湧いてきた。ただ今は、そんな呑気な気持ちではいけないはずだ。
「結論としては、新しいデータリンクの性能は、まだ要件を満たしてないんです。入力経路を絞れば発生しにくいのですが、実際の運用環境は経路が七つあって、この経路ごとのデータの種類の違いで遅延が発生します。経路ごとに入力データの割合が変わると性能がとたんに落ちてしまうんです。」
「なるほど。性能が落ちる原因は分かっているんですか?」
「各経路から入力されたデータを、直列処理しなくてはいけない場合があって、直列処理が一定量続くと急に性能が落ちてしまいます。」
「ちょっと待って下さい。」
直列処理、最初の処理が終わるまでは次の処理をしないので、処理の順番待ちが発生する。同時に複数の処理をする仕掛け、並列処理と比べて当然速度が劣る。大規模なデータ処理では並列処理が当たり前だ。直列処理するシステムなど問題が出るに決まっている。
「データベースへの登録にそんな条件がつくのは、まずいんじゃないですか。上限はつけるにしろ直列処理にする必要のないデータ単位にして登録するべきでしょう。」
「全く、その通り。」
スピーカーからリモート参加者のつぶやきが聞こえた。この声はシオヤだ。直接関わったことはないが、何人かのぼやきを聞いたことがあった。社内でも指折りの技術者だが、こだわりが強すぎてまわりが持て余すことが多いらしい。シオヤは言葉を続ける。
「最初はそういう設計だった。なのに結局は、ありもののデータベースを極力触らない、という考え方にしたものだから、その手前で小細工をしている。」
「シオヤさん、ですよね。あなたの設計じゃないんですか?」
「無論だ。最初に私の出したプランはリジェクトされた。それ以降はこのプロジェクトに関わってないのに、二週間前から急に参加させられている。いい迷惑だ。」
リジェクト、つまり採用されなかったのだ。それに納得していないのだろう。シオヤの口調にはユキに挑むような調子があった。リンクチームのユキは、シオヤの話をとりあわずに説明を続ける。シオヤの嫌味に付き合うつもりはないようだ。
「当初の予定では、直列処理が必要なパターンはほぼありませんでした。念のため例外処理を一つ追加しただけ。それなのにテスト用の入力経路を足したら、ほとんどが、その例外になってしまいました。」
「お手軽に済まそうとして、ありもののデータシステムをよく調べずに使うからだ。」
シオヤのつぶやきはたぶん正しい。ただし、正しいことを全て正しく行うには、時間も予算も余裕が必要だ。その折り合いをつける中で、ナギが合理的な決断をしたのかもしれない。今回はそこで失敗したのだろう。リンクチームの説明は続く。
「先週からその入力時の変換方法の精査を行なっています。以前より改善しましたが、この処理でも待ち合わせが発生して処理速度がまだ目標に達していません。」
「先週からシステム全体の設計からやり直せと言っているが、そこのやり手は、まるでその気はないようだ。」
ユキに嫌味を放つと、シオヤは話は終わったとばかりに画面の中で腕を組んだ。ユキはシオヤに向けて話を続ける。
「リリース予定日と合わないと申し上げているだけです。期日に間に合う具体的なものを見せて頂ければ十分に検討したいと、この前から申し上げている通り。」
「そこは平行線なんですかね。」
とりなす必要はないのかもしれないが、一応私は確認する。
「ええ、まあ。」
ユキはそう言い、シオヤからは特に返事はない。効率の悪い会議の典型だなと私は思った。両方のチームをまとめる人はいないのか、いや、それが私の上役か。その上役のやったことは私を任命したこと、つまりはそういうことか。とにかく、こんな効率の悪い時間の使いかたはもうごめんだ。私は私なりに動き始めよう。まずはこの不毛なやりとりを切ることだ。
「状況はなんとなく分かりました。もう少し詳しい資料の場所を後で教えて下さい。」
「ええ、もちろん。」
「で、今日の進捗で話すことはありますか?」
「私からは特にありません。変換方法の精査を続けていますが、今以上の性能向上はたぶん達成できない。新しいアプローチが必要と申し上げていますが、現実的な具体がどこからも出ていません。」
現実的な、を強調するようにユキが言った。他に議題はないようなので、そこから私はナナミから進行役を代わって、いくつか質問することにした。
「シオヤさん達の状況も教えて下さい。」
「プロジェクト当初の設計でなら作り始める、って話をしているが、期日期日ばっかりで、まるで話を取り合ってくれない。短期間に解消できる魔法みたいなものないよ。」
モニタごしにシオヤが返事をした。それに対してユキは何かを言おうとしたが、途中で思い直したように視線を上へ向けた。シオヤからもそれ以上の発言はない。私は会議室の奥へ顔を向ける。
「他はいかがでしょう?」
すると部屋の隅から、落ち着きのある声が上がった。
「あの、テスト担当ですが、手が空いてます。」
テスト担当は、単にテストをするだけではない。結果の分析、性能評価など計測に必要な準備を一手に引き受ける検証全般が役割だ。テスト担当によって、考察の深さにずいぶんと差があると常々思っていたが、このプロジェクトではどうなのだろう。
「すでにテスト用データは複数パターンありますし、処理時間を計測するツール類も出来ています。何かあれば手伝えます。」
テスト担当はそう言って、自分の現状を伝える。
「ありがとうございます。計測は大事ですからね。」
私はにこやかに返答した。
「一応、何か改善アイデアになる挙動がないかシステムを毎日動かしてはいますが、やや手持ち無沙汰でして。やれることがあれば、なんでも言って下さい。」
「それは心強い。あとで私から何かお願いするかもしれませんが、他のかたで、何か依頼したいことはないでしょうか?」
データリンクのチームからも、モニタ越しのシオヤ達からも声は出ない。誰もテスト担当に手伝ってほしいことが見つからないのだろう。
「登録から出力のそれぞれの細かい計測は済んでまして、他に何か計測して役に立てないか、自分なりに探している状況ではあるんですが・・」
テスト担当は自分の状況を少し説明した。手詰まりで本質とは思えない対応を無理にやっている、そんなところか。私はそう推定した。
「より深く計測して頂いているんですね。」
「ええ、まあ。でも、性能向上にはどの処理が一番効くのか、これだけ大規模なシステムですと、なかなか推定も難しくて。」
この大規模なシステムで、キモとなる部分を作ったのは誰だったか、まだ私はそれを知らないことに気づいた。
「なるほど。ところで入力処理を担当していたのは?」
私は頷きながら、別の質問をその場に投げかける。すぐにユキから声が上がった。
「はい、それはナギさんと私がメインにやっていました。ナギさんが不在になってからは、シオヤさんに参加してもらっています。そのおかげで処理性能は少し向上しました。ただこれ以上は入力を並列にしてもらわないと限界かもしれません。」
「私は本質的なことは何もしていない。このプロジェクトに急に参加させられてから、手伝いはしたがね。」
ユキの発言に対するシオヤの独り言だ。それに適切な返事も出来ないので、とりあえず私はテスト担当へ向かって言葉を返した。
「今は手が足りなくて困っているわけでもなさそうだ。人手で解決できない問題の方が大きいですね。何かあればすぐにお願いするとは思います。」
テスト担当が静かに頷いたのを確認してから、次に私はユキに聞く。
「なぜ最初は性能が出せると思っていたんですか?」
この質問は現段階で私の最も大きな疑問だった。最初のつまづきがどこなのか、その時の判断から遡れば物事が解決することもある。
「データごとの分類IDが同一な場合は直列処理をする必要がない、という前提でした。そして、この条件においては今利用しているデータシステムが断トツの性能を出していました。ですから、それにあわせて周辺の機能も最大に性能が出るように作り込んできたんです。単体試験もそれで通っていましたから。」
「そうなんですね。」
問題の原因を深く知るため私は話を促した。ユキは間違わないようにゆっくりと説明を続ける。
「なのに実際の環境下では分類IDが想定と違っていたのです。分類IDは細かくは何個かあって、制約条件なのはネットワーク用の分類IDだと認識していたんですが、じつはセキュリティ用の分類IDだったんです。このシステムにはセキュリティのレベルが複数ありまして、ネットワーク環境とは部分的に連動しています。一括登録する時は、一つの経路から来るネットワーク用のIDは、必ずしもセキュリティのIDと組み合わせが統一とは限らないのです。」
「なるほど。」
「・・・」
ユキはそこで一旦口ごもったが、その後の短い間に耐えられないのか言葉を足す。
「・・ずっとテストしていた環境が本番環境だと違うなんて、今さら言われても、こちらもどうしていいか。」
言い淀んだユキをかばうように、コオオルが状況説明を足してくれた。
「全国各地で蓄積されたデータがリアルタイムで集まってくる。その連携用システムだからな。まあ元がマニアックなシステムなので相当クセがある。」
「システムを正しく理解しないで使うからさ。」
またシオヤの正しい独り言だ。確かに普通のデータシステムはセキュリティ的に守られた内部にある。だからそんな所に気を使う必要はない。マニアックとは、たぶんそのあたりのことだ。そのシステムの特徴が高速化にも関係しているのだろうか。
「マニアックなデータシステムですね。興味深い。こんな状況でなければ面白く感じてしまいそうです。」
私の言葉にシオヤが反応する。
「まあ、ピーキーは扱いが面倒だ。そのあたりの検証をすっとばして組み込んだもんだから、こういうことになる。」
特定条件でのみ高い性能を出し、条件が合わない場合は性能が出ない。だからシオヤはピーキーと言ったのだろう。シオヤの愚痴めいた話がさらに続く気配があったので、私は話の途中を受け取る。
「まあ考慮もれがあった、ということでしょうね。」
曖昧にシオヤに返事をしてから、私は追加で質問する。
「利用データシステムの理解不足。それはあったとして、ところでデータの入力経路をセキュリティのIDを分類してから効率良く登録させることは出来ないのですか?」
ユキは再び説明を始めた。
「そこが要件に明確に入っていたんです。先方の環境が特殊でして、ここは登録直前に内部的に処理するしかないんです。」
先方は事前にネックとなる部分を見越していたのだろうか。もしそうなら、事前の打ち合わせで何か言及しているはずだ。
「うちの技術窓口、お客さんと主に話していたのはナギさん?」
「はい、私も同席はしてました。」
ユキはそう言って手を上げた。
「複数の入力経路について、見積もり段階で先方は何か言っていましたか?」
「いえ、何世代かあるシステムがまだ統合できていないからって。」
「そこで問題が出るとは先方も思ってなかった?」
「はい、たぶん。」
「じゃあ、擬似的に事前に分類できないですかね? 登録する手前で同じIDでまとめてから処理を入れるとか。」
「はい、今やっているのが、そのように分類IDごとにまとめる処理です。ただ登録前データを一旦蓄積しますし、スピードに限界がありまして。」
「データ登録の手前にもう一つ小さなデータシステムを用意するようなものさ。分類IDを一つ変えるだけじゃ済まない。フォーマットし直す必要があるが、それでもデータを溜めてからまとめて処理した方が結果としては早くなった。」
シオヤがそう解説する。
「すでにいろいろ試しているんですね。」
「はい、シオヤさん達にも協力頂いて、ここまでの性能にはなっています。」
「私は巻き込まれただけだがね。」
きっとシオヤは、データリンク側に嫌味を言いながらも、調査は丁寧にやっているのだろう。
「シオヤさん、もっと性能は上げられそうですか?」
「いや、厳しいな。やはり設計から見直すべきだと私は思いますよ。」
「そうですか。その場合の時間は?」
「正直、半年はほしい。」
こういう場合の期間はあまり信用できないと私は思っていた。直感的にはその倍以上は想定しておいた方がいい。
「まあ、最初の設計はナギさんの考えもあったでしょうからね。」
私は曖昧にそう言うと、ナナミの方を見た。
「皆さんのお話を聞いて、やはり事前の情報が私は足りていません。このまま一から説明をしてもらうのも貴重な時間を奪うようで申し訳ない。まずは私がここまでの資料をしっかり読み込みますので、今日は終わりにしませんか。」
私の言葉を受けて、ナナミは会議室を見回しながら言う。
「そうですね。ミヤマさんがそうおっしゃるなら、ここまでにしましょう。」
続けて私は正面へ向かって言葉を投げた。
「私ばかりが理解遅れていてすいません。ただ状況はよく分かりました。後で個別にお話聞かせてもらうかもしれませんが、引き続き皆さん、よろしくお願いします。」
それからモニタごしにシオヤにも声をかける。
「シオヤさんも、深めに調査に入ってもらっていいですか。そのための時間も確保されていると思うので。」
「取り掛かり中の案件を遅らせてもいいと言われただけだがな。まあ、分かりましたよ。」
偏屈だが一流の技術者は、会社組織の枠組みには従順なようで、私のお願いは聞き入れてくれた。
この会議で分かったのは、どうしようもない事態だ、ということだけだった。今の設計の限界は明確、そして初期設計で離れたインフラチームもこれ以上は助けに入る方法が分からない、というわけだ。
会議の後、私は大急ぎで資料を読みこんだ。時間が全く足らなかったが、最低限の理解が出来たところでリンクチームを呼んでもらう。コオオルとナナミも一緒に小さな会議室に入る。
「三人で取り囲むみたいですいません。」
「いえ、いいんですよ。解決できるなら。」
リンクチームを代表してやってきたのは、午前の会議でも説明をしてくれたユキだ。
「ナギさんが急にいなくなって、技術的な方向は全部ナギさんが握っていましたから、私もだいぶ困ってたんです。お二人が入られて気持ちが少し楽になりましたわ。」
コオオルとナナミを見たユキは、柔らかい笑みを浮かべた。会議室では分からなかったが、さっきはやはり緊張していたんだろう。
「何かあった時に責任をとる配分が小さくなったからかい。まあ私はもうすぐリタイヤだから、そういう要員としてはちょうどいいな。」
そう言ってコオオルは笑ったが、カラッとした言い方で不思議と嫌味がなかった。
「ナギさんがいなくなった直後は私がプロジェクトリーダー代行になってしまって、途方にくれていたんです。」
「そうだったんですか?」
私がそう言うと、ユキは冷笑ぎみに当時の話をした。
「シオヤさん達になんとか会議に参加してもらって。でも、それで何か変わるわけでもなくて、コオオルさんとナナミさんが入ってくれるまでは本当に心が落ち着きませんでした。今も別に安心しているわけではないですが、やっぱり全然違います。当時はシオヤさんの言葉一つが心に突き刺さるみたいで。」
「シオヤさんも技術面は厳しいですかね。」
技術レベルの違いが大きいと、逆に丁寧に教えるのは難しいものだ。そこは人にもよるが、少なくともシオヤはまわりを持ち上げていくより、自分がリードしていくタイプだと思われる。
「ナギさんは昔の遅延で懲りたって言ってました。以前の案件で予定よりリリースが大幅に遅れたことがあったそうで。それもあって、シオヤさんには深く入ってもらわずに、既存システムを最大限に利用する方針になりました。でも今考えると、もっと別の方法もあったのかもしれませんね。」
「シオヤさんの設計で進んでいたら、納期が厳しくなっていた可能性は十分ありますからね。その時のナギさんの判断でしょう。だけどうまくいかなかった時の逃げ道のプランがないと厳しいですね。」
「ええ、その通りで、今は逃げ道は見つかりません。他社がサービスしている高性能データベースを使うと処理時間はクリアできそうですが、環境的に導入が難しくてダメでした。」
プロジェクトの遅延に備えることは大切だ。一時的に費用高のデータシステムを使って追加の開発期間を確保する方法や、現システム利用を延長するなど。資料を見た限り、そのあたりも有効な手立ては見つかっていない。
「ところで、もう少し教えて下さい。異なる分類IDは同時に処理できないパターンがあって、そこだけ例外処理を入れていたんですね?」
「はい、当初はその例外処理はシンプルでした。ところが例外処理になるパターンが簡単ではなかったんです。ネットワークの分類IDがセキュリティのIDと一致していれば、どんなにバラバラでも高速で登録できます。でも同じネットワークの分類IDの中に、セキュリティの分類IDが3パターン以上になると動きがおかしくなります。正確にはネットワークの分類IDが1種類なら良いのですが、2種類以上でかつセキュリティの分類IDが違うと処理に遅れが発生して全部が例外処理になってしまう。
実際の運用でもよく発生する書き込みのパターンでして、複数箇所から同時に書き込みがあれば、大半が例外処理に流れて処理が遅れていく、と思われます。」
ついさっき読んだ資料を思い出しながら、私は質問をする。
「今回はセキュリティレベルによって、入力必須な項目が増減する、その項目同士で不整合がないかもプログラムでチェックして、結果を保存する必要がある。入力側の既存システムで制限をかけるわけにもいかない・・。今までと同じという条件なので、登録される側でデータを整え直すしかないと。」
大抵のシステムでは、途中経過の情報はすぐに削除される。そう出来ないのがこのシステムの大きな特徴であり制約だ。
「はい、その通りです。一番時間がかかるのは暗号化されたデータの解読でした。」
「このプロジェクトはもともと処理速度をいかに上げるかがキモで、ポイントとなる暗号化の部分が要件と合うデータシステムは数年前に他案件で作られたものだった。その性能を最大限使う方針だったですね。そこは今から見直せるものですか?」
「今から他のデータシステムを作り直すと、たぶん年単位の時間とコストになるので・・。それに現段階の性能は十分ではないですが、それでも他の手段と比べれば最速です。」
「難しそうですね。まあ、そうですよね。」
そこでナナミが口を開いた。
「先週までコオオルさんと私でも検討をしていました。やはり私たちの結論も難しいです。唯一可能性があるのはデータ登録する手前の処理の向上で、昨日までここにずっと時間に使っていましたが、この高速化もそろそろ限界なんですよね。」
「なるほど。登録時の処理時間を少し長めに設定してもダメですか?」
「フォーマットし直した分の遅れに目をつぶれば、同じIDなら大量のデータが一気に登録された時の処理はスムーズにはなります。でも、追加処理で時間が延びて、結局仕様を満たしません。」
「小手先の対応では難しいレベルの遅さ、ということですか。」
頭の中でシステムの動きの答え合わせをしつつ、私はさらに理解を深めようとした。元のシステムに備わっていた機能、ナギたちが追加した機能、そこもしっかり切り分ける必要がある。
「データシステムの登録スピードを上げるため一括登録を優先させた。このデータシステムは、項目が揃っていなかったり、項目ごとに矛盾があると登録エラーになる。自動補完もするし、暗号化の対応も必要だ。そういった処理を事前にやっておいて、後で一気にまとめて登録するのが一番スピードが出る。開発時のキモはそこだったと。」
「はい、その通りです。そこをクリアした時にプロジェクトの山は越えたと思ったですが。」
当時を思い出したのだろうか、ユキの返事はため息まじりだ。
「例外処理が多くなってしまう現象は、どの段階で分かったんですか? データシステムの仕様定義には正しく書かれてなかったんでしょうか。」
「仕様定義の解釈が難しいですね。少なくとも明確な記載はなかったと思います。」
「そうですか。」
今回のデータシステムが作られたのは五年ほど前だ。実績のあるシステムをナギが採用したのはそう悪い判断とは思えない。シオヤが提案したように全て新しく作るなら自由度が上がるが、完成度を上げるのにかなり時間と労力がかかる。それを見積もった上での判断だったのだろう。
「テスト環境で実験をしている間に問題に気づかず、また二か月ほど前の性能試験でも、問題のある現象は出ませんでした。この時はデータの入力経路は三か所だけ。」
「三つの入力経路だと問題なかったと。」
「面目ありません。入力が一秒に一万回を超したくらいから、たまに急速な速度低下が発生しました。ただ、別のバグがあって認識を間違ったのと、同じ条件でやっても再現せず、正しく問題を認識できていませんでした。それが経路を七つに増やしたら頻繁に発生するようになって、それで重大な問題との認識になりました。」
三つの入力経路でもおかしな動きは出ていた。その段階で誰か気づいてほしかったな、と私は思ったが口にはしなかった。
「では入力経路を増やしての試験をしたのは、つい最近?」
「はい、入力データを変換するシステムの動作確認が全て終わったので、七つ全てを同時に試験をしたタイミング、それが五週間ほど前。」
「そこから本格的な調査に入った?」
「はい、ナギさんや私たちも何日か泊まり込んでやってました。それでやっとネットワークの分類IDが2つ以上で、セキュリティの分類IDが3パターン以上の時はデータを一度に大量に登録すると、速度が大幅に低下すると分かったんです。」
セキュリティ用のIDはデータが解読され登録されるまでに何度か付け変わる。データが分類されたり暗号解除の段階に応じてだ。そして、その変化したセキュリティ用のIDが暗号化解除にも使われている。先ほど理解したばかりの内容だが、かなり特殊なデータシステムだとは納得できる。それだけに性能確保は大変だろう。
「データシステムの性能は厳密に定義されていたんでしたっけ?」
システムの性能は、数字にできる場合とできない場合がある。できない場合は大概が周辺の環境によって性能が大きく変わってしまうことが多い。そういう時は、可能な限りの性能を出すという曖昧な定義になって、性能に波がある前提で使ってくれということになる。
「最低限の定義はされていて、そこは満たされています。その前提が分類IDが同じ。私たちはその分類IDがネットワークの分類IDだと思い込んでました。でも実際はセキュリティの分類IDだった。」
「データシステムへ求められる機能もどんどん複雑化してますからね。それにしても大事な確認が最初に出来ていなかったのは残念でした。」
「はい、全く面目ありません。」
敗軍の将への事後インタビュー、そんな感じになってしまったので空気を変えることにする。とにかく技術的な具体を考えてもらうのが一番だ。
「とりあえず分類IDが何種類かあるなら呼び方を変えませんか? それで私のような後から入った人間も誤解がなくなる。」
「そうですね。ちょっと資料の更新が手間ではありますが。」
少し考えながらユキが答えた。
「分類IDはいくつあるんですか?」
「IDは四つですね。データそのものが持つIDを単にIDと呼んで、それ以外が混乱しやすいです。データの中身に関する分類用、ネットワークに関するもの、セキュリティに関するもの。」
「今はそれぞれなんと呼んでますか?」
「えーと、人によって違いますが、データ分類IDとだけ言えばデータの中身に関するもの、それにネットワークとかセキュリティとか言葉を足しています。」
「データ分類ID、データ分類のネットワーク、データ分類のセキュリティですね。それぞれデータID、ネットワークID、セキュリティIDでいいような気がしますが。」
「確かに名称を変えてもいいしれませんね。ただ、当初のデータリンクが作られた時の資料の名称と違ってくるので。」
「昔の資料を書き直した方が、最後は仕事がやりやすくなりますよ。とりあえずは分類IDという言葉はなしにして、今はデータID、ネットワークID、セキュリティIDと呼ぶではどうでしょう。」
「データ、ネットワーク、セキュリティ、そうですね。ただ、データ分類IDと別にデータそのものにつくIDがあるので、データIDと呼ぶと、そこと間違えそうな気がします。」
「なるほど、そのIDは具体的にはどういう分類ですか?」
「データそのもののグループわけで、内容によってプログラムで上書きする場合があるんです。」
「ではデータタイプID、短くタイプIDとかですかね?」
「・・・データID、タイプID、ネットワークID、セキュリティID。はい、すっきりしますね。」
「それは良かった。できたら早めに全員に共有したいですね。」
「そうですね。明日の進捗会には伝えるようにします。」
名称について意識が揃ったところで、私はさらにユキに頼み事をする。
「ところでユキさん、実際にデータ登録で発生する問題を見せてくれませんか?」
「はい、もちろんです。試験はいろいろやったので性能試験用の環境はできてます。ちょっと準備と人の確保をするので、そうですね、三十分後からでもいいでしょうか。」
「はい、お願いします。」
ユキからの連絡で再集合することになって、その場は一旦解散した。




