システムズ・エンジニアリングとは何か

日本にはあまり知られていないが、欧米では確立され重視されている技術の分野がある。それは「システムズ・エンジニアリング」=システム工学である。

・・と書けば、“何を馬鹿な”と思われる方が大半であろう。日本にはシステム・エンジニア(SE)と呼ばれる職種の技術者が、少なく見積もっても十万人単位で存在する。それに、大学でもそれなりに教えているではないか。「システム工学」と名のつく学科だって、数十は存在する。それなのに、「あまり知られていない」などとは何ごとか!

そう憤慨される読者諸賢に、それでは、一つご質問したい。貴方が学校で学ばれた「システム工学」の、代表的な教科書をあげていただきたい。これ一つ読めば、システム工学の基礎が大体分かる、読んでいない奴はモグリだ、というような定番の教科書である。システムとは何を指すのか、システムはどのように設計すべきか、設計手法は何があるのか、システムの分析や評価はどう行うのか、システム工学研究の最新の課題は何なのか、すっぱり分かる教科書である。経済学におけるサムエルソンの本みたいなやつだ。1冊ではなくシリーズでもいい。確立した工学分野なら、そういう教科書が必ずあるはずではないか。

え? 思い当たらない? そんなら、最近流行の「知識体系」を書いた標準書かハンドブックでもかまわぬ。プロジェクト・マネジメント分野におけるPMBOK Guide (R)みたいなやつだ。一流のプロを目指す人間なら、誰でも座右において、でも実際には滅多にめくって見たりはしないアレである。え? それも存在しないって。だとすると、世の中のシステム・エンジニアはどうやって勉強してきたのか。まさか習うより慣れろ、先輩の背中を見て育て、だろうか。また学術研究は、どう進められているか。今、念のためにちらりと調べてみたが、「日本システム工学会」のような組織も無さそうだが・・?

そうなのだ。日本には、「システム工学」一般を扱う学会も、それを教える大学も、存在しない。たとえば「日本の大学」というサイトで調べると(http://www.gakkou.net/daigaku/src/?srcmode=gkm&gkm=04011)、76件の学科が出てくる。だが、機械システム工学、情報システム工学、制御システム学、化学システム工学など、何か特定の修飾がつく学科ばかりだ(かつては神戸大学と静岡大学に「システム工学科」が存在していたが、どちらも今はもう無い)。学会で言えば「システム制御情報学会」https://www.iscie.or.jp が存在する(わたしも以前、学会誌に一度寄稿したことがある)が、これも元は自動制御論の学会である。さて、世の中のSEの皆さんで、ラプラス変換や伝達関数を毎日仕事で使いこなしている方はどれくらいいるだろうか?

率直に言って、わたし達の社会には、「システム」という概念に対して、奇妙な歪み、ないし偏向がある。システムとは「目的を成し遂げるために、相互に作用する要素(element)を組み合わせたものであり、これにはハードウェア、ソフトウェア、ファームウェア、人、情報、技術、設備、サービスおよび他の支援要素が含まれる」と定義される。システムというのは非常に一般的な概念だ。そこには機械的なシステム、たとえば自動車だとかカメラだとか人工衛星だとかも含まれるし、工場やプラントみたいなものもシステムだし、人間系を含んだ仕組み、たとえば企業の経営組織だってシステムの一種である。少なくとも、学術の世界ではそう認識されていて、(学会は専門分化する方向が強いので)個別に「○○システム学科」が生まれていく。

ところが、一歩大学の外に出ると、なぜだか突然、「システムとはコンピュータのこと」という『常識』が世間を覆っていることに気づく。そして、SEと呼ばれる人たちは、もっぱら計算機のハードウェアだとかソフトウェアだとかを設計・実装するITエンジニアばかりなのである。『システム』という言葉自体、外来語で、日本語に該当するもののない、わかりにくい抽象概念だった。だから<システム=計算機>という目に見えるものにマッピングして理解されることが起きたのかもしれない。

しかし、このような偏向ないし偏在は、いろいろなところで問題や見えない非効率を生み出している。たとえば少なからぬメーカーにおける製品は、複数要素から成り立っており、システムである可能性が高い。だが、そこにコンピュータ要素がないと、『システム』として認知されない。すると、システム工学が得ている知見や常識が活かされず、その製品設計プロセスにも、システム工学で常識となっているモデル(後述する)が適用されないケースが多いと思われる。あるいは、生産管理などの仕組みも、一種のシステムである(現にトヨタは「トヨタ生産システム」と呼んでいる)。だが、そこにもシステム工学で常識となっている事柄が十分活かされず、ただ個人の頑張りや浪花節的調整や「気合い」やらで組み上げられたりする。欧米ライバル会社では、そこが理知的に設計されスケーラブルになっている可能性が高いのに、である。

ところで、二つ上の段落に書いた「目的を成し遂げるために・・要素が含まれる」という定義は、じつはINCOSE(The International Council on Systems Engineering http://www.incose.org )という団体による定義を引用したものだ。INCOSEは文字通り、システム工学に関する国際的団体である。事務局は現在、米国サンディエゴにあるが、理事のメンバーを見ればわかるとおり、欧米にまたがっている。大学人あり、航空宇宙業界ありソフトウェア業界ありエンジニアリング業界ありで、かなり広汎だ。そして(例によって)日本人は一人もいない。

このINCOSEという団体は、"INCOSE Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities"というハンドブックを出版している。現在第4版で、Amazonなどからも手に入る。これを眺めると、現在のシステム工学というものが、何を問題にし、どういう方法論で挑もうとしているのかが少し見えてくる。

たとえば、同書の中には、システム開発の「V字モデル」の図が出てくる。こういう図だ。


e0058447_17303679.jpg


これに似た図は、ITエンジニアの人たちなら、見たことが多いのではないだろうか。日本でも、大手ITメーカーの社内標準や開発プロセス定義に取り入れられている。INCOSEのハンドブックの説明によると、このV字モデルの概念は1990年頃に萌芽が生まれたが、このような形で提案されたのは、Forsberg, Mooz & Cottermanの"Visualizing Project Management”(3rd edition, John Wiley and Sons, 2005)がオリジナルであるという。

念のために説明しておくと、システムは通常、その中にサブシステムを持っており、サブシステムはさらに下位の要素などから階層的に構成される。上位システムは何らかの要件を持っており、エンジニアはその機能を満たすために内部構造を考える。つまり、下位のサブシステムが満たすべき要件と、その要素間の関係を規定する訳だ。設計とはそもそも、満たすべき要件と制約条件の中で、利用可能な材料から、機能・構造・制御機構を持つ案を考え、その中で価値が高いものを選ぶ行為である。そして下位のサブシステムについては、その要件を満たすべく、さらに下位の要素の組み合わせで設計する。

こうして、設計段階は、上から下におりていく。ところが、それを実現する(製造・実装)段階では、まず要素を作り、その要素レベルでの機能検証を行った上で、上位のサブシステムを構成し、サブシステム・レベルでの検証をすませてから、全体システムへと進む。そこで、各段階の設計において、あらかじめ検証のための方法を計画しておかなければならない。

これは、今日のITエンジニアにはほとんど常識であろう。事実、ISO12207 「ソフトウェアライフサイクルモデル」などにも、この概念は取り入れられていて、テストは単体→結合→総合、という風に下から上に上がってくるのである。これを逆にはできないし、すべきでもない。ただ、こうした概念がIT分野で常識化してきたのは、この10年くらいのことかもしれない。そして、IT以外の分野では、まだあまり常識ではない。たとえば、IT系の会社で組織体制を決めるとき(これは立派なシステム設計行為だ)、上から順に機能定義を展開し、下から順にそれを検証しているだろうか? そうしていないとしたら、それは何故なのか?

それは、「システム」という概念がコンピュータ回りに偏向しているからだろう。上に述べたINCOSEのシステム定義が、要素としてちゃんと「人間」を含んでいる点に注意してほしい。人は、システムの重要な要素なのだ。まあ、わたしは実務家であって、必ずしも抽象的一般理論の信奉者ではない。だが、必要に応じて、抽象レベルを上げて考える能力は、技術リーダーに必須のスキルだと信じている。そして、それをシステムという観点から行うのが、『システムズ・アプローチ』なのである。

ちなみに、INCOSEは数年前に、プロジェクト・マネジメントの本家団体であるPMIと、戦略的提携関係を結んだ。さらに、MIT(マサチューセッツ工科大学)とも協力して、プログラム・マネジメントについて新たに共同開発を行っている。これは、わたしにとって驚きのニュースであった(もっとも、こういうニュースがこの国ではちっとも驚きを持って広まらないのだが・・)。そして、共同で新しく本を編纂するというので、日本プロジェクトマネジメント協会PMAJの光藤理事長が寄稿された。出版は少し遅れているようだが、近々刊行されると思う。

ともあれ、わたしの知る限り、今日の日本において、IT以外の分野で「システム・エンジニア」という職種が認知されているのは、JAXAに代表される航空宇宙業界、一部の物流設備業界、そしてプラント業界くらいだ(化学プラントの世界では「プロセスシステム」という概念が確立していて、これを専門に設計する職種がいる。ただしプロセス・エンジニアと呼ぶことが多い)。でも、もっと多くの分野で、システム工学の考え方を知り、また独自に技法を案出できるといいと思う。

こうしたシステム工学の考え方に興味を持たれた方に、ちょっとだけ耳寄りな情報(笑)をお教えしよう。上記のINOCSEの英語版ハンドブックを読むのは、なかなか大変だ。そういう方は、JAXA(宇宙航空研究開発機構)が、

JAXA (2007)「システムズエンジニアリングの基本的な考え方」

という解説記事をネットで公開されている。こちらをまず、勉強されることをおすすめしたい。わたし自身、INCOSEのハンドブックに書かれている方法論だけでは、工学としてまだ物足りない部分があるとも考えている。とくに、System ArchitectureやSynthesis、つまりシステム合成のための設計指針が、もっとほしいと感じる。だが、そのギャップを埋めるには、大勢の叡智を集める必要があろう。そして、より多くの人が、こういうシステム工学の存在を知ってほしいと思うのである。


by Tomoichi_Sato | 2017-04-09 17:36 | ビジネス | Comments(0)
<< 書評:「ケセン語訳 新約聖書 ... 工程表と部品表 - 個別受注生... >>