ネイルサロン

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

2010/02/08 12:40

アプリケーションソフトウェアはもちろんのこと、最近は組込機器の多くもインタラクティブ(対話形)になってきました。インタラクティブなシステムにおいては、「機能品質」に加えて「操作品質」がシステムの善し悪しの決め手となります。この流れに伴って、システムと利用者のやりとりをデザインする「インターフェイスデザイン」も「インタラクションデザイン」という考え方に進化しています。本シリーズでは、より高い操作品質を実現するための「インタラクションデザイン」について、数回にわたり解説したいと思います。No.2:インタラクションデザインの役割前回は、システムの「機能品質」に加えて「操作品質」を向上させるためには、ユーザーがシステムを使っていく世界をデザインするための「インタラクションデザイン」が必要であることを述べました。今回は、インタラクションデザインがソフトウェア開発において果たす役割について見ていきたいと思います。--ユーザーと開発者との間でありがちな会話インタラクションデザインの役割について説明するために、逆にインタラクションのデザインを行っていないがために起こっていると考えられる事柄を挙げてみます。以下は、クライアント(ユーザー)とソフトウェア開発者との間で、インタラクションデザインが行われていないためにしょっちゅう起こっていそうなやりとりです。あくまで仮想的なものですが、割と普通にあることではないのかなと思う会話です。ユーザーインターフェイスというものは、開発者にとっては「指示通りに実装しますよ」の部分であり、クライアントにとっては「今はよくわからないから後で考えたい」部分である場合が多いと思います。また、クライアントにとってはどうでもよいような部分も多くあり、どうでもいいですよと言うものの、そう言われた開発者もどう決めてよいのかその手がかりすらない、という場合も少なくないでしょう。その結果、開発者:そこは決めてもらえると。クライアント:そんなこと今決めろといわれても。開発者:決めてもらえないと進めないので。といった会話や、クライアント:ここは適当で構わないから。開発者:適当にと言われても、好みの問題もあるかと思いますから。クライアント:プロにお任せしますよ。といったやりとりが発生します。だんだんシステムが具体的にできあがってくると、クライアントもシステムをイメージしやすくなるので、クライアント:そこはもうちょっとこうしたほうが…開発者:そんなふうに変えると…まぁやってみましょう。となります。そういうふうにして、部分部分に少しずつ変更を加えながら開発を進めていった結果、クライアント:なんだかちょっとイメージと…開発者:言われた通りなんだけど…といったシステムができあがってしまいます。インタラクションデザインに関わるところは、「開発者もユーザーも、自分の役割だとは思っていない。けれど、部分的には、こうしたほうがいいんじゃないかな、というアイディアはある」というところだと思います。現状の開発の進め方では、全体を網羅して考える役割もフェーズも、すっぽりと抜けがちな部分ではないでしょうか。--インタラクションのデザインによる仕様システムに関する「機能仕様」があるのと同様に、ユーザーがどのようにそのシステムを使うのかに関する「インタラクションのデザインの仕様」というものを作っていくべきだろうと考えています。インタラクションデザインの仕様は、(1)そのシステムに対してユーザーが行う操作の流れ(2)操作する対象がどんなふうに画面に表示されるか(もしくは音声応答では何がどう聞こえるか)(3)操作した結果がどう表示されるか(4)どんな状況で、何に対してどういうアクションをとると、何がどうなるかといったことを、システム全体を網羅して記述したものとなります。ここで、「網羅して」というのが非常に重要だと私は考えています。「あるタスクを行う時に」「この場面では」といった、ユーザーの操作体験の一部を取り出したものでは、デザイン仕様とはなり得ません。そもそもデザインとは、広辞苑にもあるように「総合的造形計画」です。その製品のある一部分についての記述は、デザインアイデアのひとつであって、それ単独では「デザイン」とはいえません。そのシステムを使用するユーザーが体験し得るあらゆるインタラクションを「総合的に計画して」はじめて、インタラクションがデザインされることになるのです。ソフトウェア開発においては、このインタラクションデザインの仕様に基づいて、ユーザーインターフェイスを実装していくことになります。--UI開発での手戻りここでもうひとつ例をあげましょう。システムのユーザーインターフェイス開発にかかる工数の多さは、長らく問題とされてきました。開発作業の後のほうになって、「やっぱりこっちのほうがいいからユーザーインターフェイスをこう変えてほしい」という要望や、「ユーザビリティテストの結果からこの部分を間違えやすいから直してほしい」という要望や、あるいはマーケティング部門から「売り場で目立つようにこの部分を強調してほしい」という要望などが出てきて、開発の手戻りが多発し、結果的に工数が増加しているという話をよく耳にします。このような問題は、そもそもインタラクションデザインを、開発作業の初期段階できちんと行わず、仕様書として作成していないために起こる問題だと考えます。こういった変更の要望の多くは、局所的な部分のみを見た思いつきであり、それが全体のユーザー体験に対してどのような影響があるか、といったことまでは想定していないことがほとんどです。このような要望に応えて変更を加えると、その結果別の部分との一貫性が損なわれ、そこを手直しするとまた別の部分がおかしくなって、と、システム全体としてみるとどんどん劣化していってしまうことになります。ここで、もしもインタラクションデザインの仕様書を作り、それに基づいてユーザーインターフェイスを実装していたとしたらどうなるでしょうか。インタラクションデザインの仕様書があれば、そういった要望が出されたときに、その仕様書と照らし合わせながら、「あなたの変更要望はココをこう変えたい、といっていることで、その結果、これらの部分もすべて変えなければデザイン的に破綻してしまいます」と説明することができます。また「それを踏まえた要望でしょうか?」と確認することもできます。そうすることによってユーザーインターフェイスの一貫性を保つことができ、その結果、こういった一部分だけを見た変更要望の多くは撤回されることになるのではないかと思います。--インタラクションデザインはソフトウェア開発に先立って行うべきことがらソフトウェア開発においては、ユーザーインターフェイスは最後に調整すればよいと考えられがちです。表面のところですし、また、できあがりのイメージがある程度できてくると、開発者でない人やユーザーでも、こうしたほうがいい、あぁしたほうがいい、とサジェスチョンを出しやすい部分でもあります。しかしながら、高い操作品質を実現するためには、開発の初期の段階で、仕様策定とともにユーザーがシステムとどうインタラクションするかを決めておかねばなりません。ユーザーがどうシステムを使うかによって、機能の実装の仕方やデータベースアクセスの仕方、通信のタイミングなどが変わってくることもあるからです。次回は、インタラクションデザインに関わるってくる人や立場、必要となることがらについて説明しようと思います。………………………………■著者プロフィール中小路久美代(なかこうじくみよ)氏(株)SRA先端技術研究所取締役。コロラド大学客員助教授、奈良先端科学技術院大学客員助教授、東京大学先端科学技術研究センター特任教授など歴任。人間を中心とするソフトウェア技術とそのデザインに関する研究に従事。インダストリとアカデミア、ソフトウェア工学とヒューマンコンピュータインタラクション、といった異なるフィールドにまたがる研究を続ける。ノンフィクションライター最相葉月氏の最新刊『ビヨンド・エジソン12人の博士が見つめる未来』(ポブラ社刊)に、12人のうちの1人として取りあげられた。

japan.internet.com