高品質のソフトウェアの最も重要な機能は何ですか?[閉まっている]


8

この質問は同じラインに沿っているこのいずれかが、代わりにコードの品質について話を、私は、ユーザーの視点から、最終製品について話しています。時間と予算が限られていて、まともなソフトウェアから良質のソフトウェアに移行するためのソフトウェアの1つの属性(基本的な要件以外)しか保証できない場合、最も重要だと思うものは何ですか。

バグはできるだけ少ないですか?直感的なインターフェース?役に立つエラーメッセージ?優れた技術サポートとドキュメント?ソフトウェアをユーザーに安っぽく見せたくない場合は、常に何を含める必要がありますか?


もちろん異なります。Photoshopにとって重要なこと(使いやすさ/美学/パワー)は、Mars Roverソフトウェアにとって重要なこと(堅実/数学的に正しい)とは大きく異なります。しかし、一部のソフトウェアは両方に対応できるかもしれません(デバッガは誰ですか?)
Thomas Eding

回答:


16

直感的で魅力的なユーザーインターフェイス。陳腐なように見えるかもしれませんが、「美しいものの方がうまくいく」という言葉にはいくつかの真実があります。


2013年9月18日を編集:

もう数年になりますが、以下のモートンの質問はずっと頭に残っています。はい、SQLサーバーはユーザーインターフェイスで判断します。 すべてにユーザーインターフェイスがあります。 まあ、とにかくほとんどすべて。シェル、設定ファイル、コマンド、ログファイル、それらはすべてユーザーのためのインターフェースです。ほとんどのLinuxカーネルモジュールでも、一部のUIは/ sysおよび/ procのファイルとして公開されています。はい、それらはユーザーインターフェイスです。グラフィカルでないからといって、それほど重要ではありません。

例:Postgresが優れたデータベースであることを知っています。悲しいですが、それ以上使用しないこともあります。MySQLをより多く使用しています。どうして?その一部は、シェルコマンドが使いやすいことです。 show databases;それが何をするか、それが言うことをします。初めて見ました。二度としませんでした。私がpsqlを使用するとき、私はめったに覚えることができません。それは\dlちょうどか\l?待ってください、\dl他にありませんか?えっ、本当に欲しいの\dn?撃って、わかりました。助けを求めるコマンドは何ですか?\help?いいえ、これはSQLコマンドのリストです。シェルコマンドのリストはどこにありますか?ああ。\?リストがあります。なぜ\?違うの\help

ええ、いつもそれを使っていたら、慣れるでしょう。それはポイントではありません。重要な点は、適切に設計されたソフトウェアは「慣れる」ことを要求してはならないということです。

それはばかげた例のように思えますが、効果があります。


1
+1正確に言えば、元のiPhoneが何かを証明した場合、それは機能、直観的、魅力的な製品レートが機能の長いリストよりも高いということです
Thomas James

すべてのソフトウェアにユーザーインターフェイスがあるわけではありません。SQLサーバーを魅力的なユーザーインターフェイスで判断していますか?しかし、高品質と判断されたSQL Serverがいくつかあります。
Morten、

6
あるソフトウェアで実行できる最も美しいことは、ユーザーがソフトウェアやその他の何よりも、発生したことに何も関与していないことにまったく気づかないことです。
フラミンペンギン2010

1
前のコメントは引用資料です。フラミンペンギン私はあなたにそれをqouteしてもよろしいですか?
Morten

5

使いやすさ

その他の重要な機能は、ユーザビリティの単なる属性または貢献です(バグのない、機能性、魅力など)。

これは、ソフトウェアに価値があることを証明する最も重要な機能です。価値があれば儲かる。


2

ユーザーが必要とすることを簡単かつ迅速に実行する必要があります。使いやすくなければなりません。


2

改善が容易になります。高品質のソフトウェアは、構築時に構築され、欠陥(UI /パフォーマンス/クラッシュなど)を安価に処理できるようにします。

どのソフトウェアにも欠陥があるため、品質の改善が簡単で低コストになるようにビルドしてください。

他のすべてはこれから続くでしょう。


2

最も重要な機能は、顧客が要求したことを実行できることです。つまり、これは基本的な要件を満たすだけでなく、顧客が理解できる方法で実現します。

それを「使いやすさ」と呼んで、それが答えになります。

外観や機能などの残りの部分、およびバグ(理由あり)は後で改善できます。顧客が要求したことを実行できる場合は、通常、顧客も満足し、これらの改善を依頼する可能性が高くなります。

私の経験では、顧客が仕事をこなすのに役立つかわいらしいソフトウェアは、あなたにもっと仕事をさせるつもりはありません。


2

予測可能性

ソフトウェアは、ユーザーが要求したときに、ユーザーが期待する方法で、要求されたジョブを実行する必要があります。途中で予期せぬ事態が発生することはありません(予測できない動作や明らかでない動作、明確なフィードバックのない長い遅延、単純なクラッシュなど)は、その仕事で効果的で信頼性が高いだけです。

1つのことをうまく行うソフトウェアは、多くのインターフェースオプションを提供するが予測できない動作やクラッシュを引き起こすソフトウェアよりもはるかに有用です。要求が表示されれば、いつでも新しい機能を構築できますが、ソフトウェアがユーザーの期待に沿う方法で期待される仕事を行わない限り、さらなる改善をもたらす基盤がありません。


1

IMO、プログラムを進化させるプラットフォームを提供することは、プログラムが持つことができる最高の機能です。Firefoxはこの良い例です。彼らはまともな製品を提供し、バグが修正されると、ソフトウェアは自動的に更新されます。エンドユーザーは常に最新のビルドを持っているので、これは非常に役立ちます。予算と時間が増えると、新しい機能を簡単にプッシュできるため、これはあなたのケースでも役立ちます。

ソフトウェア製品のもう1つの最高の品質は、例外を処理し、例外的なシナリオに対応する方法です。ほとんどのプログラムはこれを適切に処理できません。それらは、未処理の例外によって強制終了されるか、ユーザーを混乱させる意味のないエラーメッセージを生成します。

バグのないソフトウェアを作成することは簡単な仕事ではありません。最終的には、プログラムが進化したときに発生します。しかし、問題をデバッグするために十分な情報が利用できることを確認することはプログラマの義務です。ユーザーに優れたエラーメッセージを生成する方法の1つの良い例はVirtualBoxです。予期しないエラーが発生した場合は、詳細なログファイルを開発者に連絡して詳細を確認するオプションを使用して、何が問題であるかをユーザーに通知します。


1

ビジネスソフトウェアといえば、管理のしやすさです。私の会社では、非常に多くの管理者を必要とするソフトウェアを取り除くために一生懸命働いています。

私にとってのデスクトップソフトウェアの場合は、安定性がすべてです。クラッシュするソフトウェアが嫌いです。


1

私の心の質は、ソフトウェアによって対処される利害関係者の懸念の量の尺度です。

一般に、私の定義はRUPの定義とうまく対応しています。

RUPは品質を次のように定義しています。

  • 合意された一連の要件を満たすか超える
  • 合意された措置と基準を使用して評価
  • 合意されたプロセスを使用して生成されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.