« ダライ・ラマ法王の声明および『08憲章』日本語訳 | トップページ | イスラエル軍のガザ空爆4日目 »

2008-12-30

システム障害の裏にある人間関係

今日は朝からニュースでやってた。JR東日本、新幹線でシステム障害。この帰省ラッシュな年末に、5路線112本が運休、13万人に影響したとはすさまじく迷惑な話よのー。

確かに内容はいろいろだが、こういうシステム障害は銀行や航空機の予約システムなどでよくある。この手の問題の裏には、開発段階での発注側企業のリーダーや、実際に開発に携わっているプログラマーに孫受けさせている、元請SIer(System Integrater)の問題があるんじゃないかと前から思っている。上流と下流という言い方を使うなら、上流の問題だ。

JR東日本によれば、今回と同じ問題がすでに1997年11月にも起きていたとか。もう10年以上前じゃねーか!その時は、大量のダイヤ変更でコンピューターの処理能力を超え、運行の遅延を招いたとある。

今日の障害は、東京都千代田区の新幹線運行本部内にある、新幹線運行ダイヤを一元管理する基幹システムで起きたと言う。28日に大雪や強風で山形、秋田両 新幹線が終日遅れた影響で、29日の車両運用計画を大幅に変更、その際システムに入力するデータ量が膨大になり、そのまま作業した結果、同日午前5時すぎ よりシステムがデータを受け付けなくなったらしい。

10年も前に同じような現象があって、もうそのときからシステムのキャパが限界であったと。そこだけ聞いていると、いつまでそんなシステム使っとったんかい!となるが、おそらくはそんなのはニュースが与える誤解であって、いくらなんでもJRともあろうものが、10年以上の間にシステムを今日的なものに様々対応させいじってきているはずであろう。問題は、その間にシステムを様々アップグレードや新規発注していった過程での、プロジェクトに関わった人達の質。ユーザー側である企業(この場合JR東日本)が必要なシステムの要件をどこまで把握したのか(もちろん開発側でなくソフトを使う側の立場で)。また、元請SIerがそれを開発段階に問題なく落し込むまでに、ユーザーの要求をうまく引き出せたのか。そういう上流段階で見えているべき目的のようなものに具体性がないと、ソフトウェアというものは、知らずと処理能力にも関わる設計ミスやバグを抱えこむものではないのだろうか。


実際のプログラミングで何が一番重要か。今の時代は主にオブジェクト指向な開発手法が主流なのだろうが、ならばなおさら具体的なクラスにおとせるだけの、設計段階でのイメージが重要だろう。実際のプログラミングを始める前の、ソフトウェア仕様の分析と設計がしっかりまとまれば、ソフトを書く行為自体はわりかしスムーズにいくはず。

逆に考えると、そのようなスムーズな開発をするには、ユーザと元請SIerと実際の開発者との関係が、自由で率直な意見の言える建設的な人間関係でなければならないはずなのだ。それでこそユーザーに満足いくソフトウェアが生まれ、若い開発者も育つというものだろう。

しかしIT業界自体は、なにか丁稚奉公的な、あるいはスポ根物語的な古い体質からぬけきれないようで、「10年は泥のように働け」などと重鎮のお方が言って平気なのである。

西垣氏は伊藤忠商事の取締役会長 丹羽宇一郎氏の「入社して最初の10年は泥のように働いてもらい、次の10年は徹底的に勉強してもらう」という言葉を引用し、「仕事をするときには時間軸 を考えてほしい。プログラマからエンジニア、プロジェクトマネージャになっていく中で、仕事というのは少しずつ見えてくるものだ」と説明。

つまり10年間はとりあえず雑巾がけごとき仕事からはじめて先輩を見習え、ちょっと勉強してプログラムが多少書けるようになったところで、最初の10年は上司の言うことを素直に聞いて、プロジェクト全体のことなどに口をはさむな。そうやって10年働いてから実質的な仕事に密着した勉強が出来るようになると。マネージャ的な視点はその後でいいと。

いや違うだろ。プログラム書こうにも最初からワケワカで傲慢かつ無責任なプロジェクトマネージャの下につかされたりして、きっと仕事の出来ないそのマネージャと、自分が求めるソフトウェアの目的がはっきりしてない勝手で外注丸投げ系のユーザとの、うんざりするような非建設的やりとりが見えたりして、それとは対象的な接待攻勢もまのあたりにしたりして、おまけにプロジェクトに参加した新米の女性プログラマは出張のたびにプロジェクトリーダーのおっさんに手作りクッキー持ってこいとか言われて(笑&実話)、仕事と何の関係もない人間関係に耐えなければならなかったりして...。

案外時代の先端行ってるようなIT業界でも、組織とはそんなものなのさと以前から思っている。もちろん例外的な優れた人達もたくさんいるのだけれど。

プロジェクトが成功するためには、その集団の構成員が共有する明確な目的意識と、それを牽引する優れたリーダーや組織体制と、構成員どうしの活発な 意見交換の保証といったものが最低限必要だろう。それはオープンソースだろうが、金もらって開発するシステムだろうが同じではないのか。自由ということを 勘違いしちゃいけないってことだ。

お気楽な梅田流「ウェブ進化論」は、「モチベーションの高い優秀な才能が自発的に結びついた状態では、司令塔にあたる集権的リーダーシップが中央になくとも、解決すべき課題(たとえそれがどんな難題であれ)に関する情報が共有されるだけで、その課題が次々と解決されていくことがある。」てなことを平気で書いている(P28)。しかし実際のプロジェクトはたびたび、「解決すべき課題に関する情報」が共有されないまま、期日と見積りだけ気にして進んでいく世界が多過ぎるようだ。


システム障害、ソフトウェアのバグのうちの致命的ないくつか(ソフトウェアにはバグがつきものだから、そのうちのいくつかとしか言うまい)、どう考えてもユーザーの視点に立っていない使い勝手の悪さなどなど、ソフトウェアの問題の影には、どうも開発プロジェクトの内側の人間関係の問題があるように思っている。そういう気分を確実かつ具体的に示してくれたのは、以前読んだ、あるプログラマーの方のこの記事。

『下流から見たIT業界』プログラマが見たソフトウェア開発のおそるべき実態

役所などで見られるユーザーの便利さなど一顧だにしない変なシステムは、こういう現実から来るのだなと、へんに納得。特にこの記事(2)の「さる官公庁のシステム開発に参加したときのこと」が面白い。いくつか目に止まったところをひろい出してみよう。

「現場に行くと、大部屋に100人以上の人が机を並べていました。....衝立のそのまた向こうに衝立があって、その向こうには元請会社が入っているようですが、こちらは もう“殿上人”のような扱いで、口をきくのも畏れ多いといった様子でした。エンドユーザの官庁職員には結局会うことはありませんでしたが、もしその姿を見 たらきっと目が潰れてしまったことでしょう。」

「およそ官尊民卑を絵に描いたような雰囲気でした。それでもきちんとした開発が進んでいるならいいのです。ところが開発の実態はじつに奇怪なものでした。.....後から思うと、まるでカフカの不条理小説のような開発でした。」

カフカはさすがにつらいな。請け負い関係の網の目が、どこまで行っても主に会えない「城」みたいになってるのかな。しかも役所が使うシステム設計開発は2次はおろか3次請けの外注が普通ときた!

「コード設計を詳細設計者に任せたことからも3次請けSIerのSEのレベルが極端に低いことがわかります。何カ月も設計作業を続けながら、基本設 計1つ作っていない2次請け業者も同様です。ユーザーの要件定義が固まらないのをいいことに、基本設計のカットアップを引き伸ばしていたのでしょう。......................

なんという税金の無駄使いでしょう。今日国会では財政再建の議論がなされていますが、私が見たのも国の財政赤字が生み出されている現場の1つだったのでしょう。この国が陥っている病の根深さを痛感しました。」

孫請け、ひ孫請けまで行って、そこがさらにスキルがないとくる。間に入った業者にユーザーの要件を明確にする力量がないとくれば、下の下のプログラマから見て、いったいどんなシステムを作ればいいのか分かるはずがない。後はいたずらに時間と税金が使われていくわけだな。

「しかし、それよりもなによりも、このような開発体制でいったいどのような品質のソフトウェアができ上がったことか、そちらのほうがはるかに心配で す。........それはもはやブリューゲルの「バベルの塔」の絵にあるような、巨大で、統一性がなく、何のために作られたのかすらわからない、人間の倨傲を象徴するようなシステムになってしまったでしょう。

先日、そのようなシステムの末路をうかがわせるような話を聞きました。......

これはもう「保守運用」のレベルの話ではありません。このシステムはまだ完成していないというのが正しい判断でしょう。....しかも多くの企業、官公庁ではそのことをまだ「失敗」だと認識していない。....開発が「失敗」だとしたら、その責任はだれが取るのかという問題も発生します。私は毎月のようにマスコミを騒がす「システム障害」のニュー スを聞いて、経営陣の複雑な胸中を忖度(そんたく)し、些細なバグが社会的な大事故につながらないことを祈るばかりです。」

こんなふうにして作られたシステムは、運用保守費の名目で税金や大企業の資金を喰っていくための、化け物でしかない。そんな化け物の保守管理のために若い技術者が、まるで「人身御供」のように配属され、死ぬほど残業させられるという構図。結果IT業界の「3K」状態は再生産され、技術者たちは勉強する時間も無く、優秀な人材が育たない。巨大な怪物コンピュータに、何人もの人間がぶらさがってメンテしてるさまなんて、昔見たSF映画のようだ。

日本には天才的な開発者が何人もいる。にもかかわらず、全体的なIT業界のレベルは下がってきていると言われる。インドに比べると辛いものがあるようだ。しかしそんな低い現状を作り出しているのは、単なる技術の問題ではないというのが、この記事からよく分かる。

新幹線のシステム障害の話からずいぶん逸れてしまったけれど、時々いろんな業界の、基幹コンピュータでのソフトウェア・トラブルのニュースを聞くと、この「カフカの世界」のようなプロジェクトや「バベルの塔」のようなシステムの話を思い出す。

率直に言って、

日本ってこのままじゃだめなんじゃねーの?

...と思う今日この頃です。


 

« ダライ・ラマ法王の声明および『08憲章』日本語訳 | トップページ | イスラエル軍のガザ空爆4日目 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/120253/43569339

この記事へのトラックバック一覧です: システム障害の裏にある人間関係:

« ダライ・ラマ法王の声明および『08憲章』日本語訳 | トップページ | イスラエル軍のガザ空爆4日目 »

aBowman

別荘はこちら

  • Marbles2
    音楽、美術、映画、本など趣味的なページはここに移転しました。考えるのが面倒だったので、タイトルは単に2です。

ウェブページ

2018年5月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

mail

  • 82pkdick@gmail.com

最近のトラックバック

無料ブログはココログ