【慶應大SDM】リアルとオンラインで並行開発を学ぶ。ピンチが生んだ新たな実践型授業とは

【慶應大SDM】リアルとオンラインで並行開発を学ぶ。ピンチが生んだ新たな実践型授業とは

慶應義塾大学大学院システムデザイン・マネジメント研究科(以下、慶應SDM)は、現代社会におけるあらゆる分野の問題を「システム」の視座から考え、問題解決に取り組む人材を育成しています。今回は授業の一つ、「ソフトウェアデザインプロセス論」をご紹介します。

ソフトウェア開発を理論で学んだ後、実際にロボットを使ってソフトウェア開発が体験できる実践型授業とあって学生から評判の授業ですが、2020年度は新型コロナウイルスの影響で実施が難しく、春学期(4月~7月)に予定していた授業は延期となりました。しかし、秋学期(10月~2月)に対面授業とオンライン授業を組み合わせることで、例年の授業の質を担保しながらも、新たな学習分野を追加した授業を実現されています。「リアルとオンラインのハイブリッド授業ができた」と語る、慶應SDM教授の春山真一郎氏、非常勤講師の江口亨氏、林亮太郎氏にお話を伺いました。

慶應大SDMが教える「実践重視型のソフトウェア開発」授業

現代社会において発生する問題の多くは、それ単体ではなく様々なシステムが複雑に絡み合って起きています。それゆえ、慶應SDMでは、表面的な問題の部分最適を行うのではなく、システム全体を考慮し、全体最適の問題解決を行うリーダーを育成しています。同校におけるカリキュラムは、学問的基礎や専門分野の知識の習得だけでなく、実践・体験を重視している点に大きな特徴があります。今回、ご紹介する「ソフトウェアデザインプロセス論」もそのうちの一つです。

「ソフトウェアデザインプロセス論」は週1時限90分、予備日を含め計15回の半期授業です。第1回でソフトウェア開発の歴史や問題点、開発の様々な手法を学び、第2回以降はロボット教材を使って実際にソフトウェアを開発していきます。より現場に近い状況を再現するために、システムの動作環境や仕様が細かく設定され、学生は顧客(講師が顧客の役割を務めます)から示される要求仕様に基づき、段階的かつ効率的なアジャイル開発を行うことが求められます。座学にはないリアルなプロジェクト管理や顧客との交渉、チーム間の連携を体験することが授業のポイントです。

2020年度秋学期シラバスより

第1回         イントロダクション
第2~3回   ロボットシステムの開発体験
第4~5回   ソフトウェア開発プロセス解説
第6回         アジャイル開発プロセス解説
第7~8回   アジャイル開発プロセス演習 
第9~13回 ロボットシステムソフトウェア開発演習
第14回       プロジェクト発表

リアルとオンラインを組み合わせた「ハイブリッドな実践授業」

2020年は新型コロナウイルス感染拡大によって、多くの大学がオンライン授業を開始した年でした。慶應SDMも例外ではなく、授業のほとんどをオンラインへと切り替えたそうです。しかし、「ソフトウェアデザインプロセス論」はグループワークと演習がメインであり、全てをオンラインに切り替えるのは困難でした。もともと2020年度の春学期(4月~7月)に予定されていた授業は延期し、「秋学期も中止を考えていた」という春山教授ですが、共に講師を務める江口氏から「Virtual Robotics Toolkit(以下、VRT)」の提案があり、授業の検討を始めました。

VRTとは、プログラムしたロボット教材の動きをパソコン上でシミュレーションできるソフトウェアです。実際に使ってみたところ、ロボットが木製ブロックを押したり、何かの拍子で転んだりする様子は実物の動きに近く、「これなら授業の質を落とさずにオンライン授業が出来る」と採用を決めたそうです。当初、全演習をシミュレータで行う予定だったそうですが、「実際のロボットも動かしたい」という学生の強い希望があり、シミュレータと実機両方を活用したハイブリッド授業が行われました。

ソフトウェアデザインプロセス論 最終発表

2021年1月7日、最終成果発表を取材しました。

日程 
2021年1月7日(木)2限10:45~12:15

会場
慶應義塾大学 日吉キャンパス 協生館

場面設定
築地の再開発現場における自動輸送システムを開発してほしいと顧客から依頼

発表内容
顧客からの要求仕様書に基づいて開発したシステムの最終成果を、顧客(講師)にプレゼンテーションする。以下1~8はプレゼンテーションに必ず盛り込むこととする。6、7のデモンストレーションは、事前に撮影した動画を用いる。

1. システムの仕様の説明
  A) 動作する条件の説明 B) 動作しない条件の説明
2. 実装したシステムの説明
3. ユニークな点の説明
4. システムのテストの説明
5. 成功確率の説明
6. 最終仕様の実装(VRTによる自動輸送デモンストレーション)※事前撮影した動画を使用
7. 最終仕様の実装(実機による自動輸送デモンストレーション)※事前撮影した動画を使用
8. Q&A(顧客(講師)とのやり取り)

使用した教材
レゴ®マインドストーム®EV3、Virtual Robotics Toolkit

DSC_2320_-_resize.JPG

発表終了後、予定にはなかったのですが、その場で実機を使ったデモンストレーションを見せていただくことになりました。今回課題であった自動輸送システムは、現場の環境や周囲にある物体を考慮し、センサーの調整やプログラムを作成する必要があります。学生はもともと構築していたシステムに、急遽教室の床の色や壁との距離をセンサーで認識できるよう何度か調整を加え、授業時間内に自動輸送システムを作り上げました。

遠隔でのアジャイル開発、大変だったことは?

授業の核でもあるアジャイル開発の特徴は、顧客からの要求に対し、都度、柔軟かつ俊敏に対応できる点です。その為、授業でも度々要求の仕様が追加されたり変更されたりしたそうです。「顧客からの要求に対して素早く対応するためには、チームでの連携が欠かせません」と春山教授は言います。しかし、コロナ禍では頻繁に集まってグループワークするのは難しい状況でした。

そこで、学生たちはオンライン上でホワイトボードを共有できるツールmiroを使用して遠隔でグループワークをしたそうです。画面上にポストイットを貼り付けながら議論を深めていったといいます。実物のホワイトボードと比べると、PCモニターで映し出される範囲は小さく、全体像の把握が難しいといった課題は残るようで、今後もやり方を模索していくとのことでした。

シミュレータを活かした「並行開発」体験、今年度から実施

今回の授業で初めて実機とシミュレータの両方を活用してソフトウェア開発が行われましたが、春山教授によると、こうした手法は並行開発と呼ばれ、実際の現場でも取り入れられているそうです。たとえば、コンピューターに搭載されているCPUは、効率性を考慮し、ソフトウェアとハードウェア同時並行で開発が行われています。ハードウェアの完成を待ってからソフトウェアの開発を始めると、場合によっては半年ほど時間をロスし、製品化が遅れる事もあると言います。

「通常、企業で取り入れられている開発方法を学校で学べる機会は貴重だと考えています」と春山教授は述べました。また、以前に民間企業でスーパーコンピューターの開発に携わっていた林氏からは、開発効率以外の目的も挙げていただきました。

「ハードウェアに限らずモノを作る時には、『どう作るか』と同時に『どう使われるか』を意識して考えていかなくてはなりません。開発者は、開発中にも絶えず顧客の意見を聞きながら使われ方を想定し、随時開発にフィードバックを反映させていきます。特に現在は世の中にないイノベーティブな開発が求められており、短時間で正解のないものを作り上げるには並行開発は不可欠です。」

「問題解決は全体設計で。多面的・多角的に検証する大切さを教えたい」

シミュレータを活用した授業は開発に必要な場所や実機を用意しなくてもよいといった利点がありますが、その他にもシミュレータ上であれば数値データを即座に取得できるため、理論の検証が容易だったそうです。しかし、シミュレータだけでソフトウェア開発の学習が十分できるかというとそうではなく、「ソフトウェア開発で起こる問題は、多面的・多角的に検証する意識をもつことが必要」と江口氏は話されました。

林氏と同じ会社でソフトウェア開発に携わってきた江口氏ですが、現在はロボットや3Dプリンタ、ドローンなど様々なハードウェアを扱う会社を設立しています。「以前の会社でソフトウェア開発に携わっていましたが、ハードウェアを扱うようになって、発生する問題はソフトウェアの改善だけでは解決できないと思うようになりました。ソフトウェアで改善できる場合もあるし、ハードウェアで改善できる時もあります。常に全体設計を考え、問題解決に取り組む大切さを学生に学んでほしいです。」と江口氏は話されました。

2008年に慶應SDMが設立された当初から、春山教授はソフトウェア開発について授業をされてきました。ソフトウェア開発、社会システム、サービスを使う人材はこの数年で大きく変わり、それぞれの時代に即して授業の形を変えてきたそうです。今、社会の大きな変化に合わせて、授業では新たな取り組みを始められています。多くの学校がオンラインでの実践的な授業の作り方を模索する中、慶應SDMの取り組みは大きなヒントになるのではないでしょうか。

プロフィール

haruyama_portrait_resize.jpg慶応義塾大学大学院システムデザイン・マネジメント研究科
教授 春山真一郎氏

アメリカの大学院でコンピュータサイエンスを学んだ後、参加したベル研究所で集積回路自動設計のソフトウェア開発等を行った。帰国後ソニーコンピュータサイエンス研究所で通信システム等の研究に携わった後、慶應義塾大学理工学部に参加し、光空間通信などの研究を行っている。2008年の慶応義塾大学大学院システムデザイン・マネジメント研究科設立時に参加し現在に至る。
IMG_20180318_090436_resize.jpg慶應義塾大学大学院システムデザイン・マネジメント研究科
非常勤講師 江口 亨氏
金沢大学工学部卒業後、大手コンピュータメーカーに入社。パソコン・デジカメ・車載・AIなど幅広く開発に従事。1993年にマウスカーソルを自動で動かすチューチューマウスを発表し10万人のユーザを抱える。1997年、有限会社イケハウス設立。近年は慶應義塾大学大学院SDM非常勤講師、東海大学非常勤講師、JASA主催ETロボコン本部共同企画委員長などで教育活動にも従事。時折、ロボットコンテストなどに出場。
RyotaroHAYASHI_resize.jpg慶應義塾大学大学院システムデザイン・マネジメント研究科
非常勤講師 林亮太郎氏
大学で原子核物理学を学び、大手IT企業でMPUからスパコンまで多様な製品の研究開発に品質保証技術者として従事。認知科学や人間行動学に知見を広げ、組織人材開発にキャリアシフト。技術者教育や、組込みシステム開発へのアジャイルプラクティス導入を推進。2014年、慶應義塾大学大学院SDM研究科を修了。同年より非常勤講師。2019年に独立し、企業の戦略企画やエグゼクティブコーチングを通して社会変革をもたらす多様な力点を見出すことに注力している。

参考リンク


textbook-vrt-sub200.jpg

教材「Virtual Roboticsで学ぶプログラミング基礎」サンプル公開中

シミュレータ上でロボットを動かしながら、プログラミング基礎を学びたい方へおすすめの教材「Virtual Roboticsで学ぶプログラミング基礎」の教材サンプルをご紹介します。サンプルを見る


関連記事