UXデザインというものについて

f:id:yzgwyskw:20140328005238j:plain

UXという言葉は非常に誤解されているように感じます。これはUX〇〇を単にUXと言ってしまう軽率な省略によって引き起こされているのではないかと思っています。この省略のために、UXというのは結局なんなのか?という疑問を引き起こしているように感じています。この文章は、そういう疑問を持っていた一年前くらいに自分に対して説明を行うような気持ちで書きました。ただし、私は仕事としてUXを扱っておらず、自分の理解を整理するためにここで文章にしていることを留意ください。

UXとは

そもそも、UXというのは"ユーザが製品に触れている際に経験する知覚や感情"であり"現実世界に起こっている事象"です。ここで重要なのは、UXは単に事象でありその他の意味は含まれていないということです。直感的といった曖昧な言葉がUXの形容詞として用いられていることが多いため、使いやすくなければUXでないような印象があるかもしれませんが、どんなに使いにくい製品を使っている時でもUXは発生しています。また、複数のUXをまとめたものもまたUXです。時空間的に別々に起こったUXも、関連しあっていればまとめてUXと呼ぶことができます。例えば、ユーザがPUSH通信を家の外で受け取りUXが発生した後、家に帰ってからそのPUSHの内容を確認するというUXが発生した場合、それらをまとめてUXとよぶことができます。このように、UXが単に事象であると認識すれば、UX〇〇という言葉がどのような意味なのか分かりやすくなると思います。

UXデザインとは

UXデザインとは"期待したUXが発生するように製品を設計するための開発手法"です。その実現方法として、UXデザインの多く場合ではユーザをモデリングして開発工程に組み込みます。このモデリングには、ユーザの行動の分類や、ユーザを取り巻く環境の理解が含まれます。しかし、どうして"期待したUXが発生するように製品を設計する"ために、ユーザをモデリングする必要があるのでしょうか。これには、製品の開発工程には、以下の2つの問題が存在しているからです。

本当のユーザは誰か?という問題

開発には、顧客やユーザが存在します。しかし顧客が必ずしもユーザであるとは限りません。製品を納品するには、顧客の窓口である担当者にOKをもらう必要があるでしょう。しかし、その担当者が必ずしもその製品を使うわけでありません。担当者は、要求した機能が実際に動いていれば満足して納品を許すでしょう。しかし、インタラクションの質を評価することは稀ですし、評価できる見識があるとも限りません。そのため、酷いUIの製品が納品され、実際のユーザが毎日苦しむということが起こりうるのです。

ユーザを予めモデリングしておけば、このように担当者だけを満足させる開発は行われず、ユーザが毎日の仕事を幸せに行えるようになるのです。例えば、毎日1分でもユーザの作業を減らすことができれば、月に30分程度、仕事する時間を減らすことができ、家族と過ごす時間を増やせるかもしれません。また、気持ちの良いアニメーションをUIに取り入れることで、仕事のストレスを減らせるかもしれません。雇用者も従業員が仕事をやる気を持って効率的に行えるようになれば、利益を上げることができます。

ユーザとはどのような人間か?という問題

ユーザというは曖昧な言葉です。例えば、開発者の考えるユーザと、顧客の考えるユーザは同じでしょうか。開発者は情報リテラシーが高い人が製品を使うと考えている一方、顧客は情報リテラシーの低い人々を想定しているかもしれません。また、開発者はユーザを10代後半の若者と考えているかもしれませんが、実際には20代後半のユーザが最も多いかもしれません。各自がバラバラのユーザを想定している場合、完成した製品は本当のユーザが求めていたものと全く違うものになってしまいます。

ユーザをモデリングすることによって、開発者や顧客の間に共通するユーザを作ることができます。このユーザを開発者や担当者と共通の言語として用いることで、モデリングした対象のユーザが必要とする製品が実現できます。この時、対象のユーザが本当のユーザであるとは限りませんが、開発した製品が誰も対象にしてないちぐはぐなものになることは防ぐことができます。また、もしモデルが間違っているならば、修正すれば良いのです。モデルを利用することで、新たな機能を追加する際にユーザが何を求めているのかを発見しやすくなります。例えば、Webサービスならばそのサービスの方向性を共有するのにも有効でしょう。

UXデザインにおける開発工程

古い職場では、開発工程の後半になって、初めてエンジニアが作ったUIにデザイナがお化粧をするという作業が行われます。そのような職場では、デザイナはエンジニアから渡されたエンジニアしか使えないUIを、なんとか繕ってユーザが使えるものにするという努力が行われています。しかし、結局は内部の実装を知った人間が作ったUIは、ユーザの認知を疎かにしがちです。そのため、どう頑張っても化粧をするだけでは、改修が不可能なUIができてしまうのです。このような不幸を防ぐためには、UXデザインでは開発工程の最初からUXデザイナが開発に参加します。そして、モデリングしたユーザの視点から、製品におけるインタラクションの質を管理します。

インタラクションの質を担保する

ソフトウェアエンジニアは、機能を実現できていることを担保するためにテストを書きます。彼らは、テストによってソフトウェアの質を担保しています。しかしながら、機能が実装されているとしても、その機能をユーザが本当に使えるかどうかは分かりません。機能はある程度のユーザビリティが伴っていなければ、機能として働きません。すなわち、インタラクションの質はソフトウェアのテストでは担保されません。

UXデザイナは、インタラクションの質を担保するためにテストを行います。彼らは、専門知識による評価や、ユーザに実際に使ってもらうことによってインタラクションの質を評価します。インタラクションの質を評価することは有益です。なぜなら、テストを行っておくことによって、製品やサービスの開発者はそれらを提供してから起こるインタラクション上の問題点やクレームやを予め防ぐことができるようになるからです。もちろん完全に防ぐことはできないでしょうが、メジャーなインタラクション上のバグを潰すことはできるでしょう。また、評価は社内においてサービスの質を説得させる指標にも使えるでしょう。

UXデザインにおけるプロダクト

UXデザインでは、特定のプロダクトはありません。しかし、そのプロジェクトに合わせて最適な手法でユーザをモデリングする必要があります。その手法には新旧様々なものが開発されています。その中には、例えば

  • ペルソナ
  • プロトタイプ
  • ユーザーストーリー
  • カスタマージャーニーマップ
  • ステークホルダーマップ

などがあります。さらに、ここにワイヤーフレームやUIのデザインまでも含まれることがあります。 しかしどのようなものであれ、UXデザインにおけるどのようなプロダクトも"期待したUXが発生するように製品を設計するため"に必要になるものです。どのようなプロダクトを作り、製品の質を高めることができるかが、UXデザイナを評価する指標になります。

他の開発手法との共存

UXデザインはウォーターフォールアジャイル、XPやリーンと同じく開発手法の1つと言えます。そして、UXデザインはそれらと組み合わせることが可能です。例えば、ドメイン駆動開発では顧客との間の共通の言語を使ってドメインを表すことが重視されます。一方、UXデザインは顧客との間の共通の言語を使ってユーザを表すことが重視します。ドメイン中でのユーザの位置づけが明確になれば、ドメインも洗練させることができるのではないでしょうか。また、MVPとしてプロトタイプを使ったリーン開発にも応用できます。今後の開発環境は、アジャイルやリーンにUXデザイン、ドメイン駆動開発などを取り入れたものがモダンと呼ばれるようになると思います。

まとめ

この文章では、UXの定義を説明し、製品の開発工程における2つ問題からUXデザインとは何かを述べました。それらの問題とは、本当のユーザは誰か?という問題とユーザとはどのような人間か?という問題でした。また、UXデザインにおける開発工程について触れ、インタラクションの質を担保するとは何かを説明しました。最後に、UXデザインにおけるプロダクトおよび他の開発手法との共存について述べました。