阿部ブログ

日々思うこと

ソフトウェア開発におけるインタラクション・デザイン

2012年01月20日 | 日記
今日、情報処理振興機構(IPA)主催の『ユーザー指向設計の新潮流』と言う講演会に参加した。
この講演会では、思いがけず様々な気づきを得る事が出来た最近では珍しい体験をした。
それは『ソフトウェア開発におけるインタラクションのデザイン』と言うテーマであり、(㈱SRA 先端技術研究所の所長である中小路久美代女史がお話をされた。

中小路さんは、人間の知的創造活動 (Creative Knowledge Work) を支援し、また促進するためのナレッジインタラクションデザインの研究、インタラクションデザイン指向のソフトウェア開発支援研究に従事しているとIPA事務局から説明があった。また奈良先端科学技術大学院大学客員助教授、東京大学先端科学技術研究センター特任教授など歴任しているとも。
中小路さんは、ノンフィクションライター最相葉月氏の著書『ビヨンド・エジソン12人の博士が見つめる未来 』(ポブラ社刊) の1人として取りあげられているが、小柄ながら流石にインタラクションデザインを語るその語り口と身振り手振りには何かしら感ずるものがある。

中小路さんの語った事は、以下をご参照下さい。これは是非とも社内で共有したいと思うし、この視点からエンタープライズシステムの在り姿を考えたい。

総括的に言えばソフトウェアには、「作るものの世界」と「使うことの世界」という、個別に存在する二つの世界が関わると考えている。前者はシステムによって実行される対象としての世界であり、後者は人間がやりとり(インタラクション)をする対象としての世界。今回の講演では、ご自身で関わってきた研究ツールの構築や産学連携プロジェクトの経験を踏まえながら、「使うことの世界」をデザインしていく際の課題や、そのための表現、ツールおよびプロセスについて説明。
「使うことの世界」という視座から、ソフトウェアの品質というものを、操作性やインタラクティビティという点を中心にして話をしていた。

以下は、徒然なるままに...

・ソフトウェアシステムを作るときには「作るモノの世界」(the world of making)のデザインに加えて、「使うコトの世界」(the world of using)のデザインをするべき。「作るモノの世界」というのは,計算機から見たときに、プログラムとして処理をする対象としての世界だ。こういうアーキテクチャに基づいて、こういうアルゴリズムを利用して、こういうプログラム構造でといった世界。

・「使うコトの世界」というのは,使う人から見たときに、人がインタラクション(やりとり)をする対象としての世界だ。ユーザがこういう気持ちでこういう操作をして、そうするとシステムがこんな感じの表示をして、するとユーザがじゃあ次はこうしてと考えて、といった世界。

・インタラクションデザインという言葉は,「使うコトの世界」を造形していくアクティビティを指すもの。使って楽しい,使い心地が良いといった,ユーザがシステムを使ってどんなことをどんな風にしていきたいか,から出発するのがインタラクションデザインである。

・「使うコトの世界」には、さまざまな時間粒度でのインタラクションがかかわる。
指をタッチパネル上でクィッと動かすとオブジェクトがすーっとついてくる、といったような、ミリ秒単位の細かい粒度のインタラクションから、これを決めて,次にここを選んで、といった操作の手順を表すような、秒とか分単位の粒度のインタラクション、更にツーソフトウェアにおける2つの世界。

・この「端から端まで」というところが「使うコトの世界」をデザインする際の最も重要なポイントだと思っている。
面白い、楽しい利用場面を思いついてシナリオを書いたり、鍵になるインタラクティビティをスケッチすることは、デザインアイディアとして重要なコンポーネントとはなるけれども、それだけで「使うコトの世界」ができ上がることにはならない。地味な場面のインタラクションも含めて,あり得るインタラクションをできるだけ網羅して,全体を通して一貫性のある<使うコトの世界>を作り上げることが大切だと考える。

・プログラムに1個バグがあるだけでシステムを実行できなくなるのと同様に、一連のインタラクションに1 カ所不揃いなところがあるだけで全体としてのユーザの利用体験が損なわれる。「作るモノの世界」を造形するプログラミングと同様に「使うコトの世界」の造形にも,地道なコツコツとした作業の側面がある。

・「使うコトの世界」を考えていないばっかりに「作るモノの世界」に携わる人が振り回されているように見えることがしょっちゅうある。それぞれの世界を,それぞれの世界の専門家が造形することで、豊かなソフトウェア体験が増えていくといいなと思っている。

・「機能品質」とは「このシステムでユーザーは何ができるか」という、機能に関する品質を表すもの。
より多くの有益な機能が問題なくきちんと実装されていることが、高い機能品質を保証することになります。家電製品のパンフレットにずらりと並んだスペック表のチェック項目は、まさにこの機能品質を表現したもの。
ソフトウェアアーキテクチャやテスト手法、プロセス管理といった、現場でも取り入れられているソフトウェア工学技術や手法の多くは、この機能品質を向上させることを目指したもの。

・これに対して「ユーザーが何をどうしながらシステムを操作していくか」という、操作性に関する品質が「操作品質」です。操作品質とは、ユーザーがシステムとの一連のインタラクション(やりとり)を通して得る“体験”の品質を表すもの。

・「使うコトの世界」で重要なのは「認知的・体験的・一貫性」があること。

・インタラクションデザインに関わるところは、「開発者もユーザーも、自分の役割だとは思っていない。けど、部分的には、こうしたほうがいいんじゃないかな、というアイディアはある」というところ。現状の開発の進め方では、全体を網羅して考える役割もフェーズも、すっぽりと抜けがちな部分ではなか?

・インタラクションのデザインによる仕様:システムに関する「機能仕様」があるのと同様に、ユーザーがどのようにそのシステムを使うのかに関する「インタラクションのデザインの仕様」というものを作っていくべきである。

・インタラクションデザインの仕様は、
(1)そのシステムに対してユーザーが行う操作の流れ
(2)操作する対象がどんなふうに画面に表示されるか(もしくは音声応答では何がどう聞こえるか)
(3)操作した結果がどう表示されるか
(4)どんな状況で、何に対してどういうアクションをとると、何がどうなるか
といったことを、システム全体を網羅して記述したものとなります。

・インタラクションデザインの仕様書があれば、そういった要望が出されたときに、その仕様書と照らし合わせながら、「あなたの変更要望はココをこう変えたい、といっていることで、その結果、これらの部分もすべて変えなければデザイン的に破綻してしまいます」と説明することができるし、「それを踏まえた要望でしょうか?」と確認することもできます。
そうすることによってユーザーインターフェイスの一貫性を保つことができ、その結果、こういった一部分だけを見た変更要望の多くは撤回されることになるのではないかと思う。

・つまりインタラクションデザインはソフトウェア開発に先立って行うべきことがらであると言う事。
ソフトウェア開発においては、ユーザーインターフェイスは最後に調整すればよいと考えられがち。表面のところあり、また、できあがりのイメージがある程度できてくると、開発者でない人やユーザーでも、こうしたほうがいい、あぁしたほうがいい、とサジェスチョンを出しやすい部分でもある。

・インタラクションデザインは、北欧が進んでいる・・・スウェーデンなど インダストリアルデザインとソフトウェアデザインの融合連携してる。逆にアメリカはインタラクションデザインの意識は希薄と言うか、あまり必要性を感じていない。

またまた徒然なるままに~

最新の画像もっと見る