Apa fitur terpenting dari perangkat lunak berkualitas? [Tutup]

8

Pertanyaan ini sejalan dengan yang ini , tetapi alih-alih berbicara tentang kualitas kode, saya berbicara tentang produk akhir dari perspektif pengguna. Jika Anda memiliki waktu / anggaran terbatas, dan hanya dapat menjamin satu atribut perangkat lunak (selain persyaratan dasar) yang membawanya dari perangkat lunak yang layak ke perangkat lunak berkualitas baik, apa yang menurut Anda paling penting?

Apakah memiliki bug sesedikit mungkin? Antarmuka yang intuitif? Pesan kesalahan yang bermanfaat? Dukungan teknis dan dokumentasi yang baik? Jika kita tidak ingin perangkat lunak kita terlihat seperti sampah murah bagi pengguna kita, apa yang harus selalu kita ingat untuk dimasukkan?

Tesserex
sumber
Tentu itu tergantung. Apa yang penting untuk Photoshop (kemudahan penggunaan / estetika / daya) sangat berbeda dari apa yang penting untuk perangkat lunak Mars Rover (rock solid / benar secara matematis). Tetapi beberapa perangkat lunak mungkin berusaha keras untuk keduanya (ada yang melakukan debuggers?)
Thomas Eding

Jawaban:

16

Antarmuka pengguna yang intuitif dan menarik . Ini mungkin tampak klise, tetapi ada beberapa kebenaran dalam pernyataan "hal-hal indah bekerja lebih baik."


Sunting 9/18/2013:

Sudah bertahun-tahun sekarang, tapi pertanyaan Morten di bawah ini telah melekat di kepalaku selama ini. Ya, saya menilai server SQL berdasarkan antarmuka pengguna mereka. Semuanya memiliki antarmuka pengguna. Yah, hampir semuanya toh. Kerang, file konfigurasi, perintah, file log, semuanya merupakan antarmuka bagi pengguna. Bahkan sebagian besar modul kernel linux memiliki beberapa UI yang diekspos sebagai file di / sys dan / proc. Ya, itu adalah antarmuka pengguna. Hanya karena itu tidak grafis tidak membuatnya kurang penting.

Contoh: Saya tahu Postgres adalah database yang sangat baik. Saya sedih kadang-kadang saya tidak menggunakannya lebih banyak. Saya menggunakan MySQL lebih banyak. Mengapa? Sebagian darinya adalah bahwa perintah shell lebih mudah digunakan. show databases;mengatakan apa yang dilakukannya dan melakukan apa yang dikatakannya. Saya melihat itu sekali, pertama kali. Tidak pernah melakukannya lagi. Ketika saya menggunakan psql, saya jarang bisa mengingatnya. Apakah itu \dladil \l? Tidak tunggu, bukan \dlhal lain? Huh, apa aku benar-benar mau \dn? Tembak, ok, apa perintah untuk bantuan? \help? Tidak, itu daftar perintah SQL. Di mana daftar perintah shell? Ah. \?memiliki daftar. MENGAPA \?berbeda \help?

Ya jika saya menggunakannya sepanjang waktu saya akan terbiasa. Itu bukan intinya. Intinya adalah bahwa perangkat lunak yang dirancang dengan baik seharusnya tidak memerlukan "membiasakan diri".

Saya tahu itu tampak seperti contoh yang konyol tetapi memiliki efek.

Jeff Snider
sumber
1
+1 tepatnya, jika iPhone asli membuktikan apa pun, memiliki tingkat produk yang fungsional, intuitif, dan menarik lebih tinggi daripada daftar panjang fitur
Thomas James
Tidak semua perangkat lunak memiliki antarmuka pengguna. Apakah Anda menilai server SQL berdasarkan antarmuka penggunanya yang menarik? Namun ada beberapa SQL Server yang dinilai berkualitas tinggi.
Morten
6
Terkadang hal yang paling indah yang dapat dilakukan oleh sebuah perangkat lunak adalah membuat pengguna sama sekali tidak sadar daripada perangkat lunak apa pun, atau hal lain apa pun, yang terlibat dalam apa yang terjadi.
flamingpenguin
1
Komentar sebelumnya adalah bahan kutipan. flamingpenguin apakah Anda keberatan jika saya tanya Anda tentang itu?
Morten
5

Kegunaan

Fitur penting lainnya hanyalah atribut atau berkontribusi terhadap kegunaan (bebas bug, fungsionalitas, daya tarik, dll.)

Ini adalah fitur # 1 terpenting karena itulah yang membuktikan bahwa perangkat lunak Anda memiliki nilai. Jika memiliki nilai, itu menghasilkan uang.

Nicole
sumber
2

itu harus melakukan apa yang dibutuhkan pengguna untuk melakukannya dengan mudah dan cepat. itu harus mudah digunakan.

Muad'Dib
sumber
2

Membuatnya mudah untuk ditingkatkan. Perangkat lunak berkualitas tinggi dibangun saat Anda membuatnya agar Anda dapat dengan murah merawat cacat (UI / Performance / Crash / dll).

Perangkat lunak apa pun akan memiliki cacat, sehingga dibangun sehingga peningkatan kualitas mudah dan biaya rendah.

Yang lainnya hanya akan mengikuti dari ini.

Morten
sumber
2

Fitur yang paling penting adalah bahwa pelanggan dapat melakukan apa yang diminta. Itu berarti bahwa tidak hanya memenuhi persyaratan dasar, tetapi melakukannya dengan cara yang dapat dipahami pelanggan.

Saya kira kita akan menyebutnya "Kegunaan", yang kemudian menjadi jawabannya.

Sisanya, seperti tampilan dan fitur, dan bug (tanpa alasan) dapat ditingkatkan setelahnya. Jika pelanggan dapat melakukan apa yang dia minta, dia juga biasanya akan bahagia, dan lebih mungkin meminta Anda untuk melakukan perbaikan ini.

Perangkat lunak cantik yang tidak membantu pelanggan melakukan pekerjaannya tidak akan membuat Anda bekerja lebih banyak, menurut pengalaman saya.

Lennart Regebro
sumber
2

Prediktabilitas

Perangkat lunak harus melakukan pekerjaan yang diminta, ketika pengguna memintanya, dengan cara yang diharapkan pengguna. Seharusnya tidak memperkenalkan kejutan apa pun di sepanjang jalan (apakah itu perilaku yang tidak terduga atau tidak jelas, penundaan lama tanpa umpan balik yang jelas atau crash sederhana) itu seharusnya hanya efektif dan dapat diandalkan dalam tugasnya.

Perangkat lunak yang melakukan satu hal dengan baik jauh lebih berguna daripada perangkat lunak yang menawarkan banyak opsi antarmuka tetapi berperilaku tidak terduga atau crash. Anda selalu dapat membuat fitur baru sesuai permintaan, tetapi kecuali perangkat lunak Anda melakukan pekerjaan yang diharapkan dengan cara yang sesuai dengan harapan pengguna, Anda tidak memiliki dasar untuk melakukan peningkatan lebih lanjut.

glenatron
sumber
1

IMO, menyediakan platform untuk mengembangkan program adalah fitur terbaik yang bisa dimiliki suatu program. Firefox adalah contoh yang bagus untuk ini. Mereka memberikan produk yang berfungsi baik dan ketika bug diperbaiki, perangkat lunak diperbarui secara otomatis. Ini sangat membantu bagi pengguna karena ia selalu memiliki bangunan terbaru. Ini juga akan membantu dalam kasus Anda karena ketika Anda mendapatkan lebih banyak anggaran dan waktu, Anda dapat mendorong fitur baru dengan mudah.

Saya pikir kualitas terbaik lain dari produk perangkat lunak adalah bagaimana ia menangani pengecualian dan merespons skenario luar biasa. Sebagian besar program gagal menangani ini dengan anggun. Mereka terbunuh oleh pengecualian yang tidak ditangani atau mereka menghasilkan pesan kesalahan yang tidak berarti yang membingungkan pengguna.

Membuat perangkat lunak bebas bug bukanlah pekerjaan mudah. Ini akan terjadi pada akhirnya ketika dan ketika program berkembang. Tapi itu adalah tugas programmer untuk memastikan informasi yang cukup tersedia untuk men-debug masalah ini. Salah satu contoh yang baik tentang cara menghasilkan pesan kesalahan yang sangat baik bagi pengguna adalah VirtualBox . Pada kesalahan yang tidak terduga, ini memberi tahu pengguna apa yang mungkin terjadi salah dengan opsi untuk menghubungi pengembang dengan file log terperinci untuk bantuan lebih lanjut.

Navaneeth KN
sumber
1

Jika Anda berbicara tentang perangkat lunak Bisnis, ini semua tentang Kemudahan Manajemen . Di perusahaan saya, kami bekerja keras untuk menyingkirkan perangkat lunak apa pun yang membutuhkan terlalu banyak admin.

Untuk perangkat lunak desktop bagi saya ini semua tentang Stabilitas . Saya benci perangkat lunak yang mogok pada saya.

dietbuddha
sumber
1

Kualitas pikiran saya adalah ukuran dari jumlah kekhawatiran para pemangku kepentingan yang dikagumi oleh perangkat lunak.

Secara umum, definisi saya memetakan dengan baik dengan definisi RUP.

RUP mendefinisikan kualitas sebagai:

  • memenuhi atau melampaui seperangkat persyaratan yang disepakati
  • Dinilai menggunakan ukuran dan kriteria yang disepakati
  • diproduksi menggunakan proses yang disepakati.
KeesDijk
sumber