7 ホーキング・フレームワーク

 2018年9月。
 先のキックオフを受けて、基盤フレームワークチームは颯爽と作業を進めていた。
 プロジェクト開始にあたって開発工程とスケジュールが定められたが、その主体となるのは預金や振り込みといった勘定系の業務アプリケーションであった。フレームワークとしては、フロント機能の開発が始まる前までに、必要な機能を提供する必要があることは、業務共通チームの説明で既に書いた通りである。
 その中で基盤フレーワークは、画面遷移やデータベースの操作など、業務アプリが利用するシステムの基本機能として提供されるものであり、さらに業務共通機能よりも前に存在しなければならない。つまり彼らのスケジュールは全く独自で、かつ最も先行して進むように計画されていた。
 9月はフレームワークの要件定義を開始し、日々朝比奈調査役による成果物のレビューが行われていた時期である。
 「認証システムと認証コンポーネントの役割分担ってどう整理されているのですか?」
 「ログにはどこまでの情報をどの単位で出しますか?目的は考えていますか?」
 「データベースのアクセス順はどう考えられていますか?」
 「システム障害時の考慮ってどうなっていますか?」
 レビューと言っても、基本的には朝比奈調査役による質問の嵐だ。成果物レビューでは、ドキュメントやソースコードが完成しているかを有識者が確認するものだが、要件定義で最も大事なことは要求事項が満たされているかどうか、である。要求事項と言えばRFPであるが、まさにその通りに作ろうとしているのかがレビューでは問われた。
 さらに、朝比奈調査役が質問しているような機能としての責務を決めるということは、フレームワークにとって極めて重要な事項であった。家を作る場合を例に説明すると、ある柱が支えているのはどことどこの梁なのかが決まっているか、という類で、そこが不明確だと後になって設計矛盾が露呈し、家が完成しなくなる可能性がある。フレームワークのコンポーネントごとの役割分担とは、まさに骨格となるソフトウェアの柱を決めることなのだ。
 もっとも、家の設計は三次元を前提に構想していくが、システムはに次元に上限はなく、理論上何次元でも柱を立てることができる。さらにそれらはねじ曲げたり逆を向かせたり、別のものと繋げたり、様々な設計ができるため、眺めていて答えが出るわけではない。そのためどのような要求をどこでどの柱が支えて、どこに繋がるのか、といったことを全コンポーネントについて都度考えていく必要があるのだ。
 朝比奈調査役が質問攻めをしているのは、イージーのエンジニアが要求事項をどのように考えて、構造を設計しているかを確認するため、縦横無尽に質問するのがベストと考えてのことだった。
 「基盤フレームワークの認証コンポとしては、インターフェースに留めます。実際にチェックの実装は業務共通機能が持ち、セッション管理情報のみ認証システムに持たせます。こうすることで、新たなチャネルが追加となっても、共通機能を一つ追加するだけで拡張することが可能です。」
 イージー社のリーダーである李氏の受け答えも完璧である。かつて東山と朝比奈調査役の会話の意味が異次元すぎて分からないことがあったが、ここにも異次元で生きているエンジニアを見つけた気がする。
 またちょうどこの時期は、GCSCの新人たちが研修上がりで現場に配属されていた。そしてこのプロジェクトには真鍋という名の女性が配属となった。国立大出身で情報工学を学んだ経歴を持ち、卒業論文はプログラミングのみでパスしたらしい。経歴だけだと完全なるリケジョである。
 まさか新人にも異次元がいるのかと、姫宮は色々な妄想をしながら配属先のチームをどうすべきか考えていた。
 「本日よりかぞく銀行プロジェクトに配属となりました真鍋です。わからないことだらけですが、少しでも早く皆さんのお力になれるよう頑張りますので、よろしくお願いいたします。」
 一通りの新人挨拶の口上だ。
 「真鍋さん、今日から宜しく。ガイドチームの所属になりますので、この先はOJTリーダーの指示に従ってください。」
 「ありがとうございます。因みに私のことはリリーって呼んでもらえると嬉しいです。」
 「え?な、何でリリーなの?」
 初日にして早速あだ名呼びを求めてくるところ、それもリリーという謎の呼び名であることに、二度驚かされた。や、やはり、真鍋は異次元なのだろうか?
 「へへ、女優のリリー・コリンズが好きなんです。見たことあります?白雪姫。あざとさじゃない、強い女性に憧れてるんですよ、私!」
 何だ、このいきなりの距離間は。最近の新人はこうなのだろうか。
 管理職の長かった姫宮にとって、プロジェクト経験は実に10年ぶりである。現場に出ないうちに、随分と新人の質も変化したようだと、心中複雑な思いを抱きながら応対した。
 「ああ、ではリリー。先輩たちから色々教わってください。君も学生時代は理系で過ごしたようだけど、ここにいる人たちは業界でもトップクラスのエンジニアばかりだからね。滅多に一緒に働けないはずだから、貴重な経験させてもらえると思ってね。」
 「そうなんですか!わかりました頑張ります!!」
 新人は仕事をする力が備わっていない分、元気が取り柄とはよく言ったものだ。その意味での異次元さはかえって良かったと思う。
 そして真鍋をフレームワークのガイドチームに所属させたことは、プロジェクト後半になって多くのピンチを救うことになるとは、この時夢にも思っていなかった。
 さらにちょうど同じ頃、神津氏の件が舞い込んできた。家庭内での話し合いを重ね、姫宮が提案した復職の話をご縁だとして尊重してくれたようで、再就職の希望を出したいとの連絡があったのだ。
 振り返ればこのプロジェクトの始まりは、かぞく銀行の犬澤執行役員との縁から始まっている。あそこで声をかけて貰えていなければ、そもそも今日を迎えていなかったのだ。その後も提案までに紆余曲折あったが、大島がいなければやはり立ち上がらなかった。その後もイージー社、サクセス社も、彼らを知っている人から紹介された、いわば縁によって今日という日がある。そもそも神津とまた仕事ができるというのは、縁でしかない。そう考えると、集まるべき人たちが、何かの引力に導かれるように集結したこのプロジェクトには、不思議な力があるのではないかと神秘的な何かを感じた。
 兎にも角にも、この時点での役者は揃った。業務共通チームも、これで何とか立ち上げられそうだ。姫宮はこのチームの勢いをさらに高めるために、飲み会、合宿、勉強会などを行い、一体感をさらに高めることにした。これら数ヶ月の間に行った一連のチームビルディングを通し、一旦は形のある体制になったと言えただろう。
 そして2018年11月。
 浅草鷲神社の酉の市が、最後の宵祭儀に向けて佳境に差し掛かろうとした頃、基盤フレームワークとしての要件定義も終盤を迎えようとしていた。
 相変わらず質問攻めのレビューが続いていたが、同時にコーディングを始めるための準備の議論が交わされていた。
 「神城さん、予定では来月から実装が始まりますので、それまでにパッケージ名を決める必要があるのですが、何か良いネーミングはありますか?」
 李氏が、とあるレビュー会の場で神城に問いかけた。
 パッケージ名というのは、専門用語になるが、Javaのクラス名(ファイル名)を一意に識別するためのものである。Javaではオープンソースで提供されるプログラムもあるため、クラス名が重ならないようにしないといけない。そのため、パッケージ名称という、少し長い名前をクラスごとに付与する仕組みがある。
 そしてその名前も、基本的に開発者が識別しやすくするために意味のある文字列にすることとしており、WEBシステムではURLを逆転させた文字列にする慣習となっていた。
 「パッケージ名ですね。かぞく銀行フレームワークなので、co.jp.kzkfwっていうので良いんじゃないですか?」
 「いや、まあ、それでも悪くはないのですが、どうせならコードネームを考えて、パッケージ名にしませんか?アンドロイドならマシュマロとかオレオとか、お菓子の名称付けてるじゃないですか。開発者にとっても、愛着が生まれると思うんですよ。それにコードネームであればプログラムより広い概念として捉えることになりますので、ツールキットとか、テストツールなんかも、同じコードネームのファミリー製品みたいに扱えますよね。」
 目的に到達する以外のことには時間をかけたくない神城と、利用シーンを具体的にイメージして、その波及効果や影響を考えている李氏。商用フレームワークの開発経験があるからか、マーケティングセンスとしては李氏に軍配が上がりそうだ。
 かくしてこのやり取りの続きは一旦朝比奈調査役が引き取ることになった。銀行としては次期システムのためだけに企画された、記念すべきフレームワークである。この際センスが良く、彼らが目指す姿を象徴しそうなネーミングが良い、という意見と、開発を進める上で混乱の生じないよう、誰でも覚えやすい名称が良いという意見があり、広く現場のエンジニアから募集したい、ということになった。
 「GCSCさん、センスの良いネーミング案を頼みますよ!!」
 朝比奈調査役から言われてみたものの、GCSC社員はその手の企画モノは苦手だ。言われたことや指示されたこと、決まっていることに対しては規律よく正確に従うのだが、いざ自由に考えて良いよと言われると、大半のエンジニアにはアイデアが浮かばない。
 ある意味不幸であり、ある意味世の中はうまく出来ているとも言える。技術力の高い人たちが揃っているため、何か新しいプロダクトでも作ろうと思えばすぐ出来るはずなのに、自ら使い方やパッケージを提案することが苦手とは。このため、ビジネスとして進めるにはセンスのあるリード役が、エンジニアには必要になるのだ。
 一方でまた、エンジニアは自分が管理されることも嫌いだ。自分の技術に自信があり、決められた期日までにアウトプットを出す。その期間の過ごし方は自分で決める。それを管理者に言われたからと言って変えられたくない。チーム内に自分以外にできる人がいないのであれは、管理者もそのエンジニアの言うことに従う他ない。その意味で、優秀なエンジニアほど色々と面倒臭いことが多いのも特徴だ。
 話を戻そう。GCSC以外からも集めたネーミング案は、ざっと50個になった。とはいえ大半はノルマなので考えましたというような、取ってつけたものが多く、候補にならなさそうなものばかりだ。これらに対し、どの案が良いかアンケートを取り、幾つかに候補が絞られたが、そこはかぞく銀行のフレームワーク。最後はプロジェクト責任者である、赤魚本部長にご英断頂くことになった。
 そして2018年12月。場所は両国。
 年内の主要なイベントが終わった国技館からほど近い、ちゃんこ屋「武蔵」で命名式という名の飲み会が行われた。
 両国は浅草から近い割には行き慣れていない場所だ。武蔵はかぞく銀行御用達のお店で、ちゃんこ付きの懐石料理が提供される珍しいお店だった。フレームワークの命名は赤魚本部長に委ねられたが、エンジニアの意見も聞きながら決めたいという計らいで、銀行と、GCSCからは神城、大島、神津が集まり、ちゃんこを囲みながら相談する、という目的で集まることとなった。
 朝比奈「では早速始めましょうか。これが候補として上がった全量で、事前に20名による投票結果も付けています。」
 赤魚「皆さん、色々と案を出して頂いてありがとうございます。どれどれ、kzk、オーク、ファミリーにブラザー・・うーん。何かどれもインパクトが弱い感じがするね。」
 朝比奈「さすがに『ファミリー』とかだとコテコテですかね。」
 赤魚「うんそうだね。家族で、そのまんまだし、もう少し捻りが欲しいね。」
 朝比奈「だとすると、ファミリーのFをGにしてガミリーっていうのはどうですか。家族の一歩先を行ってる感じで。」
 赤魚「ぷっ、なんだよそれ!センスなさすぎだろう!笑。」
 飲み会での朝比奈調査役は、完全に盛り上げ役だった。
 朝比奈「そうですかね〜。新しい造語になると思ったんですけどね~。笑」
 赤魚「どんな意味があるかって重要じゃない?聞いてて分からないもん。ガミリーって。笑」
 朝比奈「神城さんはどう思います?いつものスーパーショット出して下さいよ。」
 まさかいきなり神城にお鉢が回ってくるとは。普段のレビューにおいて、神城は朝比奈調査役の質問に的確に回答出来る異次元人種の一人だ。だが皆んなで案を出していくような、こういうのは大の苦手だった。
 神城「それならお2人の名前を繋げてakahinaフレームワークっていうので良いんじゃないでしょうか?」
 朝比奈「いや~、それは・・・。」
 赤魚「・・・うん。却下で!」
 天は二物を与えず。神城のスーパーショットは、脆くも打ち崩された。
 赤魚「まあ、少し食事でも楽しみましょうよ。ここのつくねは旨いんで食べてくださいね。ところで、開発の方は順調なんですか?」
 神城「ええ、ぼちぼちですね。設計は終わりつつあるのですが、レビューが終わるかが全く読めていません。朝比奈さんのレビューがとにかく終わらなくてですね・・。」
 朝比奈「えー!神城さん?私がやっているのは、レビューではなくて、エンジニアの皆さんが後々困らないようにと思って気付きを与えてるだけなんですよ!なのでレビューが遅いだなんて言わないで下さいよ!」
 この頃のレビューも朝比奈調査役による質問攻めが日々続いており、その状況はかぞく銀行内でも名物となっていた。
 赤魚「ああ、レビューの話ね。まあ、やるべきことをやっておけば後々困ることはないでしょうし、皆で乗り越えていかないといけませんよね。」
 神城「重要なことはやるべきなんですけど、時間がかかるってところだけですね。」
 朝比奈「時間ですよねー。もう1年伸ばしますか。リリースを。」
 神城「えー!今のを1年も続けるのは勘弁してください!笑」
 朝比奈「冗談ですよ笑。でも神城さん、やっぱりエンジニアの皆さん一人ひとりの力量を把握しながら進めることは重要ですし、レビュー会で色々な角度から質問するのはそのために必要なんですよ。うちの社長も先週全行員宛にメールが発信されたんですけどね。」
 そう話し始めたところで、黙々と手酌で日本酒を進めていた熊手部長が会話に入ってきた。
 熊手「ああ、何だっけあの、ホーキング博士ね。」
 朝比奈「そうです。そういえば今回の候補にもこっそり入れておきました。」
 熊手「なんだっけあの、立派なご明言を賜ったね。社長がどこかで感化されて持ってきたんじゃないの?」
 ホーキング博士とは、イギリスの理論物理学者で車いすの天才科学者と呼ばれた、スティーヴン・ホーキング博士のことである。宇宙物理学において数々の理論を提唱したホーキングは、人生の大半を筋委縮性側索硬化症という病と共に生き、サイエンスライターとしても多くの著作群を残してきた。日本でも「ホーキング、宇宙を語る」は良く知られている。その彼の名言を引用して、かぞく銀行の社長が全行員に送ったというのが次の言葉であった。
 『However difficult life may seem, there is always something you can do and succeed at..』
 (たとえ人生が苦しく見えようとも、貴方が得意とすること、それによって成功できることが必ずある)
 この名言は、かぞく銀行が目指すスタンスを的確に表していると言えた。
 メガバンクではないかぞく銀行には、顧客から選んでもらうための尖った武器が必要である。他の銀行の横並びでは、差別化されず世の中にも必要とされていなかっただろう。尖った武器を生み出すためには、銀行や社員一人の得意なことと、世の中に対してどのように貢献できるのかを常に探求することが重要である。限られた経営リソースしかないかぞく銀行には、一人ひとりが頭を使ってこの時代を生きていくことが重要なのであった。
 その意味で社長は、行員一人一人が自分たちの強みを認識し、マーケットとの対話の中で考え、進むべき方向性を見極めよと訓示していたのである。
 赤魚「そう。ホーキングだったね。いいんじゃない?」
 朝比奈「ホーキングですか?まあ、悪くはないですね。次期システムはややもすると勘定系の単なる入れ替えって捉えられますが、宇宙観までをも持ちながら、世の中に貢献できるシステムを作っているってことがしっかり表現できそうですしね。」
 熊手「確かに。でもこのスペルは、間違えたりしないかな?」
 赤魚「うん。確かに・・日本語読みで行くとHawkingのaとoが間違えやすいかもしれないね。」
 朝比奈「神城さん、そのあたりは大丈夫そうですか?パッケージ名なんだから全部間違えたとか、無しにして下さいね!」
 神城「いやー、我々もそこまでアホではありませんよ。きちんと書けると思いますし、パッケージ名といってもコピぺしていきますので。流石に大丈夫でしょう。」
 赤魚「本当に?では、頼みますよ!!」
 こうして無事にコードネームが決まることとなり、この後は閉店まで飲み会の夜となった。
 1週間後―
 朝比奈調査役が嬉しそうな顔をしながら、神城のところにやってきた。
 「神城さん、正式にフレームワーク名称がホーキングフレームワークってことで決まりましたよ。ついてはドキュメントガイドの表紙を書き換えて役員に報告しておきたいんですけど、修正お願い出来ます?」
 お安い御用と言わんばかりに、神城は即答した。
 「それならもうできてますよ。関連するドキュメントも全部変えておきました。なんならロゴも作ってます。」
 全てにおいてやることが早い神城は、既に動いていたようだ。ちなみにロゴはリリーが作ったらしい。
 「お、さすが神城さん!早いですね。ロゴもいつのまに作ったんですか?とても秀逸です!ではこれで送っておきますね!」
 暫くして、次は神城が朝比奈調査役のところに向かっていった。今度は何か浮かない表情だ。
 「朝比奈さん、ホーキングのスペル・・間違ってました・・。」
 朝比奈調査役は、まさかの報告に神城を二度見した。
 「えー!!?なんと・・・」
 天は二物を与えず。完璧とお茶目が入り混じったのが、神城というスーパーエンジニアなのであった。

いいなと思ったら応援しよう!