国立情報学研究所(NII)が9月に開講した、世界トップレベルのソフトウェアエンジニアを養成する新教育プログラム「サイエンスによる知的ものづくり教育」講座は、ソフトウェア開発プロジェクトにおける技術リーダーやITSSにおけるITアーキテクトの役割を担う「エース級」のエンジニア育成を目指すものである。この試みがユニークなのは、開発領域を情報家電に特定していること、ツールや手法の実践的な応用方法の定着を目指しているという点だ。この2つのポイントを強化することは、数年後の日本のソフトウェア開発業界にとって、世界的な競争力を持ち得るために必要であるとNIIでは判断した。その結果がこのような、5年先、10年先の状況を見据えた強力な人材育成施策の展開へと結び付いたとみられる。
なぜ、情報家電の領域なのか。情報家電分野は近い将来、ネットワークと接続したサービスが本格的に展開すると見込まれている。その際、情報家電向けソフトウェアの開発工程は、現在の携帯電話や組み込み機器における開発工程に加え、エンタープライズシステムの開発ノウハウをも取り入れたものになると予測されている。ソフトウェアの高度なセキュリティ性能や信頼性、開発効率の向上が求められる状況において、日本のソフトウェア開発現場は、労働集約型といわれる現状を知識集約型に変えるという必要性に迫られているといえる。
つまり、将来的には、組み込み機器の開発に従事するエンジニアと企業系情報システムの構築に従事するエンジニアのスキルや経験が融合して、情報家電分野におけるソフトウェア開発現場が形作られると考えられる。ITアーキテクトというスキルが語られるとき、多くの場合はエンタープライズシステムの開発現場という文脈でだが、数年先を見れば、ITアーキテクトの活動領域はさらに拡大すると考えてもおかしくはないだろう。
教材開発には、NTTデータ、東芝、日本電気、日立製作所、富士通研究所の5社の民間企業が協力している。教材開発のポイントは、ツールや手法を実問題に適用する際のノウハウを伝達することだ。ここでいうツールとは、ソフトウェア開発で使用する開発支援ツールを指す。商用ツールではなく、オープンソースのツールで、1教材(教材数は15)につき2〜3種類のツールの実際的な使用方法が盛り込まれている。ツールの使用方法の伝授というと語弊があるかもしれないが、ツールを使いこなすということは、実は(開発の)プロセスを理解しているということにほかならない。
鋸(のこぎり)や鉋(かんな)、鑿(のみ)などの道具と木材や釘といった材料を与えられて、「さあ、犬小屋を作ってみよう」といわれた場合、通常人は犬小屋を作る順序(工程)を頭に思い浮かべ、その順序に沿って、道具の機能を当てはめていく。鉋の機能を知っていても、それがどのような工程の下に使用されるのかを知らなければ意味がない。「種々雑多なツールが数多く公開されているが、これらのツールを使いこなすには、実は、実問題への適用手法(=ソフトウェア工学)が確立していなければ無理なのである」と国立情報学研究所教授の本位田真一氏はいう。
開発プロセスとツールの適用方法を実際の開発案件の流れに適合させながら、ソフトウェア開発に関する実践的なノウハウを身に付けさせること。企業の現場では「先端的なソフトウェア科学の成果を活用できていない」(本位田氏)という問題があり、大学・大学院では、「先端的なソフトウェア科学の成果が存在していながら、実問題を基礎とした訓練がなされていない」という問題がある。「サイエンスによる知的ものづくり教育」講座はソフトウェア工学というアカデミックな成果と開発現場のプロセスの融合を目指すものであるといえる。
カリキュラムは3つのキーワードで構成されている。「セキュリティ・安全性」「信頼性・性能」「柔軟性」の3つだが、これらのキーワードは次世代の情報家電向けソフトウェアを開発する際に重要な要素となる。これらのキーワードをベースに、オブジェクト指向技術を基調とした最新のソフトウェア開発工程に沿って具体的な講座を設定している。講座は「要求分析」「形式仕様記述」「設計モデル検証」「コンポーネントベース開発」「アジャイル開発」など、ソフトウェア開発の上流に重きを置いている。エンタープライズシステムや情報家電に限らず、ソフトウェア開発の複雑化を克服するには上流工程に特化することが望ましいとNIIでは判断している。
講座の流れは、座学4回、ノウハウ修得3回、ノウハウ実践5回が基本だ。単位は大きく、基礎単位と応用単位に分かれ、応用単位は、基礎単位を取得後に履修することになる。終了試験は、8つ以上の講座の単位を取得している人が受験できる。終了試験では、実機を使ったシステム構築を行う。ツールを活用しながら、分析、設計、実装の各段階の報告書(テクニカル・ガイドラインや技術の比較・検討過程)を作成し、実機を持ち込んで成果発表を行う。基礎単位の取得から終了試験の終了までおよそ1年半程度である。いまのところ、学位の取得はできない。
このようなプログラムで育成するエース級エンジニアには、開発プロジェクトの次世代の技術リーダーという役割が期待される。ソフトウェア科学(工学)の豊富な知識を基に、今後続々と登場するであろう新しい開発ツールの習得のコツや新しい問題への適用方法の模索を行える応用力も求められるだろう。
教材は教科書として出版するほか、国内の大学や企業に無料で配布する予定。現在、10〜20人程度の枠で第1期生を募集中。大学や大学院などの高等教育機関でソフトウェア科学にかかわる授業を10講座以上習得している学生や数年の企業経験を持つ20代後半の若手エンジニアを受講生として想定している。
研究分野からのITアーキテクト育成の動きを企業側はどのように受け止めているのか。このプロジェクトに協力している各企業の意見を集約すると、ソフトウェア工学的な手法の現場定着の必要性を痛感している、ということになりそうだ。
富士通研究所 取締役 上原三八氏は「本当の意味でのソフトウェア開発者というのは、どのくらいいるのだろうか」と苦言を呈する。「情報家電がネットワークに接続されると、そこで動くソフトウェアの品質は、いま企業システムで動くソフトウェアの品質をはるかに上回るレベルが求められる。開発効率の向上も求められるだろう」と日立製作所 中央研究所の鈴木教洋氏はいう。
「その時」が来たときに、対応できる人材がどのくらい育っているか。労働集約型の職場環境をどうにかして知識集約型に変えなければ、開発効率の向上は難しい。東芝 研究開発センター所長 有信陸弘氏は「近年の組み込みソフトウェアの複雑化・大規模化に対して、工学的なソフトウェア開発手法の確率は非常に重要だと感じている」とする。
NIIは今後、エース級ソフトウェア技術者を育成するための拠点設置に力を注ぐ予定だ。この拠点をベースに各大学・大学院での教育プログラムの立ち上げに貢献していく。こうして育った人材は企業で活躍し、あるいは研究機関で実績を積みながら、一部は後進の育成に尽力し、強力なエンジニアを輩出するサイクルが形成されるかもしれない。
参考リンク:国立情報学研究所
Copyright © ITmedia, Inc. All Rights Reserved.