エンジニア力を高めるには、心理学への理解が必要なのではないかと言う仮説を立ててみた
SaaSビジネス Advent Calendar 2019の13日目の記事で、SaaS関連で、エンジニア寄りからSaaSについて考えてみたいと思います。(ちなみに私ごとですが今日は自分の誕生日です。ぱちぱちぱち)
いきなり質問です!東京在住のあなたであれば、いくつかの電車の路線に乗ったことがきっとあるはずだと思います。
在来線でも、新幹線でも、特急列車でもいいんですが、きっと列車内のトイレは使ったことがあるはずですが、
さて、それぞれのトイレの使い方(ドアを開けて入ってから、終わって出てドアを閉じるまで)をここで思い出してみてください。
なにそれ? ですよね。
いきなり質問して混乱させましたが、実は言いたいことが一つです。
写真は控えておきますが、一番大手の鉄道会社のいくつかの路線のトイレを全部使ったんですが、
ざんねんながら同じ手順で全てのトイレの利用することはできませんでした。
開けるボタンと閉めるボタンの色と形は統一していないし、閉めるときにロックの掛け方がまちまちだし、流し方も微妙に違うし、おまけにボタンの配置場所と並び順も違います。
さらに言うと駅構内のトイレ個室ともまた利用方法が異なります。
細かいだろうか?日常的に使ってる人ならすでに慣れてしまい特に違和感を持っていないと思いますが、一方で初めて使う人、特に海外から来た観光客にとってはトイレすら安心して利用できない状況です。一回使い方を聞きに戻って来られるお客様がいるほどです。
アプリを例えるなら、LINEの友達Aとのメッセージの送り方と友達Bとのメッセージの送り方が違う。というぐらいの違和感です。
今度ぜひ、各路線と駅構内のトイレの使い方を体験してみてください。
さて、前置きが長かったのですが、このトイレの件では、特にエンジニアをやってる人ならよく忘れがちな重要なことが隠されています。
使う人の立場でシステム設計を考えることです。
過去の自分も、こう思いました。
「ユーザが俺の作ったものを使いこなせていないのは、ユーザの勉強不足だ。俺の問題じゃねえ。」
「ちゃんと手順書を見ればわかるだろー?なんでそう言うやり方すんの?それシステムの不具合じゃねえしヒューマンエラーだぞ」
とかとか。
しかし、
それは、単なるエンジニアの独善にすぎません。
例えば、椅子を使うには、手順書を読む?
例えば、コンセントを使うとき、差込口を間違える?
例えば、布団やベットを使う前に、使い方について勉強する?
しませんよね
じゃあどうして開発したものをユーザが使いこなせてくれていないときに、ユーザのせいにします?
僕は、そうしました
そして、大きく躓きました。
一年以上の準備を通して用意した会員システムは、一年の教育と運用をした結果、ほぼ0パーセントの運用率でした。
豪快にコケました。
自信とプライドが、徹底的に踏み潰され、握りつぶされてしまいました。現実と言う残酷な手と足によって。
踏み潰されてしまった自信を取り戻すよりも、なんでこうなってしまったのかと反省の日々を送ったときに出会ったのが、「HCI」ヒューマンコンピューターインタラクションでした。
「まさにこれだ」と、思いました。
ヒューマンコンピューターインタラクションとは、設計と開発に取り組む前段階として、まずはユーザーの心理を考察し、熟知する必要があるという学問です。
ユーザが直感的にこれをどう認知し、どういう風に理解し、どのように使うのかが、プロダクト(もの)の設計において一番大事な前提です。
また、「ヒューマンエラー」は、HCIでは存在せず、そもそもヒューマンエラーを引き起こせるものは基本的にバッドデザインという分類になります。
例えば、あの懐かしきPDAやBlackBerryなど、一部の層にしか需要がなかった商品のパーツを分解し汎用的に再設計再構築したものが、一般利用者でも熱中になるほどのスマホです。
開発者なら忘れがちなのですが、開発者は全てのユーザに対して開発者の考えた使い方を教えることができません。ユーザは、開発者の作った製品とのふれあいの中で使い方を推測して試すという繰り返し作業からしか製品を使う方法がありません。そして単純ではない操作はやってもすぐに忘れてしまいます。(僕はそれで躓いたのです。)
…
奥深いHCIについてもっと色々書きたいところですが。別の記事に今度まとめたいと思います。
今日は、SaaSなので、SaaSとの関係性を言うと、
単一機能製品はまずはいかにユーザの学習コストを下げなければ好かれません=売れません。
例えば、Gmail、Facebook、LINE、Instagram、TikTok、Youtube、メルカリとか、
今や名前を見るだけで何をするものなのかがわかるぐらい、単一機能としての使いやすさ、ユーザの直感にぴったりハマるところがまずあったために爆発的に利用されたのだと思います。
Gmail=メールをするもの、Facebook=友達の近況がわかるもの、LINE=友達とやりとりできるもの、Instagram=写真をシェア、TikTok=リズム動画、Youtube=動画サイト、メルカリ=ものの売買
つまり、HCIを理解したエンジニアこそ、成功したSaaSを開発できるのでは?
どうすればエンジニアはユーザビリティーに満ちたSaaSを無駄な労力を使わずに開発できるかどうかは、まずはユーザの直感とはどういうものかを理解する必要があるかと思います。その理解には、HCIが手助けできます。
然もなくばエンドレスな仕様変更、リファクタリング、再設計、挙句にレガシーなものを作ってしまい、そして消えていくのみです。(しかもブラックな残業経験とともに)
そんな無駄なことをしてしまう前に、まずは「HCI」、そしてその理論基礎である「認知心理学」、最後に応用としての「社会心理学」のつまみ読みからスタートしてはどうでしょうか?
コミュニケーションできないエンジニアから、生産性の高い売れるエンジニアになるには、これしかないのではないでしょうか?少なくとも日本では。
12/19追記
シリーズをはじめました
この記事がきっかけで、より体系化した記事を書きたくなりましたのでシリーズをスタートしました。色々と仕事とかで忙しいので、不定期更新としますが、よかったら見てみてください。
第一回 12/19公開 UI/UXの勉強は、何よりも日常生活から入るべきであることを知っていただきたい①
第二回 12/23の週予定?