プログラマーはどのようにしてUXスキルを向上させることができますか? [閉まっている

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/10605

  •  16-10-2019
  •  | 
  •  

質問

プログラマーとして非常に複雑な問題を解決することができますが、ユーザーインターフェイスを設計する必要がある場合は、使いやすくすることに失敗する傾向があります。

小規模企業では、デザイナーやUXの専門家を持つ余裕がないため、プログラマーはソフトウェアのほとんどすべてを行わなければなりません。しかし、これらのインターフェイスはめったに直感的ではありません(古典的な例).

何が問題ですか?開発者はどのようにして優れたユーザーエクスペリエンスを設計するスキルを向上させることができますか?

役に立ちましたか?

解決

私は私のキャリアでこの問題に何度も遭遇しました - トリックは、まずそれが問題であることを認識し、それを認めることです。それを完了すると、過度に複雑なインターフェイスの作成を停止する方が簡単になります。

ユーザーインターフェイスはソフトウェアエンジニアリングの一部でもありますが、おそらく多くのソフトウェアエンジニアにとってはそれほど興味深いものではありません。しかし、これに関連する多くの興味深い課題があり、私の経験では、おそらくより技術的な課題と同じくらい興味深いものになる可能性があります。

ユーザビリティ、ユーザーエクスペリエンスデザイン(UX)、ヒューマンコンピューターインタラクション(HCI) - 魔法ではありません。 ソフトウェア開発プロセスの一部。

私のヒントは次のとおりです。

  • あなたの制限を認めます
  • これらのことについて知っていると主張する人々に尋ねて聞いてください
  • わからないときは、Googleで、権威ある回答を探してください

長年にわたってこれらの単純な原則に従うことで、私は実際に、ユーザーインターフェイスを構築する方法、人々がソフトウェアとどのように対話するか、そしてそれを使用しているときの考え方に関する有用な情報を蓄積してきました。私は決して専門家ではありませんが、おそらく知っています 少し 平均的なプログラマーよりも少し。

tl; dr: 接吻

他のヒント

それは生物学的です。

  • UIおよびその他のすべての設計関連タスクには、 右脳.
  • プログラミングタスクには含まれます 左脳.

彼らにはさまざまな目的があります。

両方で良いことは非常にまれです。少なくとも同時に。

brain

更新:私は最近、経験などの他の要因があることを学びました。いくつかの継承された要因に加えて、子供の頃にどのようにトリガーされるかに応じて、精神能力を発達させます。たとえば、虐待された子どもたちは平均して、コントロールグループよりも創造的です。なぜなら、彼らは夢の中でひどい現実から切り離すことを学ぶからです。

プログラマーやデザイナーがどのように異なる考え方や異なる性格を持っているかについて議論したり、左脳対右脳と創造と論理について議論することができると思いますが、実際には、3つの基本的な問題があります。

  1. プログラマーの仕事は彼らのソフトウェアです。彼らはそれを気にします。彼らはそれに注意を向けています。彼らはそれについて興奮することができます。ユーザーの仕事はです 何か他のもの;ソフトウェアは、何か他のことをすることを促進するためのツールにすぎません。 行う 気をつけてください。プログラマーがこれを誤解している限り、彼らはUIデザインで間違ったトレードオフを行うつもりです。 (このトピックの詳細については、参照してください Joel Spolskyの「あなたの環境をコントロールすることはあなたを幸せにします」 また デビッド・S・プラットの「基本法」.)
  2. プログラマーは自分のソフトウェアを密接に知っています。彼らはその詳細とその複雑さに満足しています。彼らは、それが完全なメンタルモデルを持っているためにそれがそうであるように行動する理由を理解しています。ユーザーは、あらゆる詳細を学ぶ機会(または関心;ポイント#1を参照)を持っていません。ソースコードにアクセスしたり理解していないため、完全なメンタルモデルを持つことは不可能です。 (メンタルモデルの重要性に関する詳細については、おそらくドナンドノーマンを読むことができます 日常のデザイン;コンピューターに固有のものではありませんが、インターフェイスデザインに関する良い本です。)
  3. プログラマーのトレードオフはユーザーとは異なります。プログラマーは、プログラマーにとって適切にコーディングするよりもユーザビリティの欠如に対処する方が容易であるため、機能を過度に複雑または半自動化または使用可能なもののみを残すことを簡単に決定できます。ユーザーは、プログラマーが適切にコーディングするのにどれだけの労力を費やすかを(あまり)気にしません。

3番目の問題は、簡単な方法をとらないように十分な規律を持つことで解決できます。最初の2つの問題が解決可能であるかどうかはわかりません。仕事に近づくほど、部外者のやり方でそれを見るのが難しくなります。だからこそ、ユーザビリティテスト - ホールで誰かをつかんでアプリの前に座っているような単純で非公式のものでさえ、とても重要です。

ライセンス: CC-BY-SA帰属
所属していません softwareengineering.stackexchange
scroll top