アカデミック
「目の前の小さな課題から解決していこう」東京都市大学・増田聡教授がゼミ生と取り組むソフトウェア開発(前編)
横浜市営地下鉄の中川駅から徒歩5分ほど。閑静な住宅街と緑あふれる公園に囲まれた東京都市大学 横浜キャンパスで教鞭を取るのが、メディア情報学部 情報システム学科の増田聡教授である。
研究分野はソフトウェア工学だが、組織マネジメントなどの講義も担当する。経営・ビジネス領域にも精通しているのは、そのキャリアが大いに関係する。
増田教授は日本アイ・ビー・エム株式会社(以下、日本IBM)に30年間在籍した。しかも社内のIT部門からサービス事業部門、そして研究所と、幅広い仕事をこなしてきた経験豊富なビジネスパーソンだったからだ。他方で外部活動にも精力的で、ソフトウェアテスト技術振興協会(ASTER)の理事などを務める。
今回、「HQW!」編集部ではそんなアクティブな増田教授にインタビュー取材をした。前編の記事では、大学教授としての取り組みや、ソフトウェア工学の現状などを聞いた。後編では、日本IBMで歩んできたユニークなキャリアと、その過程で出会ったソフトウェアテストの世界について語ってもらう。
新しい工夫があれば立派な研究だ
東京都市大学の横浜キャンパスには、メディア情報学部、環境学部、デザイン・データ科学部と大学院の環境情報学研究科があり、およそ1800人の学生が学ぶ。
増田教授が所属するメディア情報学部情報システム科は、「情報システムの構築力を修得」「システムデザインを実践的に学修」「ICTアセスメント力を強化」といった特徴を持つ他、教職課程の規定科目を履修することで「高等学校教諭一種免許状(情報)」、いわゆる教員免許を取得できるコースであることも売りになっている。
研究室(ゼミ)には、基本的に3年次から入ることができ、現在、増田教授のゼミには大学院生を含めて25人ほどが籍を置く。「品質の高いソフトウェアを効率よく開発する技術の研究」。これが同ゼミの掲げるコンセプトである。
「社会的な課題を解決したいという学生は多いです。ただ、その課題というのは国際平和や環境といった大きなテーマの中にある、目の前にある小さな課題でいいのです。世の中には課題がたくさんあって、例えば横になっているものを縦にするなど、その解決のために何か新しい工夫があれば、もうそれで研究になるのだと学生には伝えています」
その上で増田教授が強調するのは、この観点は学生の研究だけでなく、企業や大学の研究者も同様だということ。何かしらの工夫があり、かつ誰もやっていないことであれば立派な研究だし、発明なのである。
増田教授のゼミでは、そのような課題解決の手段としてソフトウェアの開発や活用に主眼を置いている。従って、そのために高品質なソフトウェアを効率よく開発する必要があるというわけだ。
他方、広く一般学生を対象とした講義では、2年生に「電子商取引」、3年生には「組織とマネジメント」という経営論や、「企業統治と情報管理」、いわゆるITガバナンスについて教えている。
「この大学には実務家教員として入り、主に経営工学系を担当しています。講義内容は私が本当に学生へ伝えたいことを中心にしています」
実務家教員とは、文部科学省の定義では「専攻分野におけるおおむね5年以上の実務の経験を有し、かつ、高度の実務の能力を有する者」とある。世界を代表するIT企業に勤めた増田教授の経験が申し分ないのは言うまでもないだろう。
大学教授にキャリアチェンジした理由は後編記事で詳しく述べるが、ある大学で非常勤講師を務めた際、教えることの面白さや意義深さを実感したことが一つのきっかけになっている。いくつかの大学を検討した結果、縁があって東京都市大学に進むこととなった。
「もう3年間勤めているわけですけど、非常に満足しています。講義の中身は本当に自由に組み立てられるし、世の中の変化に合わせて毎年アレンジすることも可能です」と、増田教授は生き生きとした表情で語る。
ソフトウェア工学をどう見る?
先述したように、増田教授の専門分野は「ソフトウェア工学」である。長年この分野に従事してきた身として、現状をどう見ているのだろうか。
「ソフトウェア工学は今から40〜50年ほど前に生まれた学問で、私は初めてこれを知ったとき、実に素晴らしいものだと感動しました。この理論に従えばソフトウェア開発をはじめ、いろいろな物事が全てうまくいくだろうと思い、自分でも実践したわけです。でも、結果としてうまくいかなかったことも多かったですね。世の中のソフトウェアの課題はまだほとんど解決できていないのではないかと思います」
例えば、テストケース。開発したソフトウェアのテストをどこまでやればいいのかはいまだに明確ではないし、テストケースの自動生成も完全にはできていないという。
「そもそもソフトウェア工学(エンジニアリング)では再現性をどう担保するかが一つの目的になっています。理論的には、こうすれば高品質で高効率にソフトウェア開発できますと語られているのですが、現実的にはなかなかそれを再現できません。小さな問題は解決するのですが、大本の問題は解決されていないと感じています」
ここには自省も込められている。
「私が現役の時代に、どういう貢献ができたのだろうと考えることがあります。今までもいろいろなソフトウェア開発の方法論などが出てきて、“これでソフトウェア開発が変わる”と何度も言われました。例えば、SOA(Service Oriented Architecture:サービス指向アーキテクチャ)。これに従ってソフトウェアを作れば、もう開発しなくて済みますよ、後は組み合わせだけでアプリケーションが動きますよと、散々もてはやされたけれども、結局はしぼんでしまいました」
もちろん、何も起きなかったわけではない。アプリケーションやシステムをつなげるインターフェースであるAPIがこの思想を引き継いでいる。大々的な変革までには至らずとも何らかしら後世に引き継がれればよいというのが増田教授の考えである。
機械学習工学に期待
では、今後のソフトウェア開発の変革には何が予想されるのか。やはり、生成AIや大規模言語モデル(LLM:Large Language Models)によってソフトウェア開発が変わりそうな予感があると増田教授は語る。
具体的に注目しているのは「機械学習工学」の領域である。機械学習工学とは、機械学習ソフトウェアの開発やテストなどに関する学問のこと。興味を持ったきっかけは、かつて増田教授自身がこの問題に直面したからだ。
「日本IBMの研究所にいた時の2016年のプロジェクトで、ソフトバンクの人型ロボット『Pepper』を用いて、ある企業の支店窓口で顧客と対話するシステムを構築しました。そのシステムの裏側には会話を自然言語処理技術で解析する機械学習モデルを入れており、例えば『この店はいつまで営業していますか?』という質問に対する想定問答で学習させていました。このシステム開発において、従来のソフトウェア工学ではうまくいかない課題に直面したわけです」
従来のソフトウェア開発は、要件定義、設計、開発、テストといった工程で進行する。しかし、機械学習を使ったアプリケーションは設計や開発が既に済んでいる。それにデータを与えて、ある程度の正しい答えが出るまで学習させるのが主たる作業となる。
要件定義に関しても、こんな機能が必要だというレベルだし、設計はこのモデルを使うといった程度。要するに、今までのソフトウェア開発プロセスとはまるで異なるわけだ。増田教授は実際にプロジェクトを進める中で、そのことに気が付いた。これは普通の要件定義や設計開発では通用しない、と。
「どういうデータを学習させるかによって精度が変わってくるので、そこが課題になります。従来型のV字モデル(V-Model:要求仕様から保守までのソフトウェア開発ライフサイクル活動を表現したフレームワーク)にはそういったことはありません」
そのような点に頭を悩ませていたところ、プロジェクトの翌年辺りから同じような問題意識を持った人たちが集まり、「機械学習工学」という分野が立ち上がったという情報を得たと増田教授は振り返る。
海外でも「Software Engineering for AI-Enabled Systems」(SE4AI)と呼ばれる機械学習工学の領域。この登場によって今後のソフトウェア工学はだいぶ変化していくだろうと期待する。そして、増田教授自身も世界的に盛り上がるこのトレンドを注視していきたいと語る。
次回はキャリア編。増田教授が日本IBMで過ごした30年と、そこでソフトウェアテストと接点を持ったきっかけなどをお伝えしていく。
(後編に続く)
この記事は面白かったですか?
今後の改善の参考にさせていただきます!