1. システムトラブル
システムトラブルのニュースが、頻繁に報告されています。例えば大手銀行が、経営統合時に違うシステムも統合させなくてはならず発生させたシステムトラブル。東京証券取引所のシステムトラブルによる取引停止。航空会社のシステムトラブルによる運行中止などです。それらによって、多くの国民が迷惑を被っています。中でも始末が悪いのは、数十億~数百億円を投じたにもかかわらず、完成しなかったり、使われない公的システムがあることです。具体的には、特許庁システム、年金システム、郵貯銀行の融資システムなどの税金を投入した巨大システムです。それらの原因の一部には、IT人材不足や調達プロセスの未成熟さなど、当初掲げていた前提とはかけ離れた現実などがあったようです。
2. システムと呼ぶ怪物の姿
例えば社会保険庁の巨大システムは古い言語を使ったシステムで、NTTデータと日立製作所が受注していました。そのソフトウェアのメンテナンスに保険料や税金が毎年800億円以上も使われているそうです。実際に開発する際に、一次下請け、二次下請け、三次下請けと大勢のエンジニアが関わります。その開発エンジニアは、一生懸命サービス残業しながら頑張って、日夜、パッチ当て(継ぎはぎ)をしてなんとか動かしているのです。それらのプログラムを他のエンジニアが理解できるかというと、非常に難解なので、トラブルがいつ起きても不思議はないのです。
3. システムとは
そもそも、「システム」とは、制度、体系、機構、ソフトウェアなどどこにも使える万能な用語として便利に使われています。複数のモノやコトから構成されていれば、何でもシステムと表現できてしまうのです。システムとは難しいものだという先入観から、多くの人たちがトラブルでもしょうがないと思い込んでしまいます。もしかすると、システムという巨大な怪物を我々は心の中に飼っているのではないでしょうか。
<システムの定義A(図1)>
-
多くの要素の統合である
-
要素は互いに関係を持つ
図1 システムの定義A
-
INPUTをOUTPUTに換える仕組み、制度、体系のこと
-
仕掛けと言ってもよい
図2 システムの定義B
4. TRIZのシステム思考で考えてみる
以上の問題点は、システムをブラックボックス化して考えていることが元凶だと考えます。創造性開発技法のTRIZでは、ものごとをシステムと捉えましょうと教えています。断片的な捉え方では、根本的な課題解決に結びつきません。全体像を捉えながら個別課題を解決すべきです...
年金システムに代表されるソフトウェアやマネジメントシステムでは、ものごとの本質を理解して、そこから課題解決の対策を打つべきです。例えば年金システムでは、ソフトウェアの前に年金制度やその法律自身の制度設計に不備が多々ありそうです。SEが、要求仕様に基づいてその通り設計しただけでは解決できないということです。ソフトウェア教育の前に、社会のシステムを熟知していなければ、システムという怪物を退治できないのです。