はじめまして、UXデザインセンター所属のエンジニア、sgi-changです。
今日はUXとエンジニアについて考えてみました。
以下の内容で進めていきたいと思います。
- はじめに~ユーザーは誰?~
- UXデザインのプロセスと主なデザイン手法
- 開発工程でエンジニアはUXデザインを実践することができる?
- 今、なぜ、UX×エンジニア?
- おわりに
本記事は、
UXデザインという言葉は知っているけど、エンジニアはどうしたらいいんだ?
UX?エンジニアだから関係ないよね?
一体どこから手をつけていいのやら…
というエンジニアの方を対象としています。
突然ですが、質問です。
すぐに思い浮かんだ方は、もうこの記事を読む必要はないかも!?
思い浮かばなかった方やそもそもUXって何?UXデザインとは?
と思った方は、こちらの記事を参照して頂けると嬉しいです。
UXデザインを考えるにあたって、ユーザーは誰なのか?というのはとても重要なことです。
UXデザインに取り組むためには、
まずどのようなユーザーがいるのか、どのユーザーを対象とするのか、
について整理することから始めます。
次にUXデザインをするにあたり、プロセスと手法をご紹介します。
以下の図はHCD(人間中心設計)プロセスと手法の一例です。
ユーザーを中心にユーザーの要求を明確にして、要求が満たされるまで設計と評価を繰り返します。
上記のプロセスの中で、各手法を用いてUXデザインを実践していくのですが、
開発工程では、基本設計、詳細設計、開発、テスト等…やるべきことがある中で、
エンジニアがすべてを実践するのは正直、難しいと感じています。
しかし、ユーザーの体験を意識した設計(デザイン)、実践を施すことは可能だと思います。
以下に開発工程でも実践できるUXデザインの例をご紹介します。
必ずしも良いUI=良いUXにはならない、とよく言われますが、
とにかく使いづらいといったユーザーにとって悪いUIがユーザーのUXに影響を及ぼすのは想像に難くないです。
実際に、実装する、開発工程だからこそ気づくこともたくさんあるかと思います。
とはいえ、何をどうチェックしたらよいか分からない時は、
りんりんさんの記事「ユーザビリティは、単なる「使いやすさ」ではない!(UXデザインセンター #003)」に「UIチェックリスト」があります。
こちらのチェックリストをもとに、今一度、携わっているシステムのUIを確認してみてはいかがでしょうか。
あと、ヒューリスティック分析にも使われている「ニールセンのユーザビリティ10原則」をご紹介します。こちらもチェック基準の一つとしてご参考下さい。
1.システム状態の視認性を高める
2.実環境に合ったシステムを構築する
3.ユーザーにコントロールの主導権と自由度を与える
4.一貫性と標準化を保持する
5.エラーの発生を事前に防止する
6.記憶しなくても、見ればわかるようなデザインを行う
7.柔軟性と効率性を持たせる
8.最小限で美しいデザインを施す
9.ユーザーによるエラー認識、診断、回復をサポートする
10.ヘルプとマニュアルを用意する
開発段階で、「この機能って本当に必要?」「ここがもうちょっとこうだったらいいと思うんだけど」といったような違和感を覚えたことはないでしょうか?
思い切って誰かに相談したいけど、そう感じるのは自分だけかもしれないし、大した問題じゃないかもしれないし。(っていうか、いまさら後戻りできないし!)
と思っていても、実はユーザーの要求から漏れていることかもしれません。
もし、プロジェクトで既にペルソナが存在していたら、そのペルソナを大いに活用すべきだと思います。
ペルソナを利用して、システム、機能をペルソナはどのように使うか、どのような状況で使うか等を考えてみる。
最初は頭の中だけでいいと思います。
もし違和感や、新しい気づきがあれば、ぜひそのシナリオを誰かに共有してください。(影響力の大きい人だとなお良い)
素晴らしいUXへつながる可能性もあると思います。
アクターをユーザーとし、システムをユーザーがどう使うかを図にしてやりとりを明確にすることにより、機能要求を把握することができます。
またユーザーがどのように使用するかのストーリーやシナリオを、他の人と共有することができ、良いUXへのヒントが出てくるかもしれません。
例えば、パフォーマンスやセキュリティ、エラー処理、データ設計、アーキテクト等、開発工程で決定することはたくさんあると思います。
それらの機能がどのようにユーザーに使われるか?ユーザーの利用状況を考えて設計することで良いUXへとつながると思います。
提唱する理由は主に2つあります。
例えば社内システムの開発や、顧客(依頼元)=ユーザーの場合など、エンジニアがユーザーと関わりながら開発する場合、
ユーザーの要望通りに実装しているのに、いつまで経っても改修が終わらない。
何度も改修を繰り返す…
そしてこの実装は何のため?この機能は何のため?の堂々巡りになり、開発者のモチベーションも下がり、工数も増え、ユーザーの満足度もあがらず…
どんどん効率が悪くなってしまいます。
結構、そういったプロジェクトはあるのではないでしょうか。
実はユーザー自身もどうしてよいか分かっていなかったり、理解していなかったり、
ユーザーの言った通り、要望通りだと、本当にユーザーが望むもの(要求)を満たせないケースもあると思うのです。
開発工程に限った話ではないですが、良いUXに向けてユーザー調査をしてユーザーの要求を設計できれば、
無駄な作業は減り、その分もっと抽象度の高いことに目を向けることができるのではないかと思っています。
今やモノはあふれ、性能や機能だけで勝負する時代ではなく、体験こそ企業価値と言われています。
エンジニアも含め、全行程、企業をあげて、組織的にUXデザインを進めていき、競合他社との差別化だけでなく、オリジナリティやブランド化にもつながるのではないかと思います。
金井さんの記事「UXデザイナーとは誰のこと?」にもあるように、
今こそ、エンジニアもUXデザインを実践しましょう!
デザインプロセスに沿ってUXデザイナーだけでなく、たくさんの方がUXについて参加してもっと考えることができれば、今までになかったようなとても素晴らしい新しい体験を提供できると思います。
とはいえ、ウォーターフォール、アジャイル等開発手段、プロジェクト、現場によって状況、事情は様々だと思います。
まずは出来ることから、出来る範囲で。常にユーザーを意識して、良いUXを提供出来れば必ずしも、手法や手段にこだわらなくてもいいと私は考えています。
ユーザーは嬉しい体験が出来、顧客満足度もあがり、会社も、社会も嬉しい…
そして喜ぶ人が増えるほど、世の中に素晴らしいUXが増えるほど、その喜びはきっと自分自身にもフィードバックされると信じています。
私自身も含めて、皆さんが携わったシステムがより多くの方に嬉しい体験を、そして良い関係が築けますように。