この記事の「前編」では、国立情報学研究所、GRACEセンター(先端ソフトウェア工学・国際研究センター)が提供している教育プログラム「トップエスイー」の修了生に、受講のきっかけや、実際に学んだ内容について話を聞いた。「後編」では、カリキュラムの修了要件となっている「修了制作」のテーマや、その制作にどのように取り組んだか。さらに、ここで学んだ知識を業務の中にどのように生かしていこうとしているのか。来年度から「アドバンスコース」が新設されるトップエスイーに期待することなどについて、受講者からの視点で語ってもらった。
出席者
- SCSK、松本琢也氏……第6期(2011年度)受講
- ソニー、礒﨑亮多氏……第9期(2014年度)受講
聞き手
- 国立情報学研究所特任講師(トップエスイー講師)、河井理穂子氏
業務と受講を両立させるためのコツ
-「修了制作」には時間が足りない?
河井:トップエスイーでは、1年間のカリキュラムの修了要件として、皆さんの現場が抱えている実問題を講義で学んだ技術を使って解決を試みる「修了制作」を課しています。実践力が問われるやりごたえのある課題だったと思うのですが、お二方は具体的に「修了制作」として、何をテーマにされたのでしょうか。また、実際に取り組む中で何が大変だったかについて聞かせてください。
礒﨑:私は「セキュリティ」をテーマにしました。
河井:コースとして選んだ「クラウド」ではなかったのですね。
礒﨑:はい。自分としては、せっかく幅の広いカリキュラムが用意されているので、その中で興味や関心のあることを偏らないように、幅広くやりたかったんです。もともと「セキュリティ」については、系統立てて勉強をしておきたいという思いもありましたし、受講時期にOSSの「OpenSSL」に脆弱性が発見されて、会社としてもかなり大変な思いをしていたので、それをテーマにできればちょうど良いという考えもありました。一方で、仕事上、コードを書く機会が少なくなっていたので、個人的にコードをたくさん書くようなテーマにしたいとも思っていました。
河井:具体的な制作内容はどんなものだったのでしょう。
礒﨑:セキュリティにもいろいろなレイヤがあるのですが、私がテーマに選んだのは「ソースコード」のセキュリティで、それを診断するための検査ツールを実際に作りました。トップエスイーのセキュリティに関する講座の中でも概論にあたる部分をさらに深掘りするという感じで進めました。
制作にあたっては、さまざまなアルゴリズムに関する論文を調査し、その中から現場に近い課題を見つけるといったところから始め、それを検査するためのツールを作って、評価するところまでやりました。本当は論文を書くところまでやりたかったのですが、それについては時間が足りなくて断念しました。通常、修了制作は3か月が標準だそうですが、私の場合は半年間を使って、いろんなOSSのソースコードを読んで、評価するという作業を繰り返していました。
河井:その修了制作が、現在、何らかの形で会社での業務に役立っていますか。
礒﨑:作ったツール自体もそうですが、それ以上に、ツールを作るために非常に多くのOSSに触れ、コードを読み込んだことも間接的に役立っていますね。今は、ソニービジュアルプロダクツに出向しておりまして、液晶テレビを使ったサイネージシステムを手がけているのですが、そこでは、ソフトウェア開発にかかるコストを下げ、効率を上げるためにOSSを積極的に活用する方向性にあります。そのためには、OSSの持つ特徴やクセを、利用する側がよく理解している必要があるのです。その意味で、修了制作のためにOSSを大量に読んだ経験は業務に生きていると思います。
松本:私は受講当時、現場での開発から離れたところにいたので、修了制作のテーマをどうするかについては少し悩んだのですが、結果的に、当時の自分の関心事だった「上流工程」に関することをテーマにしました。
具体的には、プログラミングにおける「デザインパターン」のような汎用的なモデルが、「要求定義」にもあるのではないかと考えて、それを作っていくというのをテーマにしました。私の会社では、さまざまな業種業界で利用されている情報システムの受託開発を承っているのですが、要求定義において、必要とされる機能やデータフローが業種ごとにいくつかの類型にまとめられるのではないかと感じていました。このパターンをベースにシステムを作っていくことで、より効率的で品質の高いシステム開発が可能になるのではないかと思ったのがきっかけです。
この修了制作については、現在も個人的にいろいろと試しながら業務に生かせるものにできないかと試行錯誤している状況ですね。
河井:修了制作での成果を、実際の業務で活用できる見込みがありそうなのですね。
松本:上流工程では、お客様の要求を聞いて、それを設計に落としていくという作業を行います。この分野は、担当者の「カンと経験」がものをいう工程だという認識が根強くあり、実際に担当者のスキルによって、工数が大きく変わってきます。
お客様との直接の会話を通じた意思疎通という側面があるため、たしかに「カンと経験」は必要ですが、個々のスキルレベルやシステムの品質を上げていくために有効な手段は、それだけではないはずです。知識としての「メソドロジ」は、学べばすぐに実践できるという性質のものではありませんが、エンジニアがそれを知ったうえで取り組めているかどうかというのは、重要な要素だと思っています。
まだ取り組みの途上ですけれども、例えば、ここで学んだことや修了制作の成果を、自分の知識としてとどめておくだけでなく、社内の勉強会で共有するような機会を多く作っていきたいと思っています。そうすることで、社内の知識レベルの底上げができたり、新しいメソドロジに関してチームでの採用にチャレンジするような土壌作りが進んだりという形で、メリットが出てくる可能性があると思います。
河井:お二人とも、修了制作には非常に意欲的に取り組まれましたが、実際にやってみての感想はどうでしたか。特に、時間的なやりくりはどうされましたか。
礒﨑:たしかに「時間」という意味では非常に大変でしたね。普段は業務をやっているわけですし、トップエスイーでも他の講義に出る時間やレポートを書く時間が別にありますから。修了制作では、担当の教官にアポイントをとり、そこに自分なりのアイデアを持っていってアドバイスをもらうといったことを繰り返したのですが、テーマ決めから、成果物の作成に至るまで、かなり苦労しました。
河井:業務と授業の両立のために、自分なりに工夫されたことはありましたか。
礒﨑:私の場合は、講義が土曜日に集中するクラウドコースだったので、平日は業務中心、土曜は講義、日曜日にレポートや修了制作に本腰を入れるといった形にしていました。日曜日のまともな休みは1年間ないと覚悟しましたね(笑)。まぁ、夏にはその生活にも慣れて、時間は作れるようになりましたけれど。
松本:1年できちんと修了するために、職場の理解は大事だというのは感じましたね。IT業界って、やはりなんだかんだと残業があたりまえのようになっているところがあるじゃないですか。トップエスイーの授業が業務の一環だと捉えて、それを周囲にも理解してもらうことは必要だと思います。
幸い、私の場合は当時いた「人材育成」に関する部署の業務の一環として通っていましたので、上司からも理解を得られ、比較的スケジュール調整はしやすかったです。もっとも、それで会社での業務が減るわけではないので、1年間は大変だったというのが正直な感想です。
ただ、大学を出て会社での仕事になれると、自分から自発的に勉強をする機会というのはどうしても減りがちですよね。ここに通った1年の間に、自分で自分にストレスを与えて勉強をするクセをつけられたという意味では、大変なりに得るものがあったと思っています。
1年で専門を究める「アドバンスコース」を新設
-受講者間の交流からも「気づき」が
河井:礒﨑さんは、修了制作の期間を延ばされたり、松本さんは、業務に戻られてからも自分のスタイルで修了制作のテーマを突き詰めていらっしゃったりと、われわれが設定していた期間に収まらない形で実問題の解決に励んでいらっしゃいます。
トップエスイーでは2017年度より新たに「アドバンス・トップエスイー」コースを新設することになりました。こちらは、特に先端かつ難度の高い技術的なテーマを追求したい方向けのコースになっていて、お二方が時間のやりくりに苦労された「修了制作」と、新たに設置される「ゼミ」を中心に、1年間かけてまだ講義にも組み込まれていない最先端事例・技術を調査し、じっくり課題解決に取り組むコースになります。なので、一般的な講義科目は自由に選んで受けることができるのですが、修了要件として、科目での単位取得は必須ではありません。
礒﨑:私の場合は、3か月の修了制作を半年に伸ばしてもらったのですが、それでも短かったと思っています。1年かけてしっかりと取り組めるというのはよいですね。
河井:アドバンス・トップエスイーコースのもう一つの目玉は「最先端ソフトウェア工学ゼミ」になります。こちらでは、「IoT」や「AI」のような近年注目されている最先端のトピックについて、同じトピックに興味のある受講生と講師がゼミをつくり、メンバーで分担してまだ教科書化されていない最先端の事例・技術を調査していくという内容を考えています。こちらについて、お二方のご意見を聞かせてください。
タイトル | 概要 |
---|---|
クラウド時代ソフトウェアのためのmicroservicesアーキテクチャ設計手法 | クラウドの伸縮性を活かした拡張性の高いソフトウェアを得るmicroservicesアーキテクチャに関する事例調査や設計手法の調査を行う |
All Programmable時代における自動推論・検証・最適化ツールの活用 | モデル検査ツール、確率モデル検査ツール、SMTソルバーなど最先端ツールに関する調査、試行を行うとともにクラウド、IoT、SDN、DevOpsなど現在注目されている先端パラダイムでの活用方法について追求する |
ソフトウェア工学の新パラダイムとは:AIで製品ソフトウェアは開発できるのか? | 脳科学、認知科学、機械学習、データマイニング、サービスやプラットフォーム技術の専門家とのディスカッションや文献調査分析を通して、ソフトウェア工学の新パラダイムを検討する |
継続的なソフトウェアの実行を実現する自動プログラム修正 | 自動プログラム修正の技術要素である欠陥位置推定・プログラム変異・修正空間探索・テスト実行最適化に関する論文やツールの調査を行う |
先端的Webアプリケーションフレームワークの比較 | TodoMVCを足がかりに先端的なWebアプリケーションフレームワークについて比較調査を行い、開発現場への導入に向けた課題などを調査を行う |
派生開発のプロセス改善 | 受講生およびその周りで行われている派生開発の問題点を分析し、 その問題点を如何に解決するかを、受講生とともに考える |
モデル検査における部分順序縮約法 | モデル検査では、示したい性質が成り立つかを判定するために、全空間を探索すると、コストが高すぎて現実的でない.空間の一部分しか探索しないにもかかわらず、性質の成立・不成立を 正しく判定できる部分順序縮約(PartialOrder Reduction=POR)という手法の調査を行う |
概念モデルに基づく様々な視点から要求分析を行う | 概念モデルの作成をとおし、要求を様々な視点で捉えることでゴール指向要求分析手法KAOSやi*のソフトウェア開発現場で活用できる方法を探る |
礒﨑:自分と同じテーマに関心を持っている人と、手分けして調査したり、深い意見交換ができる場というのは有意義だと思いますね。私がトップエスイーを受講したいと思った理由の一つには、同業種、異業種を含めていろいろな企業のエンジニアと意見を交換し、交流や視野を広げたいというのがあったんです。
自分の場合「開発プロセス」の話を他のエンジニアとするのが好きなんですけれど、あまりそのテーマに関心のある人や、自分の考えに共感してくれる人がまわりにいなかったんですよ。トップエスイーに来て楽しかったことの一つは、そうした議論をできる人が多くいたということです。実際、修了した今でも付き合いがある人が何人もいます。
現状のカリキュラムでも、グループワークのような授業や、土曜終日の講義などを通じて交流という目的は十分に果たせると思うのですが、同じテーマについて時間をかけて一緒に追求していくようなコースであれば、さらに得られるものも多いでしょうね。
松本:自分もそれは感じました。トップエスイーの受講生は、みなさん技術的なテーマに興味や意識が強い人が多いですよね。もちろん、いろんな考え方があっていいと思うのですが、会社だと、技術は道具と割り切って業務にあたっている人も多く、技術や手法が成立してきた経緯や、どんな必要性があって生まれたものなのか、どう使われるべきなのかといったところまで深く関心を持つ人って、必ずしも多くないですよね。
自分は、そういう部分に興味があるのですが、同じような興味や関心を持った人が集まっていて、交流させてもらえるのが非常に楽しかったです。
礒﨑:本当にいろいろな方が受講されていたので、そうした人たちとの交流の中で得られる気づきも多かったですね。今、どの会社でどんな仕事をしているとか、どんな課題があって困っているとか。お互いエンジニアであれば、今、どんなフレームワークを使って何を作っているとか、ドキュメントの作り方やテストの方法はどうしているかなど、非常に深い部分にまで会話が進むこともありました。
河井:社外の人同士だから、職場にある課題についても話しやすいというのはあるかもしれませんね。
礒﨑:それはあります。どこでもそうだと思うのですが、会社の中でのやり方というのは、ある程度固定されてしまっていて、何かのプロセスを一つ変えようとするにも、とてもエネルギーがいりますよね。本当は「今のやり方じゃなくて、こういう別のやり方をしたほうがいいんじゃないか」と思っているのだけれど、現実業務が忙しい中で、やり方を変えるなど簡単に言い出せるものでもありません。そうした中で、まったく別のやり方をしているような別の会社の人と話をする機会があると、そこからいろんなことに気づけたりしますし、新しいやり方を導入する上で説得に使えそうな思いがけない材料が見つかったりといったこともあると思います。
河井:授業の内容だけでなく、トップエスイー受講をきっかけにした交流や情報交換の中から、社内でのやり方をより良いものに変えていくためのアイデアやヒントが得られるとすれば、それはすばらしいことですね。
修了生としてこれからの「トップエスイー」に期待すること
河井:トップエスイーのカリキュラムを修了されたお二人は、今後、この取り組みをどのように発展させていくべきだとお考えでしょうか。
松本:先ほども少し触れたのですが、「学術」と「実践」をつないでいくにあたって、こういうスキームで運営されている教育機関というのは他にないだろうと思っています。ぜひ、今後も続けていただきたいですし、さらに発展をしていってほしいと思います。
そのためにぜひ何らかの形で作っていってほしいと思っているのは産業界からの「フィードバック」の仕組みです。トップエスイーの場合、「学術」がまずあって、そこで扱われている理論や仮説を、受講者、つまり産業界に対して「こういうのもあるので、使ってみるといいんじゃないか」と提案している部分が大きいと思うんですね。
それを学んだ受講者が、各企業の業務で実際にそれを使ってみたとします。その結果が「うまくいった」のか「いかなかった」のかをフィードバックして、その結果をもとにした考察がカリキュラムに組み込まれていくというサイクルが確立すると、さらに良い成果が生まれると思うんです。
PDCAのような形で、「学術」と「実践」のサイクルを回していくという取り組みは、恐らくトップエスイーの運営者の側でもすでに意識されているのでしょうけれど、それをさらに明確に打ち出せるようになるといいと思っています。
河井:ありがとうございます。礒﨑さんはいかがですか。
礒﨑:私はここで学んだことを現場で活かすことが今の目標になっていますが、そこで感じているのは、トップエスイーで取り扱われるテーマと、現場での課題との間にあるギャップがまだ大きいのではないかということです。
ここで言う「ギャップ」は、ソフトウェア開発における課題認識の違いというよりも、さまざまなメソドロジや手法などの「認識」の有無といったレベルに近いですね。実際、私もここへきて初めて知った概念が多くありました。あるテクノロジや手法に対して認識がなければ、その分現場への導入障壁も高くなるかと思います。
もちろん、だからこそ、こういう場に人が集まってきて、多くのことを学び、現場で普及させていくという取り組みが重要なわけですが、例えばテーマの立て方も、より現場での課題に寄り添ったものにすることで、ここで学んだことを活かす機会が増えると思います。せっかく受講をして、レポートを書いて修了したとしても、それが自分たちの仕事にフィードバックできる機会が少ないともったいないですからね。
河井:トップエスイーでは、講師陣には研究者もいるので、現場の視点だけでなく学術寄りな議論が展開されることも確かにあります。ご指摘いただいた「学んだことの現場での適用」や「受講者からのフィードバック」に関する仕組みについては、これまでにも多くご要望をいただいており、常に改善を考えています。修了者の方に集まっていただいての「勉強会」のような場を設けていくというのも検討しています。
また、来年度からのアドバンス・トップエスイーでは、1年間をかけて修了制作やゼミを展開する中で、自分たちが学んでいる内容が、実際の業務とどのようにつながっているのかというのを、より深く理解できるようになるのではないかと期待しています。
お二方には、ぜひ今後とも、ここで学んだことの現場での実践と、その結果のフィードバックに引き続きご協力をいただければ嬉しいです。本日は、お忙しい中お集まりいただき、ありがとうございました。
トップエスイー 2017年度 講座説明会
トップエスイーの2017年度向けの講座説明会が、2016年12月16日(金)に東京で開催される。講義や各種のプログラムを実施している担当者による説明を聞くことができると同時に、直接質問ができる機会でもある。トップエスイーの具体的な講義内容や、記事に出てきたアドバンス・トップエスイーコースの「プロフェッショナルスタディ」がどのようなものかを知りたい方には絶好の機会となるだろう。詳細は上記のトップエスイーのサイトに記載されている。