1. 概要
昨年度に引き続き、情報学領域概論科目「情報通信技術のデザイン」を開講した。本科目の一つの大きな目標は、個々の人間が全てを理解するにはあまりにも複雑となった情報通信技術の設計原理を包括的に理解し、整理することである。講義は、昨年度と同様に、招待講演を含む情報通信技術に関する講義、ワークショップ、高校生への発表会により進められた。講義・講演により様々な事例を知ることでそれぞれの参加者が設計原理に迫るとともに、ワークショップと発表会により設計原理に関する理解を参加者間で共有、深化させた。
講義では、専門分野ごとに分化して発展してきた設計方法論の共有が現状なぜ困難であるか、また情報通信技術の一層の応用の広がりのためには、設計方法論の共有・協調が今後どのように必要となるか、について具体例に基づいて学んだ。このために、「情報通信技術のインフラストラクチャ」、「ソフトウェアとインタフェース」の二つの観点から、招待講演を交えた講義を行い、設計方法論に関する考察を行った。
ワークショップにおいては、情報通信技術が用いてきた設計原理に関する我々の仮説、すなわち、(1)複雑さを制御するための階層的抽象化、(2)論理を物理で実現する際のトレードオフ、(3)受容性を高めるための人と社会の模倣、(4)実社会とサイバー空間の自発的な関わりを促すためのエコシステム、を軸として、各人の理解を共有、整理した。今年度のワークショップでは、(5)事象を説明する最小限のモデルを用いて性能や効率を向上させる単純化、も設計手法の一つとなり得るのではないか、との提案が学生よりあり、これを加えた5つの軸によりデザイン原理を視覚化し、高校生にわかりやすく伝えることを通じて設計原理に関する理解を一層深めた。
2. 招待講演
今年度の招待講演は、板倉憲一先生、守倉正博先生、田中慎司先生、増井俊之先生にお願いした。今年度新たにお願いした3名の先生方の講演について以下にまとめる。
【並列コンピュータのデザイン (板倉憲一先生)】
地球シミュレータを具体例とした並列コンピュータについての講演である。地球シミュレータのデザインでは、昨年度の京のデザインで報告されたスーパーコンピュータのデザインにおけるトレードオフに、LSIの進化が大きく影響していることが垣間見えた。地球シミュレータが開発される前のSX-4とSX-5、そして、初代地球シミュレータから現行地球シミュレータへと、単体のプロセッサ速度とサイズの縮小が、ノード数の削減やスーパーコンピュータ自体のサイズを決めるなど、LSIの進化がスーパーコンピュータの進化にも関わっている。また、コモディティ化によって市販プロセッサを利用する流れが主流となり、ネットワーク接続に技術の中心が移っていることは京と全く同じ流れであり、初代システムから現行システムへの更新におけるネットワーク接続方式のアルゴリズム変更によるコストダウンの例を通じて改めて理解できた。
また、スーパーコンピュータの設計を決める大きな要因として、搭載されるアプリケーションの想定が重要であることが示された。汎用型スーパーコンピュータとして設計された京では、あらゆる計算が対象であるため、最大公約的なシステムが設計されたが、地球シミュレータは地球科学計算の専用機を目指して設計されたため、ネットワークが肥大化しても、オーバーヘッドが限りなく小さくなるようなトレードオフが形成されている。
【大規模サービスのデザイン(田中真司先生)】
日本有数の大規模ウェブサービスを運用している企業での経験を交えながら、サービスのデザイン、開発プロセスのデザイン、そして、チーム開発のデザインの3点についてご説明いただいた。
サービスのデザインでは、リーンスタートアップと呼ばれるサービス事業の開発手法について紹介が行われた。リーンスタートアップは、サービス事業を立ちあげるために、仮説構築、実装、検証を迅速に繰り返すことで、無駄を最小限に抑えつつサービスの改良を続けていくプロセスである。まず、MVP (Minimum Viable Product)と呼ばれる最低限実用に耐えうる製品やサービスを迅速に構築し、MVPで仮説を定量的に検証し、仮説を修正していく。仮説にはサービスの事業内容だけでなく、技術やデザインも含まれる。このリーンスタートアップは、小規模グループがスモールスタートでサービスを開発していくのには適しているが、一方でスモールスタートが不可能な場合や、大規模な設備が必要な場合、B2B市場などでは適用が難しいことが知られている。
次に開発プロセスのデザインでは、スクラムと呼ばれるソフトウェアの開発手法について紹介が行われた。スクラムは、アジャイル開発手法の一つであり、判断に責任を持つプロダクトオーナーと、チームを健全に保つスクラムマスター、実装とテストを行うチームメンバーから構成される。スクラムでは、チーム内の残務であるバックログをプロダクトの機能開発や改善に関連するプロダクトバックログと、当面の作業計画を示すスプリントバックログに分けて管理し、そのステータスをチーム全体で共有することで、目標を定期的に見直し、開発内容を修正していく。チーム全体でタスクのステータスを管理することで、リーダーの指示待ちではなく、メンバ自身が自律的に考えるようになることが、実例などを用いて示された。
最後に、チーム開発のデザインでは、コードレポジトリを中心にチームでどのように開発しているかについて説明が行われた。最近は分散型のバージョン管理システムがよく使われており、プロダクトの役割ごとにブランチを作りコードが管理されている。様々なブランチをマージする際にコードレビューを行う。これにより、仕様・実装バグを発見しやすくするだけでなく、見られることを意識することによる品質維持や、開発ノウハウ・スタイルの共有が進むことがメリットとしてあげられた。
今回の講演では、企業で開発運用中であり学生にもなじみのあるアプリケーションをケースとして紹介いただいたおかげで、机上のデザイン手法では対処が難しい現場の問題などが生々しく伝わり、学生にとってWebサービスデザインの最前線を知る良い機会となった。
【インタラクションのデザイン (増井俊之先生)】
ユーザインタフェース(UI)デザインの核となる 「GUI (ユビキタス)」「ユニバーサル」「ユーザ参加」について、豊富なデモとともに講義がなされた。
本講義はまず、UIの歴史と進化を生物の進化になぞらえて説明するところから始められた。大型計算機の頃のUIから、現在広く使われ馴染みのあるUIに到達するまでにどのような試行錯誤があり、どのような進化と淘汰がなされたかを、それぞれの時代のコンピュータ環境におけるインパクトから解説された。特に、メニューやスクロールバーなど、30年にもわたって使われ、一見、これ以上の進化が難しいように思われるUIについても、使いやすさを高めるデザインが可能であることを、ご自身の開発事例を交えて詳細に講義された。また、ユニバーサルデザインについては、その意義を「弱者のためのデザイン」という観点からとらえ、「色盲者のためのゲーム」や「運転中/歩行中の両手が使えない制約」など、さまざまな弱者の制約を紹介し、そこから、「シンプル」であることが利点にも欠点にもなり得ることについて解説された。
また本講義では、エコシステムにもかかわる「ユーザの参加」について詳細な説明があった。これは「FabLab」や「Maker」に代表される、情報通信技術を活用したモノづくりとも言うべき活動で特に顕著であり、これらの活動が活発となることにより新たなイノベーションが起こる可能性について説明された。最近のシステムやUIに関するデモをふんだんに盛り込み。ドラッグ&ドロップの操作を壁や机の上で実行する「実世界GUI」、異なるデバイス間での通信による「実世界コピペ」など実空間とサイバー空間をまたがるユニークなモノづくりの事例についても紹介があった。
3. ワークショップ
招待講演で学んだことを視覚化するために、7月5日~6日の2日間のワークショップをデザインイノベーション拠点(京都リサーチパーク)で開催した。土曜、日曜の午後を使ってのワークショップであるが、本科目の履修の条件としているため、21名の学生と5名の教職員が集まった。また、昨年度の経験を引き継ぐため、昨年度履修者から2名のTAをお願いした。ワークショップは、まず、各人が最も重要と感じるICTのデザイン原理を報告し、次に興味を同じくする学生でグループを構成した。「階層的抽象化」「トレードオフ」「人と社会の模倣」「エコシステム」に、学生からの提案である「単純化」を加えた5つの設計原理を、各チームで議論しポスターにまとめた。
このワークショップの目標は、5つのデザイン原理を十分に咀嚼し分かりやすく伝えることである。7月9日には、須永剛司先生と多摩美術大学の学生が助っ人として参加、ポスター発表に改善を加えた。7月16日には、京都市内の西京高校、堀川高校から27名の学生を招待し、デザインファブリケーション拠点(吉田)で発表会を行った。昨年度に引き続き、西京高校の藤岡健史先生には大変お世話になった。昨年度に比べ、発表会は大規模でかつ高校生を交えたミニワークショップを含めるなど密度の濃いものとなった。