2015-01-27

巨大銀行の巨大システム開発で大変素晴らしい経験を得たという話

最近まで、ネット上のIT系ニュースで度々システム障害で我々にネタ提供してくれる某巨大都市銀行の次期システム開発下請けとして新卒から参画していた。

「某巨大都市銀行の次期システム」という時点でどこの銀行かピンとくると思う。

次期システムとは大雑把にいうと80年代に構築され今なお稼働しているシステムのうち、外為、内為、預金などの業務にて稼働するサービス(実際のプログラムになる)を疎結合化してそれぞれのサービス部品として再利用性やメンテナンス性の向上を図る、いわゆるSOA(サービス指向アーキテクチャ)で作り直そうというものだ。

この辺も心当たりのある銀行と次期システムとかでググれば出てくると思う。

銀行システムSOAで構築するのは日本では初めて!!すごい!!先進!!!という触れ込みだったらしいが、立ち上げからいるわけでもなくSOAの利点も結局実感できぬままこの業界から去ってしまったので本当に謎である

そもそもどんな体制であったのか、巨大だったし関心も薄かったので全貌は知らないが、まずユーザ銀行の行員さん。

ユーザを客としてシステムを開発するのにSIerとして銀行グループ会社システム開発会社がいて、その下にベンダーとして国内でも名の通っているIT企業がおり(いわゆるマルチベンダー)、その下に各派遣会社がいるというよくある構図だったと思う。

なお、SIerは、IT業界就職偏差値なんかでぐぐる偏差値65という社会的にも名の知れているであろう人たちだったりしている。

前提として、このプロジェクト自体技術の上に成り立つシステム開発であるということだ。そして、システムを開発するのは人間である

人間システムに無関心であれば当然まともなシステムができるはずがない。人間システムもっと一般化すれば仕事遂行するのに必須なのがモチベーションである

そのモチベーションが金銭なのか、知的好奇心の充足なのかそれは人によると思うがとにかく何かしらのトリガーがあって仕事が進む。

こんなこと、当たり前であるが、この当たり前であることがそうでない現場も世の中にはあるという。

ということで、このプロジェクトで得た大変素晴らしい高尚な経験についてのお話をしたい。

断っておくと、私はSIerではないのでSIer情緒がわからないため、あくま客観的な末端の感想を書いている。

政治力のウェイト

まず、SIerほとんど公務員みたいな銀行員様をユーザとして高い金をもらって仕事をしているため、ユーザにお伺いを立てつつ政治力を発揮する必要がある。そして、偉大なるSIerから高いお金をもらっている現場の各社はユーザSIerにお伺いを立てねばならない。これらはシステムには本質的に全く無関係な完全なる大人の事情である。我々を率いるリーダーはその重圧に耐えながらプロジェクト成功、というか家庭円満のために奔走するのである。そして末端の実際に手を動かす我々現場人間は、事情もよくわからずにそのご恩を承り頂戴するのである

また、もっと上のレベルになると国の機関からも突っつかれるなどしてここでもまさに本物の政治力必要となる。

事なかれ主義というのは本当に大事で、長いものに巻かれるという処世術を身につけることができた。

スケジュール駆動開発

上記の理由から、国やユーザ、末端の人間から見た場合SIerの決定は絶対である反論余地権利など存在しない。

まずこのプロジェクトは当初のスケジュールよりもすでに1年遅延しているという事情がある。スケジュールには敏感なのである

私は現場上司に「新人が大規模なシステム構築で上流から経験を積むなんてできないよ。いい経験になる」と言われ、参画したわけだが本当に素晴らしい経験をできた。

まりスケジュール駆動開発という革新的な開発手法を知ることができたのである

スケジュール駆動開発は以下のようなステップである

・依頼者の都合に合わせた最速のスケジュールが依頼者から提示される。

      ↓

・ノーなど言えないのでなんとか間に合わせる。

至極単純明快で且つ確実である。納品したものの質などどうでもよい。スケジュールにさえ間に合えばいいのだ。

魔法進捗管理

進捗の管理というのはどんな業界でも重要情報を持つ視覚化されたデータになる。

ここでもスケジュール駆動開発の利点が発揮されるのだが、どこにマイルストーンを置くかによって、表面的ではあるが柔軟なスケジュールの変更が可能になる。

例えば、Aという作業が依頼され、納期が今から10営業日ユーザ確認を含めると5営業日しか作業の時間がない。そんな時はチームの都合でタスクを分断化する魔法を使えばいい。

すると不思議なことに「われわれのチームではこれこれこういう事情で(進捗管理するリーダーしか理解できない高尚な事情)依頼された作業は実質無理だから、ここまでやればいいでしょ」という完璧な進捗を叩き出すことができるのである

なお、ここでいう進捗とはまったくシステム構築に無関係の「スケジュールがどれだけ進んでいるか」の進捗である。この切り分けを文字で伝えるのは容易いものではない。

おそらくこの魔法は各所で使われていると思うが、私のいた場合は本当に理解不可能ものすごく大胆なときがあったため、本当に勉強になった。

開発環境

守秘義務があるので詳しくは言えないが辛いのだが、つぶしの効かない謎ツールや長い間世界中の人々に愛され続け今では時代錯誤となったレガシーOSを搭載した端末を支給されていた。

主につかうツールはもちろん天下のExcelであるExcelは本当にすごくて、たくさんのセルを大きくしたり小さくしたり、はたまた黄色く塗ったりしたのである。本当に有益であった。

また、上述したようにスケジュール駆動開発などから分かる通り数字への執着が尋常でない。

このプロジェクト大成功させるために奔走するSIerは確定したスケジュール遂行する工数計算するのに命を削っている。それはその下にいる各チームリーダーも同じことだ。

そして、工数が明らかに非常識場合はどうするか。歴史的に見ても人間を増やすしかないのは自明である。確実だし、たくさんのプロジェクトで行われてきたのだから当然だ。

増えた人間はすでに人でいっぱいの現場に来ることになる。当然物理的な拡張はなかなか難しいからフロア内でうまくやりくりすることになる。

たとえば、2つのデスクに3人座るのである。どうであろか、ぜひ参考にしてほしい。

当然、トイレの大便器の数も増えることはない。トイレの大便器を探し求めて有能な人間たちが最先端オフィス街彷徨光景などそう簡単に目にすることなどできない。

このような開発環境では皆が修行僧。細かいことにはいちいち愚痴を言わなくなる。本当に徳を積むことができた。

おしまい

よくある話っぽい上に読みづらい文章で大変申し訳ないしまだまだ書き足りなさはあるのだが、これらの経験から得たものとしては、「思考停止こわい」である

それと、フォローするわけではないが、SIerベンダー、各下請け会社で働く人々に憎しみは持っていない。この目に見えないプロジェクト自体をひどく憎んでいる。

 

なお、わたしが一応技術者としてこのプロジェクトに約2年身を置いていて業務のコードは1行たりとも書いていない。

トラックバック - http://anond.hatelabo.jp/20150127212939

記事への反応(ブックマークコメント)