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?
product-features
quality
Tesserex
sumber
sumber
Jawaban:
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\dl
adil\l
? Tidak tunggu, bukan\dl
hal 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.
sumber
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.
sumber
itu harus melakukan apa yang dibutuhkan pengguna untuk melakukannya dengan mudah dan cepat. itu harus mudah digunakan.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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:
sumber