読者です 読者をやめる 読者になる 読者になる

Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milk's Memo Note

日々の思いつきを忘れないようにのメモ用です。

【大炎上PJ】人を大量に入れれば良いってもんじゃない。

f:id:maxminkun:20160723102921j:plain

楽しく購読させていただいている方の記事に、面白いものがありました。

www.ksakae1216.com

自分も新聞の記事で、みずほFGの勘定系システムを統合することは知っていましたが、かなり香ばしい匂いがするなと思ってました。

どんな感じに香ばしいのか。それは上の記事を是非読んでみてください。SEなら鼻血が出て昇天します。

金融系システム

私自身は社会インフラ系ですので、金融系システムはあまり詳しくはありません。

しかし、そっち方面の人から話を聞く限りでは、お金が直接的に関係してくるシステムなので、スペックの要求条件がかなりシビアなイメージがあります。

株式売買システム

www.nikkei.com

金融系システムと聞いて、まず思い浮かべるのは東京証券取引所の株式売買システム「ArrowHead(アローヘッド)」です。

公にコードネームが付いているシステムは、珍しいですね。

これは、富士通が持てる技術を結集して作ったシステムです。

今や、株式売買の速さはコンマ何秒ではなく、マイクロ(100万分の1)秒の世界です。もう、株式売買は人の手で行うことは不可能な世界になっています。

数年前に、ArrowHeadは刷新され、遂に500マイクロ秒未満に達しました。


また、”絶対に止まらない”システムを構築するとの方針で開発が進められました。

かなりのプレッシャーだったと思います。胃が痛いですね。

日本人は”絶対”が好きなんですよ。

絶対に壊れないとか、絶対に止まらないとか・・・

この売買システムは、数時間止まるだけで億単位の損失が発生します。

もうどれだけの高水準の要求が出されるか分かりますよね?

勘定系システム

他に金融系システムを挙げるとすると、銀行の取引を支える勘定系システムと呼ばれるものがあります。

これは私のイメージだとNTTデータが強いですね。

NTTデータは官公庁システムと、銀行(勘定系)システムで強い印象があります。

どうやら、最近では地銀が互いに勘定系システムをシェアして利用する(独自でシステムを開発する負担を無くすため)という動きがあるようで、NTTデータはそのシステムを作り提供しているとか。

知り合いに地銀の行員がいまして、今まで自前のシステムだったのが、共有のシステムになったため使い勝手が悪くなったと愚痴をこぼしておりました。

勘定系システムの勢力図は以下の記事が詳しく書いていました。

biz-journal.jp

面白いですね。

名前が挙がるのは、やはりNTTデータですね。

裁判になるケースも

そして日本IBM。ここも勘定系システムに深いつながりがあります。

ですが、日本IBMは以前にスルガ銀行のシステム構築でやらかしてしまったことがあります。

スルガ銀行は損害賠償の裁判を起こすまでに。

itpro.nikkeibp.co.jp

日本IBMは当初、海外で実績があったパッケージをベースにして開発を進めようとしました。

パッケージとは、既に出来上がっており使い回しが可能なシステムを言います。

このパッケージに、スルガ銀行が独自に必要とする機能を追加して、安価にそして短期間に稼働することが可能になることを目指していました。

まぁ、パッケージを使用する(一から作ることをフルスクラッチと言います。)ことの意味は、安価・短期間の2点ですからね。

しかし、どうも日本IBMはこのパッケージを良くは理解していなかったようです。そして開発途中で、パッケージをベースにするとスルガ銀行の要望を満たすことが不可能ということが分かってきました。

つまり、フルスクラッチに近い状態で開発しなければならないことに気づいてしまったのです。

こんな予定では無かった・・・

パッケージをベースにして開発するのと、フルスクラッチで開発するのとでは金額が全く違います。

しかも当初の設計は役に立たなくなります。(全くとは言いませんが。)

遂に開発中止になったというパターンです。

金融システムは止められない

何より怖いのは金融システムは止められないということです。

他のシステムは、止めても人の手で一時的にシステムの代わりを行ったりということが出来たりします。

しかし、物体の無いモノを扱うシステムは、止めることができません。

お金は物体があるでしょうって?

では、ATMは誰でもお金を引き出すことが出来ますが、全国民のお金がそのATMに入っていますか?

しかも、引き出したということはATMからお金が出たということではなく、銀行口座からお金が引き出されたという扱いになります。

全ては”お金”は数字でしかなく、データ上のやり取りです。このデータ送受がバグったら、終わりです。

あなたの口座を0円にすることは簡単なんです。何しろ、銀行口座のあなたのデータを0円に書き換えるだけですから。

実態のお金なんて、あなた用にどこかに保管なんてしてません。

これが怖いところなんです。

かなり昔ですが、サラミ法という手段があり、円以下の切られる端数である銭の単位のお金をかき集めるプログラムを仕込み、別口座に移動させるなんてこともありました。膨大な口座から微々たる端数を集めると大金になります。

そうすると、本人には損失の意識はありません。見えない単位ですから。

こういうことが発生しないように、プログラムでの端数計算は今では最新の注意が払われています。

ちょっと脱線しましたけど、このように金融とはITシステムなしでは業務が行えない状態になっているのです。

そして、止められないことが問題です。

つまり、システムの刷新が簡単には行えないということなのです。

最初に作ったシステムを、継ぎ足し継ぎた足しで補修しています。

これは本当か分かりませんが、未だにCOBOLだという噂を聞いたことがあります。

現在のシステム開発で、COBOLという言語を選択することはありえません。もう衰退したプログラム言語です。

この継ぎ足ししたシステムは全く良いことがありません。

ラーメン屋なら秘伝のタレになりますが、システムの場合は完全に腐れます。

みずほFG勘定系システム刷新プロジェクト

金融系システムは、特にプロジェクトが大規模になるイメージがあります。

これはあくまで私のイメージなので、実際に携わっている方は意見が異なるかも知れません。

この最初に取り上げた記事で、みずほFGのSEが募集されているということが書かれているのですが、実は以下の様な経緯がありました。

itpro.nikkeibp.co.jp

見せかけのシステム統合

みずほFGとは、3行が合併して出来た銀行です。

それは、 第一勧業銀行、富士銀行、日本興業銀行でした。

今までは、銀行が統合した場合、どちらか片方の勘定系システムに統一するというのが一般的でした。

しかし、みずほ銀行は幾つもの銀行が統合してできた銀行ですが、この勘定系システムの統一を行いませんでした。

何をしたかと言うと、なんとそれぞれの勘定系システムを無理矢理につなげて稼働させたのです。

これが大失敗でした。2002年にみずほ銀行として出発した日に、システム障害を起こします。

itpro.nikkeibp.co.jp


また、この後も勘定系システムの刷新を行いませんでした。

2011年の震災の時に、夜間バッチ処理が完了せず日中の業務のシステムを圧迫。

結果、ドミノ式にシステムが死んでいきました。

business.nikkeibp.co.jp

遂に刷新することにした

2度の大規模障害を発生させ、現在の勘定系システムを延命させるのは限界だと思ったのでしょう。

ここに来て、やっと勘定系システムの刷新を行うことにしました。

ただ、気になるのは分割発注したことです。

itpro.nikkeibp.co.jp

富士通、日立製作所、日本IBM、NTTデータの4社での共同開発と言ってますが、別々の機能を各々に作らせるということでしょう。

こうなると大事なのは、みずほFGのSEの存在です。

ここが各ベンダーの橋渡しになります。そして、システムを一番分かっていないといけません。

そうでなければ、各ベンダーが開発したシステムを結合出来なくなるからです。

何だか以前と同じ匂いがしますよね。

そうです。2002年の無理やり接続のシステム障害。

そして、コウタロウさんの記事で取り上げている追加でのSE募集。

みずほ銀行もピーク時に6000人集めたとしても20万人月なので 開発期間は倍の6年弱となりますね。
6年の開発なんてSEやってる人はわかると思いますがありえないですね。 どう考えても成功する気がしないです。

おすすめしない みずほ銀行、SEを急募 - フリーランス チャレンジ!!

外部のSEが見ても、明らかに爆発炎上しています。

大炎上PJを鎮火させるためによくあるパターン

今回、みずほのIT子会社がPJの大炎上を抑えこむために、人を募集していますね。

大炎上PJには、必ずと言っても良いほど”大規模な人の投入”があります。

これは、効果がある場合とない場合があります。

つまり、単純作業であれば投入する意味はあります。

しかし、頭脳を使う作業である場合は、慎重に人を選んで投入する、つまりエース級の人間を入れなければ、かえってフランベを起こします。

もう凄い。天井まで燃えます。

でも単純作業であっても、思ったほど効果が出ないことがあるんです。

教育コスト

残念なことに、人のスキルとはピンキリありまして、新人のような人をかき集めても戦力にはなりません。

もし集めて投入されたら、その新人たちに仕事を教えるという、新たな仕事が発生します。(業務知識がある人を集めても、最初に教えるコストは発生します。)

これが大変。

上の人たちは、「どーだ。人を集めてきてやったぞ。」ってドヤ顔なんですけど、現場からすると業務知識がない人を集められても困る・・・となるわけです。

集められた新人も可哀想ですけど、こちらも手一杯なので教えるのが雑になります。または、全く放置状態。配慮出来ません。

そうすると、「ここの人は何も教えてくれない!」VS「あいつら何も仕事が出来ない!」の敵対構図ができてさらに爆発します。

もうどうにもとまらない〜♪

f:id:maxminkun:20160723130254j:plain

また、新人でなくて窓際の人たちをかき集められたら、火炎瓶でなくて、手榴弾の域に達します。

私が新人の頃、まだ研修中なのに新人たちを集めて、緊急プロジェクトに投入するということがありました。

それほど鬼気迫る状況だったんです。そのプロジェクト。

現場に行って、その状況は・・・無法地帯。

我々新人の他に、明らかに窓際の人たちがかき集められていました。

そして、その人たちが仕切るのですが、何一つ意味が分からない&非効率過ぎて話にならない。

途中から、我々新人たちが主導権を奪取し、仕事の分配や作業ペースをコントロールするという、意味不明な状態になりました。

グループのリーダを私もしていたのですが、あまりに仕事効率が悪いので、グループ間の情報共有の場を設けようと提案して直談判に行くほどでした。

あの現場には、もう二度と戻りたくありません・・・

作業品質の均一化

これは、教育コストに近いものでもありますが、業務知識のない人がかき集められてしまって、でもどうにか仕事を教えたとしましょう。

できるだけ単純作業を配分します。

しかし、いくら教えたとしても、人が増えれば増えるほど、十人十色の結果が返ってくるのです。

例えば、ある建物を出来るだけ忠実に模写して欲しいと頼んだとしましょう。

ある人は、写真の様に模写します。

別の人は、漫画チックに描いてきてしまいました。

更に別の人は、建物を描いてるには描いてますが、周りの風景に力を入れすぎです。

違う、そうじゃない。

f:id:maxminkun:20160723130312j:plain

忠実に建物を模写しろと言ったじゃないか・・・

このように、単純作業であっても収集がつかなくなる場合が、かなりの割合多いんです。

そして、この作業品質を均一化させるのにも時間がかかります。何度もトライ&エラーを繰り返し、そして彼らとの信頼関係が構築できて、初めて作業が順調に進み始めます。

ここまでが時間がかかるのです。

リーダ級をサブリーダとして配置せよ

数多くの炎上プロジェクトを渡り歩いてきましたが(しかも、炎上プロジェクトを支援する側、つまりかき集められる側です)、もし人を大量に投入するなら、必ず実践して欲しいことがあります。

それは、他のチームでリーダ級になれる人物を、支援チームの中に入れること。つまり、そのリーダ級の人物を、PJのサブリーダとし、その配下にかき集め集団を配置するのです。

これは、リーダ級がその集団のまとめ役になるということです。元々のPJメンバと密に連絡を取るのはこのサブリーダに任せます。窓口を一本化するということです。

これで、大量投入された人々が、オリジナルメンバの作業を妨害するということがかなり減ります。

そして、このリーダ級の人物は、PJの進行について分かっていますから、次に求められる作業を察知し先回りできます。

オリジナルメンバは、既に手一杯ですので作業が後手に回りがちです。それを、支援するのが、かき集め集団の本来の役割ですが、そのままぶっ込むと、さらに事態を悪化させます。

ですから、やはりそれをまとめるリーダ級の人物が必要になるのです。

それが、大量投入する上での最低条件です。これがクリアされないと、投入する意味がありません。


まぁ・・・それでも、この、みずほの案件に介入するのは嫌ですけどね(笑)