見出し画像

エンジニアを目指す方におすすめしたい、実装にユーザー視点を取り入れることの大切さ

株式会社アジケでPHPエンジニアをやっている松永です。

弊社はUXデザイン会社ということもあり、ユーザー体験からエンジニアリングを行うことを大切にしています。
ユーザー体験の一端をエンジニアリングで担う方法の1つとして、ユーザー視点があると考え、日々ユーザー視点xエンジニアリングに取り組んでいます。

エンジニアが実装する機能は、ユーザーに使われてこそ価値のあるものと考えています。
機能単体としてどんなに優れていたとしても、ユーザーがその機能にサービスの価値を感じなければ、使ってもらうことはできませんよね。

今回は、エンジニアを目指す方におすすめしたい、実装にユーザー視点を取り入れることの大切さについてです。

ユーザー視点とは


ユーザー視点とは、「ユーザーの立場になって考えること」です。

ユーザーに使ってもらう機能を作るには、ユーザーを理解し、ユーザーの立場になってどのような機能が必要かを考える必要があります。

例えば、公園にある水飲み場の高さは、大人が使うには低すぎますが、子どもが使うには最適な高さになっています。
これは、公園を使うユーザーの多くは子どものため、子どもを中心に考えられた高さになっています。
このように、実際に使用するユーザーに寄り添った機能は、とても使いやすく、価値のある機能と言えます。

では、まずよくある実装方法を見てみましょう。


よくある実装方法


実際に実装する時の状態を考えてみるとこのようになります。

1. 言語(JavascriptやRubyなど)の仕様を把握し、機能を実現するためにコードに着目し実装します。
2. 不明な点や動作しないなどの場合があればコードに向き合い、何が間違っているのか、どこが原因かなどを探します。
3. 改善を繰り替えします。
4. そしてついに完成!

このように、コードに着目して実装することはエンジニアにとって普通のことであり、とても大切な事です。
機能を実装すること、実装した機能が動くことは、言語に関わらずエンジニアに求められていることであることは間違いありません。

よくある実装方法は機能主体?


上記のような実装が習慣化し、エンジニアを目指している時点で完全に身についてしまうと、いつしか機能を主体にした考えになりがちです。

習慣化は時に怖いもので、エンジニアの本来の目的であるはずの「ユーザーにとって価値のあるサービスにするための機能をつくるにはどうすればよいか」が考えにくくなってしまいます。

機能主体の考えに固まってしまうと

・機能の仕様を考えるときに実装主体になりがち
・実装方法を実現しやすさで選択しがち
使ってもらえない機能を追加しがち

など、完成したもののユーザーを置き去りにした機能を作ってしまうことになってしまいます。

これではユーザーにとってサービスの価値を感じることができる機能ではなくなってしまう可能性があります。

例えば、表示するまでが異常に遅い場合、ユーザーにとってストレスになりますよね。
これではユーザーに使ってもらうことは難しいでしょう。

このような状態にならないためには、「実装の時点からユーザー視点を取り入れる」ことがおすすめです。

では、実際にどのように実装の時点からユーザー視点を取り入れていけばよいか見ていきましょう。

ユーザー視点を取り入れた実装の方法


先程記載した実装の過程にはユーザー視点はありませんでしたよね。


1. 言語(JavascriptやRubyなど)の仕様を把握し、機能を実現するためにコードに着目し実装します。
2. 不明な点や動作しないなどの場合があればコードに向き合い、何が間違っているのか、どこが原因かなどを探します。
3. 改善を繰り替えします。
4. そしてついに完成!

1のコードに着目し実装する前に、この機能はどのように使うかなどをユーザーの立場になって考えます。

具体的には、


どのようなユーザーが使うか(20代〜40代)
どんな時に使うか(電車やタクシーなどの移動中)
何を求めて使うか(さくっと最新の情報を取り入れたい)

などのような仮説を立てます。

仮説を立てたのち、1→2→3→4と実装します。
先程記載した実装の過程との違いは「実装する前にユーザーの立場になって考える」ということだけです。

今の状態は、「さくっと最新の情報を取り入れたい」ユーザーに対し、「表示するまでが異常に遅い」という状態になってしまっています。
これはユーザーにとってよい状態ではありませんよね。

ユーザー視点がないこの機能は、ユーザーに合わせて最適化されていない機能になってしまっている状態ということを判断することができます。

ただ、ユーザー視点を取り入れることで、表示速度の課題に目が行き届き、改善するための措置を取ることが出来ます。
また表示速度の他にも、「初期表示として何を表示するか」や「画像の読み込み速度」などの課題を発見することもできるかもしれません。

おわりに


このようにすることで、実装する機能と機能を成り立たせているコードにユーザー視点を取り入れられ、ユーザーに寄り添ったエンジニアリングを行うことができます。

エンジニアを目指す方が、ユーザー視点をエンジニアリングに取り入れるきっかけになれば幸いです。
あなたが実装した機能を多くのユーザーが使っている日を目指して、エンジニアリングを楽しみましょう!

この記事が気に入ったらサポートをしてみませんか?