システムとユーザビリティ
本当に使いやすいのかはテストしないと分からない
こうして作り上げたWebサイトも、実際に誰かに使ってもらってテストしなければ、本当に使いやすいのかは分かりません。
ユーザーテストにはさまざまな手法やノウハウがあり、この紙面で取り上げるには限界があります。しかし、たとえ簡易的なものであってもユーザーテストはユーザビリティの測定に多大な効果があります。
筆者が以前よく行っていたのは、事務・経理担当者やアルバイトの学生スタッフ、またNDA等の問題が無ければ自分の家族にユーザビリティテストをしてもらうという手法です。
こうしたテストには、そのプロジェクトに直接かかわっておらず、またWebに関する専門知識を持たない人の協力を仰ぐことが大切です。そのプロジェクトを知っている人や、制作・開発の知識を持っている人はどうしても「空気を読んで」しまう傾向があるため、本当は使いにくい部分があっても問題が露見しないことが多々あります。
テストに際しては「9月25日の20時から4名で店を予約する」といったような具体的な目標を設定し、その目標達成の様子を見守るシナリオテストと、興味の向くままにサイトを閲覧してもらい、その様子を観察するテストの2種類を行っていました。
この2つのテストによって、次のことが確認できます。
・特定のシナリオに対する導線が確保できているか
・そのサイトでユーザーはどのようにコンテンツを見付けていくのか
こうしたテストを実施する時には、観察者は被験者にWebサイトの操作等についてアドバイスをしてはいけません。口も手も出さずにただ見守ることが非常に重要です。改善点を見付けるためにテストをしているのに、助け船を出してしまっては、見付かるはずのものも見付からなくなってしまいます。
ただ、被験者に独り言のようにその場その場で感想を述べてもらうことは有効です。こうしたレビューはテスト後にまとめてヒアリングをすることもありますが、後から思い出すというのはなかなか難しいものです。それに「後から思い出して話す」という意識があると、自然なテストは難しくなります。
改善の積み重ねがユーザビリティを向上させる
ユーザビリティの改善に試行錯誤は欠かせません。その時、システム開発者が考えるべきは、「いかにその試行錯誤のコストを軽減するか」です。
まず行うべきは「UIに関する設定を可能な限りプログラム本体から分離する」ことです。
エラーメッセージなどは別ファイルで管理し、手を入れやすい状態にしておきます。この切り分けができていれば、変更個所が特定しやすく、開発者以外が手を入れることも容易になります。ほかにもバリデーションの条件(特にシステムとの結合度が低いもの)などは切り分けの効果が期待できるでしょう。
そして、このように変更しやすい設計を導入した上で「自動化されたテストでシステムが正しく動作していることを担保する」ことが重要です(図3)。
特にデザイナーやディレクターといったシステム開発が、本業ではない人にも安心してエラーメッセージを編集してもらえるような体制を作るには、テストによってその変更が問題ないことをすぐに確認できる状態にしておくことが、エンジニアの務めであると筆者は考えています。
近年、エンジニアリングの観点からテストの重要性への認知が高まっていますが、ユーザビリティの改善という面からも、テストによって変更のコストを低く保つことはとても大切なことです。
さて、4回にわたってユーザビリティを向上させる方法を紹介してきました。個別の内容については掘り下げが足りない部分もあったかと思いますが、今一度声を大にして言いたいのは「ユーザビリティはWeb制作・開発に携わるすべての人にかかわる課題である」ということです。
分業が進んだ現場では、Webサイトのユーザビリティが損なわれないよう全体を統括する役割を担う人もいるかも知れません。ですが、そこにすべてを託すのではなく、個々のスタッフが専門領域の知識を持ってユーザビリティの改善を図ることが大切だと筆者は考えます。
プロジェクトのメンバー全員でユーザビリティを高めようという意識を持つことこそが、高いユーザビリティを実現する最良の道ではないでしょうか。