13 一筋の光

 去年の夏の猛暑の反動で、今年の冬は厳寒だ。
 一昨年前はちょうどこれからプロジェクトの高い山を登っていこうとしていた段階で、身構えていたが、あれから1年も経つと、慌ただしかった出来事すら懐かしく感じるものだ。
 だが、システムリリースまではまだ1年以上ある。いや、トラブルとか引継ぎとかを考えると、あと1年しかない、と考えた方が良いかもしれない。
 短いIT2も既に後半に差し掛かった時。姫宮と中林とで、撤退を言いだしたサクセス社から、どのように引き継いでいくかの作戦を考えていた。作戦と言っても、現時点で業務アプリチームにいるGCSCの正社員は真鍋一人だ。手持ちの弾が一つしかない状態でできる引き継ぎなど、たかが知れている。
 真鍋は新人でこのプロジェクトに着任し、フレームワークのガイドを書きながら技術スキルを向上させたようだが、業務アプリチームに合流してからは状況が良く分かっていない。さらに中井が離任してからというもの、サクセス社に運営管理を任せっきりになっていたため、真鍋を直接教えている社員はこの時点で誰もいなかった。ずいぶん彼女も放置してしまったため、やさぐれていないか心配だ。
 「リリー、サクセス社のことで相談があるんだけど、ちょっと良いかな?」
 「はい、何でしょう。。」
 着任したての頃は彼女の距離感に驚かされたが、この3年間でずいぶん落ち着いたようだ。
 「サクセス社の営業から、このプロジェクトを撤退したいと言われたよ。現在の体制で、どのように引き継げるのかを相談したい。」
 「え?川平さんたちが、ですか?」
 本件についてはサクセス社内でもかん口令が敷かれていたため、まだチーム内でも知らされていないようだ。
 「そう、中井がいなくなってからというもの、ほとんど丸投げにしてしまったからね。川平さんも、管理したり推進したり、色々大変だったとは思う。」
 「へーそうなんですね。私としてはむしろその方が良かったです。だって業務アプリチームの社員って私だけですよね。打ち合わせするたびにGCSCの対応の悪さをいつも聞かされてて、少しウンザリしてたんです。」
 意外な反応だった。引き継ぐのは相当大変なはずなのだが、そこは苦に思っていないのだろうか。
 「そうか。それはつらい立場にさせてしまい申し訳ない。でも実際引継ぐって現実的にどうできるのかがわからなくて。」
 「そんなの簡単ですよ。セキュリティは私が理解していますし、バックオフィス機能もあるけど、たぶん彼らもわかってないから引き継ぐものなんてないです。そうすると円定期くらいじゃないですか?」
 ・・・ひょっとしてこの子は、凄いのか?はたまたこの流れになることが分かっていたのだろうか。さらには既にその準備をしていたということなのか。ウィル社の笹山は自社の社員の優秀さを事あるごとに吹聴していたが、知っている人間から見るとそんなものなのかもしれない。
 「でも、重要なのはやはり業務アプリだと思うんです。だから、絶対社員を増やしてください!」
 「社員だね。これまでの丸投げが招いた結果だし、この先のテストを考えると、管理者は社員で見直そう。それも重要だけど、開発メンバーは緑システムに任せたいと思っている。どう思う?」
 「緑さんですね。共通機能もやってるし、いんじゃないすか?」
 いんじゃないすか・・・これから綱渡りのような引継ぎ計画を考えなければならないのに、真鍋と話していると、昨日までの不安がすうっと消えていく感じがした。と同時に、この子だけは絶対に守り抜こうと考えた。
 「わかった。俺も業務は少し見ていたし、全力でサポートするから、これを最後の体制変更と思って乗り越えよう。」
 「わかりましたがんばりましょう!」
 これまできっと独りぼっちで辛かったに違いない。上司は居てもいないようなものだったし、サクセス社にも散々振り回されていたはずだ。何とか励ましながら引継ぎへの協力をお願いするつもりだったが、情けないことに逆に真鍋から元気をもらってしまった。
 2021年2月。
 IT2の終了まであと1ヶ月。結局サクセス社には次の工程であるST1の前半、6月まで一部の人に残ってもらい、徐々に引き継いでいくことにした。
 同時に、STからは活動の主体がベンダーから銀行に変わっていく予定だ。業務要件を再確認しながら、銀行業務を網羅するテストシナリオを作成していく必要がある。そのため、プログラミングばかりではなく、これまでとは違ったスキルセットも補っていく必要があり、適任と思われる社員を投入することになった。
 王子という名のその社員は、保守サービスにおけるカスタマーサービスの責任者を多く経験したことのある人物だ。彼の気配りの良さは銀行と協力体制を作っていく上で頼りになると考えていた。
 「姫宮さん、ご無沙汰しています。話は聞いています。どこまでお力になれるかわかりませんが、宜しくお願い致します。」
 「王子さん、ちょうど体制を切り替えて行くところでしたので、一緒に頑張りましょう。」
 あとは、緑システムだ。
 彼らは2021年の年明けから業務共通チームに参画した委託先であった。1年前は大畑氏が責任者であったが、例の事件により怒って離任してしまった。その後任として、下川という別の責任者が着任していた。緑システムが一次請けであったが、実態はサクセス社同様、再委託先のコンプリーションという会社の要員で構成されていた。その中で千田というリーダーがエンジニアをまとめている。そんなコンプリーションはウィル社と比べ、高いスキルのエンジニアが集まっていた頼りになる会社だ。
 因みに、契約における再委託先に直接依頼をかけるのはご法度とされている。契約上は緑システムがGCSCに対して直接的に責任を負っており、彼らがどこと契約するかは、委託した業務をどう処理するかの手段に過ぎない。再委託先と直接交渉を行ってしまうと、間に立っている緑システムは居なくても良いということになり、架空の契約とも捉えられかねない。このように元受け業者が再委託先に直接依頼を行うような行為は「偽装請負」と言われ、SI業界の古くからの悪しき体質であった。そのため、本来再委託先を守るべき契約を確実にするために、特に労働現場における委託先との作業管理については、厳しくルールが定められていた。
 「下川さん、この先は共通チームと共に業務アプリを御社に一本化したいと思っています。そのためサクセス社から引き継いで頂きたいのですが、いかがでしょうか。」
 サクセス社が撤退するから、とは言わない。緑システムにとっても人が増やせる材料だ。悪い話ではないだろうと思いながら、下川の回答を待った。
 「お話ありがとうございます。是非前向きに取り組んでいきたいと思います。増員することも出来ますので、時期と人数を教えてください。」
 何とか快く受け入れてくれそうだ。もし余計なことを言えば心配させるだけだっただろう。
 「ありがとうございます。本日は方針合意ということで、具体的な要望は改めてお伝えします。ただ、出来ればコンプリーションの方々のようにスペックの高い方を希望します。」
 「はい、そこも調整します。」
 この程度の要望であれば契約上も問題はなかった。
 そして契約と言えば、GCSCと銀行の契約も切り替わろうとしていた。
 通常、ベンダーと顧客との契約は、準委任または請負のいずれかで締結されるのが一般的だ。この2つは、瑕疵担保責任があるかどうかで変わってくる。準委任とは、簡単に言えば銀行から委託される仕事をすることが契約の対象で、システムを完成することまでは責任を負わない。
 一方請負については完全に成果主義の契約であり、仕事の完成責任を負う。システム開発を請け負ったら、システムが完成しない限り契約履行とはならない。ベンダーが主体となるIT2までは請負契約であり、ST1からは準委任契約となる予定であった。この契約が切り替わるということで、新たな契約上の問題も生み出した。
 2021年4月。
 IT2が終わり、プロジェクトはST1に進行していた。体制はこの段階で減員し、同時に立て直しのために参画していた北門、君津、中林も離任していた。
 この先のテスト工程は銀行の業務オペレーションを中心に検証していくことである。ここまでくると、誰もが本番リリースを意識している。そしてチーム「レインフォース」としては、王子たちが新たな業務アプリチームとして進めることとなった。
 かぞく銀行の業務の特徴として、家族が使うスマホを前提にしている点が挙げられる。そしてスマホアプリを使ったテストはユーザーテストと呼ばれ、マーケティング部がテストを行うこととなっていた。スマホアプリを通し、家計を丸ごと管理する。そうすることで家族の絆を深め、銀行としても家族情報を囲い込むことが出来る。スマホアプリこそがサービスの魂と言っても過言ではなかった。フロントチャネルシステムは、アプリを連携先とし、このST1で特に検証が進められた。
 「王子さん、スマホアプリからログインしようとしても、画面が切り替わらないのですが。」
 銀行フレームワークチームの牛元調査役から新たな問い合わせであった。この時点で牛元は調査役に昇格しており、チームの責任者となっていた。
 「確かに、何故でしょう。我々が確認した際は特に問題なかったのですが。」
 「いずれにしても、至急原因究明を行ってください。マーケティング部では大量のテストシナリオを準備しており、これが解消されなければ多くのテスト担当者の作業が進みません。」
 「承知しました。確認しますので、少々お時間を頂けますか。」
 調査の結果、特定のブラウザの場合に、スマホアプリからログインができなかった。だが何故そうなってしまうのかは、分からなかった。
 「そんな、GCSCさんが先に検証を済ませていたはずではなかったのですか?」
 ブラウザだと言っているのに、GCSCを犯人扱いするような言い方だ。
 「ブラウザについては1種類のみで実施しています。世の中に色んなブラウザがありますが、1つ1つなんて検証はしていませんよ。」
 王子も困った表情を見せながら冷静に説明した。
 「でも、このブラウザはスマホアプリでは標準としているものです。それを確認していないだなんて、テストしていないのと同じじゃないですか!」
 そういわれても、テスト計画では細かく定められておらず、一通りの機能が稼働することをもってユーザーテストが開始できる、とのみ記載されていた。これはこれで間違ってはいない。
 とはいえ、今そんなことを争っても、テストが進むわけではない。
 「困りましたね。正しく動かない原因もわかっていません。事実としてそうなっているということがわかったのみなのです。」
 「とにかく直ぐに原因を特定して、修正してください!こっちはマーケティング部から責められているのですよ!」
 そんなことは知ったことではない。と王子は言いかえそうとしたが、このタイミングではエスカレートするだけだ。原因究明につながるならいくらでも言ってもらいたいが、こちらの作業を止めている以外の効果はない。
 「原因究明は続けます。ただ、直ぐにはわからない可能性がありますので、他のブラウザで出来る部分を先に進めて頂くことは出来ないでしょうか。」
 「わかりました。確かにそういう回避方法もありますね。マーケ部に相談してみます・・。」
 牛元調査役は銀行内でもまだ下っ端なのだろう。同情というわけではないが、板挟みとなる人物の気持ちは痛いほどわかる。銀行員といえども皆、経験によって成長していくものだ。
 この件については神城を頼り、この問題の原因を探ってもらった。その結果、スマホアプリ側に問題挙動があるらしいことがわかった。
 「ログイン処理の中で特定のブラウザの場合にのみ2回リクエストが送信されているようです。これは、スマホアプリの中で制御が必要ですので、そちらで改修が必要と思われます。」
 そういって図解して牛元調査役に説明を行った。
 「うーん。御社の調査の結果としてはわかりました。だがアプリが修正されるかどうかは、難しい問題です。マーケ部が納得しない限り、問題は解消しないかもしれませんよ。」
 いちいち相手の顔色を窺う人だ。こちらの知ったことではなく、事実を伝えているだけなのだ。まさか事実を変えろとでも言うのか。
 だが、マーケ部に確認してもらった結果、図解された事象の説明を理解してくれたようで、すんなりとスマホアプリの改修が行われ、事なきを得た。やはり、事実は何よりも勝る証拠となるのである。
 問題は解決したのだが、矛先はまだこちらを向いていた。熊手部長への定例報告の場で、この件が取り上げられた。
「GCSCさん、何故事前のインターフェース確認中に発見できなかったのですか?」
何故と言われても、銀行の定めたテスト計画に従ったまでだ。この段階で見つけるのは、むしろ妥当ではないのか。
 「あくまでテスト計画に従って取り組みました。代表的なブラウザがノーチェックだったのは申し訳ありませんが、他で確認は行っていますので、作業を怠ったわけではありません。」
 「計画の意図をくみ取れば、未然に防げた内容でしょう。テストをお願いしているということは、銀行の立場も理解したうえで考えて頂くということですよ。今後はこのようなことが無いように確りしてください。」
 「その点は期待に応えられず申し訳ありません。重要度を理解したうえで取り組みます。」
 「お願いします。」
 気持ち的には1敗1分といったところだ。
 開発プロジェクトにおいて勝ち負けは重要だ。特に問題が生じたときの責任はどちらあったのか。
 十分な注意を払っておきながら起きてしまったものは、経緯を慎重に検証しなければならない。過去に合意した内容が残っており、その通りに進めてきたのであれば、一義的には責任はないはずだ。この時相手の話が抽象的であればあるほど、具体的な事実で反証する必要がある。厄介なのは、具体的な反証材料がない場合だ。そのような場合、お互い感情的なやり取りにしかならない。そのため事実関係以上に感情をコントロールすることが得策となる。まずお詫びすることによって気持ちを静めてもらい、冷静に話せる状況を作っていく必要があるのだ。
 2021年5月。
本番リリースまでついにあと1年を切った。特定ブラウザでログインできない問題は収まったが、まだ別の問題が残っていた。
 かぞくスマート認証という重要な認証機能がある。子供が資金異動を行う際に親のスマホアプリに取引内容をプッシュ通知し、親はそれを見て取引を承認する、というものである。問題というのは、この機能はこの段階でもまだ稼働していなかったことである。操作の都度スマホアプリを使うため、これまではスタブというテストモジュールを利用して終えていたのだ。
 そしてこの段階で動かないということは、先のユーザーテストにも影響を与えていた。
 「王子さん、いつになったら動くのですか?マーケ部にはこの機能だけ後回しにしてもらっていますが、そろそろ後がなくなってきていますよ。」
 牛元調査役の督促が続いていた。ただ、特定ブラウザの問題とは異なり、機能そのものが動いていなかった。オープンソースライブラリを使っており、製品の使い方が良くないのか、現行システムの設計書とも見比べたが、特に使い方が間違っているようにも見えない。
 「設計書の問題はなく、実装も問題はないのですが、動かない原因が分かっていません。」
 「そんな、GCSCさんは専門家の集まりですよね。何とかしてくださいよ!」
 何とかしろと言われても、動かないものは動かない。何とかして欲しいのはこちらの方だ。
 「申し訳ないですが、1週間のうちに本確的に原因究明しますので、お待ちください。」
 王子からそう伝え、その日の夕方からプロジェクト有識者が集まり、あらゆる可能性を再確認していった。
 神城の指示により長澤がデバッグを行い、出力されるデータを1つ1つ新島が検証した。そうすると、ある特定のコードを書き換えた場合にだけ、認証結果が変わることがわかった。
 「うーん。おかしいわね。この処理は現行システムの設計書通りにパラメータを設定しているのに、結果が違うのよ。神城ちゃん、何が起きてるかわかる?」
 「確かにそうですね。長澤さん、もう少し値を変えていくとどうなりますか?」
 「さっきから1000通りくらい流しているのですが、どうやらあるパターンのときだけライブラリの戻り値が違うようです。」
 「でも、そこは現行システムの設計書の通りなわけでしょ?え?ちょっとまって!ということは・・現行システムの設計書が違うってこと?」
 「どうもそこが怪しいと思います。」
 「銀行の人たち、散々こちらのこと悪者扱いしておいて、また自分達の問題ってことじゃない!!いつもこうなのよ!だいたい牛元調査役も〇×”◆#$!!」
 こうして夜中までかけた必死の原因究明活動により、現行システムの設計書が疑わしい、という一定の見解に至った。そして翌朝神城から、一連の見解が牛元調査役に伝えられた。
 「神城さん、現行システムの設計書にここまで書いてあるのに、それが疑わしいというのですか?それを私に言えと?銀行の中で立場がないですよ。もう、勘弁してください・・。」
 牛元調査役も、少しやつれていた。それもそうだ。2度も身内を疑うような立場に立たせている。
 だが疑わなければ、事実究明は出来ない。仮説があってこその理屈だ。今はそれを信じてもらうしかない。
 そして次の日、案の定事態が急進展した。
 「神城さん!!現行システムの担当者にこっそり聞いてみましたが、設計書に記載されているパラメータの間違いだったことが分かりました!」
 この件についても銀行の提示資料の不備であった。事実を事実として信じられるかどうか。一喜一憂している牛元調査役の変化から、人間という生き物の弱さを感じた。現行システムの設計書が正しくなかったという事実は、銀行内で問題となったが、本件について事情聴取されることもなく、現行システムの設計書の信ぴょう性を、銀行内で確認し始めたようだ。これで1勝1敗1分だ。
 2021年6月。
 主要な課題は解決され、銀行は予定通りユーザーテストを進めていた。IT1が始まった頃は機能が全く動かないという問題ばかりだったが、その後少しずつ動かし、勘定系やスマホアプリと繋ぎ、1年かけて全ての機能が業務検証可能な状態となった。少しずつであったが、こうやって複数のシステムが統合され、銀行のサービスとして貌となっていくのが目に見えてきた。時間が経つとともに、人の成長のようで昔が懐かしく感じる。
 統合と言えば、縦割りだったGCSCのチームも体制の縮小によりより一体感が生まれていた。チーム「レインフォース」は、システムの成長と共に、組織としても成長の道を歩んでいたのだ。
 リリースまで残り1年弱。業務オペレーションテスト、非機能テスト、さらには移行プログラムの検証も残っている。どれだけのボリュームとなるのか。ようやく先が見えてきたという中で、プロジェクトの人員が十分でないことだけが、唯一の不安要素となっていた。


この記事が気に入ったらサポートをしてみませんか?