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

魔女の刻 (29) グリーンリーブス・ダウン

»

 年が明けると、インテグレーションテスト、ユーザテストが開始となった。まだ、一部で結合テストとテスト結果による実装の追加、修正は続いてはいたが、スケジュール的に全ての完了を待ってはいられないため、並行して実施することになったのだ。
 どうやら正月返上で仕事を続けていたらしい白川さんは、1 月8 日の朝、久しぶりに私たちの前に姿を現した。目の下の隈はメイクでも隠しきれないほどで、元々細い身体からさらに肉が落ちたように見える。思わず心配になったが、私たちに語りかける声からは、まだエネルギーが失われていなかった。
 「今日の午後からテストの最終段階が開始です」白川さんは笑顔で告げた。「とはいえ、結合テストと実装で忙しいみなさんに負荷がかかるわけではないので、ご心配には及びませんよ。インテグレーションテストは、エースシステムからテストチームが来て行います。ユーザテストも同じく、タスクフォースの方々プラス臨時に編成されたテストチームです」
 プログラマたちの何人かが安堵したように頷いたが、白川さんの話は終わっていなかった。
 「ただですね」白川さんはクスリと笑った。「今月、来月はみなさんの作業量が減ることは、まずないと思ってください。経験ある人もいるでしょうけど、うちのテストチームはそりゃもう細かいところまで指摘してきますから。しかも、修正には即時性を求められるものもあるし、その日のテストが終わった後、次の日の朝までに修正が必要なケースもありますから。テストは19:00 までの予定ですが、みなさんはその後にも作業が残っているわけです」
 ざわめきがさざ波のように広がった。私の隣で細川くんがぼやいた。
 「いつになったら早く帰れるんでしょう」
 それに答えるように、白川さんは微笑みながらタブレットを操作して、55インチ液晶TV に表を転送した。

tests.png

 「テスト種類を簡単にまとめた表です。注目していただきたいのはオープンテストです。これはKNGSSS のみの話ですが、3 月26 日に完成披露セレモニーを実施することになりました。市長をはじめとする市役所の方々、くぬぎ市教育委員会や市内の小中学校の代表が参列される予定です。その場でタブレットとデジタルホワイトボードを使って、参列者の方々に、KNGSSS の一部機能を自由に操作していただきます。内外のマスコミも参加されるはずなので、ここで失敗なんかしようものなら、関係者全員が火あぶりにされてもおかしくありませんよ。私はあまり精神論を口にするのは好きではありませんが、ここはいっちょ気張ってつかあさい」
 笑い声と呻き声が広がった。
 「ほら」私は液晶TV を指して細川くんに囁いた。「少なくとも、3 月26 日には一段落してなきゃいけないってことみたいよ」
 細川くんは力なく頷いた。その隣で、東海林さんが手を挙げた。
 「テストはどんな環境で行われるんでしょうか」
 「つまり気にしているのはこれですね」白川さんはセルの1 つを網掛け表示にした。「本番環境、または本番環境と同等の環境下で行う。本番環境はどうなっているんだ、ってことを訊きたいんですよね」
 「そうです」東海林さんは頷いた。
 「おかげさまでVilocony の設定はほぼ完了しています。でないと、今日の午後からのテストに間に合いませんから。まあ、微調整は必要でしょうが。東海林さんは実装寄りの部分だけ気にしていていただければ大丈夫ですよ」
 東海林さんは続けて何か質問しようとしかけたが、思い直したように口をつぐんだ。他に質問は出なかったので、白川さんは解散を宣言し、またコマンドルームに戻っていった。
 自分の席に戻った後、私は東海林さんに小声で訊いた。
 「さっき何を言いかけたんですか」
 「今さらだが、白川さんは大きな危険が潜んでいることに気付いてるのかな」東海林さんは暗い顔で言った。
 「というと?」
 「Vilocony の環境設定は、白川さんにしかできない。もし、白川さんに何かあったら......」
 当の本人に向かって訊くのは、さすがにはばかられただろうが、その危険は常にある。現に白川さんが入院している間、プロジェクトの進行は大きく遅れ、混乱してしまったのだから。
 「確かに」私は東海林さんに、というより、自分に言い聞かせるように言った。「でも、白川さんが気付いていないはずがない気がしますけどね。彼女にとっては重要なプロジェクトなんですから」
 「エースシステムにとってもな。でも、白川さんはそう考えてはいないのかもしれないぞ」
 どういう意味なのか訊き返そうとして、私も東海林さんの思考の先に行き着いた。白川さんが、Vilocony の設定を属人化することで、エースシステム社内での出世につなげようとしているのではないか、と言いたいのだろう。
 「そんな人じゃないと思いますけどね」
 「そうか? 白川さんはPL としてはまともな方だと思うが、それでもエースシステムの人だからな」
 「それは偏見じゃないですか」
 そう言い返したものの、私の中にも釈然としない思いはあった。全体最適化の魔女が、自らをSPOF にするとは矛盾しているように見える。
 プログラミングはできないかもしれないが、白川さんのシステム設計のセンスは一流だ。実装しているときには役割が全く理解できなかったコンテナが、結合テストで他のコンテナと組み合わせたときに、初めて重要なピースだったことが判明する、そんなことが何度もあった。冗長性も考え抜かれていて、どの機能にも必ず代替手段が用意されている。たとえばKNGLBS の蔵書検索機能はHTML 画面だが、Windows のコマンドプロンプトからでも同等の結果が得られる機能が準備されていたし、各システム間のデータ連繋はHTTP の他にUDP による送受信も可能だ。そこまで用意周到な人が、Vilocony 環境設定を独占するのは変といえば変だ。
 「まあ、こう言っちゃなんだが」東海林さんは苦笑した。「サブリーダーにしろ、他のSE にしろ、安心して任せられる人材がいないからかもしれないけどな」
 ひとまずは頷いたものの、違和感が解消されたわけではなかった。白川さんにとって、くぬぎ市再生プロジェクトは重要なシステムなのは間違いないが、一介のプログラマでしかない私だって、これだけの時間を費やして携わってきたシステムだ。それなりの愛着もあるし、きちんと継続的に正常動作することで、くぬぎ市民に感謝されるシステムであってほしい。
 そのうち時間を見つけて、白川さんに話をしてみようか、と思ったが、午後になってエースシステムからテストチームが到着すると、そのことをすっかり忘れてしまった。

 ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 エースシステムから到着したテストチームは総勢9 名、リーダーは丸尾と名乗る40 代の男性だった。
 「どうも白川さん」丸尾さんは出迎えた白川さんに、ともすれば敵意ともとれる態度で応じた。「とことん厳しくやらせてもらうよ。うちにとって、こいつは重要なプロジェクトだからね」
 「お手柔らかに、と言いたいところだけど」白川さんも負けていなかった。「ま、ご自由にどうぞ。丸尾さんもいろいろ大変でしょうから」
 「何だって?」
 「去年の、K自動車プラント資材部の調達システムでしたっけ、テストで見落としだか何かがあって、号口後の最初の月次で処理が止まったそうじゃないですか。まずいですよねえ。今度、ミスがあったらもう部長もかばいきれませんよね」
 丸尾さんの顔は、目に見えて強張った。
 「あー、いやいや」白川さんは笑顔で手を振った。「誤解しないでくださいよ。別にテストで手を抜けとか脅迫してるわけじゃないですから。それぐらい必死でテストしてもらった方が安心だってことです」
 「もちろん、仕事はちゃんとやらせてもらう。あんたらが寝るヒマもないぐらい、バグ出ししてやる」
 「きゃー!」歓声を上げながら、白川さんは私たちの方を振り向いた。「みなさん、聞きました? 今夜は寝かせないぞ、ですって」
 「おい」
 「ま、冗談はこれぐらいにして」白川さんはSE の一人を呼んだ。「早速仕事にかかってもらいましょうか。席にご案内して」
 その少し後に、瀬端さんたちタスクフォースのメンバーも入ってきて、開発センター内の人口は一気に増加した。タスクフォースのメンバーは当初、開発センター内に全員が常駐し、仕様の確認と打ち合わせに対応してくれていた。その後、私たちの作業の比重が実装と単体テストに移るに従い、その人数は大幅に減り、最近では交代で一人が開発センター内で待機しているだけだったから、全員が顔を揃えるのは久しぶりだ。丸尾さんと異なり、瀬端さんは礼儀正しく挨拶した。
 「いよいよここまで来ましたね」瀬端さんは白川さんに言った。「もう少しです」
 「よろしくお願いします」
 その日の午後は白川さんとテストチーム、タスクフォースとの打ち合わせで終わってしまったが、次の日は朝9:00 からテストが開始され、30 分もしないうちに、次々に修正依頼のチケットが上がり始めた。一応、しっかり予習はしてきたらしく、修正依頼のチケットは、細かくはあるものの理にかなっている内容ばかりだったので、私は一安心した。またぞろ、勉強不足、スキル不足の相手をすることになるのでは、と内心、不安だったのだ。丸尾さん率いるテストチームは、宣言した通り、一切の手心を加えることなく仕事に取り組んでいるようで、上がってくる修正内容は前評判に違わず細かいものだった。
 「うう」細川くんがチケットを見て呻いた。「これ見て下さいよ。『画面左側の区切り線がヘッダ部分だと20px だがコンテンツ部分だと24px になっているから揃えること』ですって」
 「私のだって似たようなもんよ。『確認画面の戻るボタンと決定ボタンの間隔が60px になっているが、近すぎるので200px まで離す。同時にボタンの幅を長い方に揃える。ただし幅は10 の倍数とすること』。まあ、これぐらいならマシな方よ」
 面倒なのは修正そのものよりも、修正前と修正後のエビデンスを作成し、テストチームに確認依頼を出さなければならないことだった。いずれにせよ、修正後にもテストサイクルが再度回るのだから、修正完了連絡のみを行えばよさそうなものだが、エースシステムぐらいの大手SIer ともなると、全ての作業工程を記録に残すことが必要になってくるのだ。
 「それより、環境の切り替えの方が面倒」私はそのとき開いていたini ファイルを指した。「これ、何とかならないのかな」
 もう一つ手間だったのは、テストで必要となるVilocony の接続先が異なることだった。ユニットテスト、単体テストではA フレに付属するVilocony エミュレータで、結合テストはテスト環境、インテグレーションテストとユーザテストではproduction 環境のクローン環境でテストを実行する。さらに、インテグレーションテストとユーザテストは、互いに影響を与えないように、それぞれ別のクローン環境になっている。ところが、どういうわけか、A フレには接続先の動的な切り替えを行う機能が準備されていない。そのため、まだ残っている結合テストを行う場合と、インテグレーションテスト、ユーザテストでは、ini ファイルを書き換えた上で、Eclipse の再起動が必要となる。実装と単体テストはローカルのA フレ環境内で完結できるのだが、エビデンス作成はそれぞれのクローン環境での実施が必要だからだ。
 「エースシステムには言ってあるんだがなあ」東海林さんも顔をしかめた。「どうもA フレそのものの問題らしいから、改善は難しいかもしれないなあ。それはそうと、やっぱりレスポンスが遅くないか?」
 「ああ、はい」細川くんが頷いた。「KID ライブラリから返ってくるタイミングが、ワンテンポ遅れる気がしますね」
 テスト環境、production クローン環境の他、Vilocony の設定を行っている白川さんだけが使用するクローン環境も、何バージョンか立ち上がっているので、年明けからはクラウドサービスのリソースが数倍に膨れあがっている。そのせいか何日か前から、プログラマたちの口から、レスポンスが遅いという言葉が聞かれるようになっていた。エースシステム側はクラウドサービスを提供しているグリーンリーブス社に調査を依頼したようだが、何日経っても状況は改善されなかった。

 ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

 それでも、2 週間ほどは順調にテストが進行した。この頃になると、残っていた結合テストもほぼ消化されてきていたので、私たちにアサインされるチケットのほとんどが、インテグレーションテストとユーザテストに対する修正、追加だった。
 多くのプログラマが、同時に同じ環境にアクセスを繰り返しているためか、レスポンスは安定していない。時間帯によっては劇的なまでに改善することもあったが、大抵の場合は明らかに遅延している。
 グリーンリーブス社との連絡を担当しているのは、サブリーダーの一戸さんだった。当初は、それほど重視しているようには見えなかったが、何週間経っても改善されるどころか、日々悪化していく現状を目の当たりにして、さすがに苛立ちを露わにした。
 「たかだか何十人が接続したぐらいでこれじゃあ」一戸さんは電話口に怒りの声を浴びせていた。「本番稼働したときにどうなるんですか。ちゃんとやってくれないと困るんですよ、ちゃんと」
 これは、そのうち絶対何か起こるな、と誰もが抱いていただろう予感は、不幸にして的中した。
 1 月24 日の14 時過ぎ。テストチームの席から一斉に驚きの声が上がった。
 「え」
 「おいおい、いきなり切れたぞ」
 「なんだ、なんだ」
 丸尾さんが立ち上がると、一戸さんの席に突進した。
 「おい、どうなってるんだ」丸尾さんは歯を剥き出して喚いた。「クローン環境につながらないじゃないか」
 ほぼ時を同じくして、タスクフォースの席でも一斉に戸惑いの声が上がった。瀬端さんが急ぎ足でやってくる。
 「すいません、一戸さん」瀬端さんは困惑した顔で言った。「こっちのクローン環境もつながらないです」
 ああ、やっぱり来たか、と思いながら自分のPC に視線を戻した私は、いつの間にか表示されていたダイアログを見て驚いた。

 Data Connection Not Working...503

 「あれ」細川くんが首を傾げた。「つながらない」
 周囲でプログラマたちが、次々に手を止め、顔を上げ始めた。互いに症状を報告し合っているのを聞いていると、やはりクラウドとのネットワーク関係でトラブルが発生しているようだ。
 「一戸さん」東海林さんが立ち上がった。「テスト環境の方も繋がってないですよ」
 一戸さんの顔にはパニックの一歩手前の表情が浮かんでいた。すでに受話器を握っていたが、それを一度戻し、また取り上げた。
 「ちょ、ちょっと待ってください。今、確認します」
 一戸さんはIP 電話のhistory ボタンを押し始めたが、コマンドルームから白川さんが出てきたのを見て手を止めた。白川さんは険しい顔で一戸さんに問いかけた。
 「クラウド環境、どうなってるの。全部落ちてるじゃないの」
 「今、連絡しようと......」
 白川さんは頷いて、一戸さんに電話するよう目で促した。一戸さんはボタンを押して通話を開始した。
 平日の昼間だというのに、先方が応答するまでかなり時間がかかった。白川さんは何も言わずに待っていたが、一戸さんはオーブンで炙られているような気分だったに違いない。
 ようやく相手が出たらしく、一戸さんは安堵の表情で口を開きかけたが、言葉を発する前に、白川さんがフリッカージャブでも打つように素早く手を伸ばし、受話器を奪い取った。
 「エースシステムの白川です」シベリアの冬もかくや、という声だった。「田中さんですね。今すぐ、巽さんを出してください。いや、来客だろうと知ったことではありません。今すぐ電話に出ないと法的措置を取ります。法廷で顔を合わせたいですか? では、急いだ方がよろしいですよ」
 指名した相手が出るのを待つ間に、白川さんは一戸さんを椅子からどかせると、座って細長い足を組み、受話器を耳に当てたまま目を閉じた。相変わらず疲れているようだ。顔色も良くない。
 「白川さん」瀬端さんが小さな声で話しかけた。「市役所から連絡ありました。行政オンライン、図書館システム、学校情報支援システムも停止してるようです」
 どうやらクラウドサービス全体がダウンしているようだ。予想していたのか、白川さんは目を閉じたまま、驚いた様子もなく頷いた。
 「ああ、巽さん」ようやく通話が再開した。「状況はご存じでしょうね。ええ、そうです。いえ、まず行政オンラインなどの復旧を優先してください。当然です。いや、リソースの配分がどうのというのは御社の問題でしょう。こちらの環境は後回しでいいので、本来止まるはずのない環境の復旧に全力を注いでください。ああ、それから、弊社から人をそっちにやるので、復旧作業についての進捗状況を、その人間に逐一報告していただけますね。よろしくお願いします」
 それに答えて、相手が苦情か何かを言い始めたらしい。白川さんは10 秒ほど耳を傾けた後、相手の言葉を遮った。
 「何なら、御社のCEO に直接話を持って行きましょうか」
 白川さんは受話器をIP 電話に戻すと、自分のスマートフォンを出した。
 「白川です。誰か手が空いている人を、グリーンリーブス本社に行かせてください。運用部の巽部長です。詳しい指示は、メールしておきます。はい、よろしく」
 通話を終えた白川さんは、一戸さんを睨んだ。
 「早めにグリーンリーブスを突っついておけと言ったでしょう」
 「すみません」一戸さんは蒼白になった。「何度かメールはしたんですが......」
 「まあ、今回は仕方がないけど」白川さんは立ち上がった。「以後、しっかり管理するように。コマンドルームにいるから状況は連絡して」
 白川さんがコマンドルームに入っていくと、一戸さんは大きくため息をついて、自分の椅子に崩れ落ちた。
 行政オンライン他の既存システムが復旧したのは、40 分後だった。後回しにされたテスト環境、production 環境等が復旧したのは、2 日後の1 月26 日。その間、全てのテスト作業、実装作業は停止し、私たちは手持ち無沙汰のまま、無為に過ごすこととなった。グリーンリーブス社からは、対策を講じたと連絡があっただけで、原因等の報告はなかったらしい。

(続)

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

Comment(11)

コメント

サルーン

そろそろ第一話の原因、解決策に直接つながるネタが入れられてそうですね。

匿名

なんかはじまったのか

> 行政オンラインなどの復旧「を」優先してください

匿名

白川さんがプロジェクトを属人化しようというのは、
エースのためではなく、自分のためだからなあ。
ぶっちゃけ、仕事に私情を持ち込んでいるわけだ。
ま、このへんはエピローグでのお楽しみってことで。


それにしても、Q-LICがクラウドに直接手を伸ばせるとしたら洒落になりませんよ。
そこまでしちゃったら興醒めでしょうけど。

3STR

要塞にあえて弱点を作って攻め手を重点防御ラインに誘引する、みたいな計略があったような気がしますがはてさて。
普通の仕事で得られるリワード考えたらそんなギャンブル踏む価値はないはずだけど・・・いよいよ佳境ですね

匿名

白川がやけに喧嘩腰なのが気になる

タイトルの元ネタは
『ファイアフォックス・ダウン』
かな?

匿名

>それでもエースシステムの人だからな

このセリフに、東海林さんのエースシステムへの認識の全てが集約されているなw

リーベルG

匿名さん、ご指摘ありがとうございました。

SE希望就活生アルファ

この物語に一目惚れして一気にここまで読みました
環境がちょっと怖くなったとかありますけどそれ以上に楽しく読ませてもらってます

匿名

これで白川が最後の最後に、
実は Q-LIC もエースシステムも自分の秘めた野望を達成するための駒に過ぎなかった事を明かす、なんてオチが来たりして。
白川の性格なら、エースに対して面従腹背を決め込んでいただけだったとしても、何らおかしくはなさそうだが、はてさて。

匿名

クラウドで、たかだか2環境の復旧に2日...陰謀の匂いがすごい。Q-LICってただの1企業と思ってたけと、裏は大きいのかな。それこそハウンド関係とか。

コメントを投稿する