Apakah By-Design "Bugs" Pertanda Buruk?

29

Apakah ini pertanda buruk jika pengguna mengirimkan laporan bug untuk hal-hal yang dirancang?

Apakah ini biasanya berarti bahwa aplikasi tersebut membingungkan atau tidak jelas, atau haruskah saya hanya menghubungkannya dengan kesalahan pengguna sekali saja kecuali dinyatakan secara khusus?

(Saya sebenarnya tidak punya laporan seperti itu. Ini adalah pertanyaan murni hipotetis tentang apakah atau tidak adanya "bug" oleh-desain adalah hal yang buruk.)

Maxpm
sumber
19
Mungkin beberapa programmer di Lotus Notes mau berkomentar, karena ada balasan standar adalah "itu bukan bug itu fitur yang Anda tidak mengerti".
James Anderson
5
Ini menunjukkan kepada saya bahwa persyaratan pengguna yang diberikan kepada pengembang tidak sesuai dengan apa yang menurut pengguna diminta.
temptar
7
@ temptar "Itu yang saya minta, tapi bukan itu yang saya inginkan."
StuperUser
5
Saya ditugaskan item pekerjaan "bug" baru-baru ini untuk perilaku yang persis, khususnya, apa yang secara eksplisit dijabarkan dalam spesifikasi (dan yang telah dibahas selama fase spesifikasi). Sementara perilaku mungkin sangat tidak terduga dari sudut pandang pengguna (pengaturan tertentu, yang diperhatikan di tempat lain, sedang diabaikan), jika spesifikasi secara harfiah mengatakan "mari kita abaikan itu untuk sekarang untuk menghemat waktu", maka bagi saya itu bukan bug, melainkan permintaan perubahan. Tentu saja, kasus yang baik dapat dibuat untuk menginginkan perubahan itu, tetapi jangan menyebutnya bug .
CVn
7
@Dunk: Saya sudah menerapkan sistem yang mengasumsikan 24 jam setiap hari, karena kami gagal meyakinkan pelanggan tentang keberadaan Daylight Savings Time. Mereka tidak akan percaya bahwa ada hari dengan 25 jam. Apakah itu bug dalam program?
MSalters

Jawaban:

54

Apakah itu pertanda buruk? Saya pikir itu peringatan yang layak untuk diteliti, tetapi saya juga berpikir itu pasti akan terjadi.

Ketika orang-orang mengirimkan umpan balik kepada saya, saya mencoba memfilternya menjadi tiga ember:

  • Bug
  • Permintaan fitur
  • Salah komunikasi

Bug

Bug adalah ketika sesuatu jelas tidak bekerja seperti yang Anda harapkan, atau cara yang diharapkan pengguna . Seperti, ia menanyakan namaku, aku memasukkan "Scott", tekan enter, dan katanya, "Hai Joe!"

Permintaan fitur

Ini seperti "Saya tahu kita tidak pernah membicarakan hal ini, tetapi dapatkah program menyimpulkan dari gerakan mouse saya bahwa saya kidal dan memindahkan tombol OK ke sisi kiri layar?" Inilah saat perilaku saat ini sesuai dengan harapan Anda dan pengguna , tetapi mereka ingin mengubah harapan.

Salah komunikasi

Inilah saatnya Anda mengharapkan satu hasil dari suatu skenario, tetapi pengguna mengharapkan hasil yang berbeda. Kadang-kadang ini menjadi permintaan fitur, jika mereka belum mengomunikasikan harapan mereka, tetapi mereka pikir mereka melakukannya. Terkadang ini menjadi bug jika harapan Anda terbukti salah.

Namun, seringkali Anda memiliki pengetahuan yang tidak dimiliki pengguna. Bagaimana jika mereka berkata, "Di layar ini, saya dapat menambahkan catatan untuk diri saya sendiri dua kali dengan nama depan dan belakang yang sama! Itu jelas sebuah bug!" Respons Anda mungkin, "Ada banyak orang di dunia dengan nama depan dan belakang yang sama, jadi kami tidak memerlukan kombinasi itu menjadi unik. Kami memiliki tugas pembersihan yang berjalan pada malam hari dan mengirimkan email ke Laporan Kemungkinan Duplikat ke layanan pelanggan ketika dianggap mendeteksi duplikat dengan nama dan alamat yang sama, dan meminta mereka memeriksanya secara manual. "

Jadi Anda harus membaca setiap laporan bug, tetapi sebagian besar sistem yang kompleks akan memiliki laporan bug yang benar-benar hanya permintaan fitur, atau mungkin salah komunikasi dari persyaratan. Tidak memahami kompleksitas yang mendasari dunia nyata mungkin merupakan sumber terbesar dari masalah ini.

Scott Whitlock
sumber
3
Komunikasi yang salah juga mencakup kesalahan dalam mengingat (atau lupa) harapan yang dikomunikasikan dan disepakati.
Peter Taylor
1
Perbedaan besar, tetapi saya masih berpikir bahwa aplikasi tersebut harus berusaha menjelaskan mis-komunikasi jika itu bisa. Dengan banyak orang dengan nama yang sama, aplikasi mungkin berkata, "Kami sudah memiliki 3 John Smith, apakah Anda yakin ini bukan salah satunya" dengan opsi 'Tidak, saya yakin ini adalah opsi baru John Smith'.
Alex Andronov
@Alex Andronov - miskomunikasi tidak berarti tidak ada tindakan yang harus diambil: baik mengubah dokumentasi, tooltips, dll., Memperbarui materi pelatihan, atau mungkin hanya penjelasan singkat dan melanjutkan.
Scott Whitlock
7

Ini tidak tersentuh pada jawaban sebelumnya sejauh ini jadi saya akan menambahkan bahwa itu juga bisa menjadi tanda basis pengguna yang tidak tahu. Saya tidak menggunakan kata "jahil" dalam cara merendahkan atau merendahkan, hanya sebagai cara untuk menyatakan bahwa mereka tidak memiliki pengetahuan atau pendidikan yang tepat dalam domain mereka atau kompleksitas perangkat lunak itu sendiri.

Sebagian besar pengguna tidak menyadari betapa rumitnya perangkat lunak harus memenuhi persyaratan tertentu. Sesuatu untuk efek 80% dari upaya masuk ke hanya 20% dari fungsionalitas (pinggiran dan kasus pengecualian).

Mereka kadang-kadang tidak mengerti mengapa perangkat lunak secara inheren perlu berperilaku dengan cara tertentu, berkali-kali untuk mencegah banyak cacat atau korupsi data, dll ...

Ini tidak mengkhawatirkan karena ini menjadi lebih baik dengan dokumentasi dan komunikasi yang jelas dan ringkas.

maple_shaft
sumber
2
+1 tetapi tolong lihat perbedaan antara rumit dan rumit ... Perangkat lunak tidak perlu rumit sama sekali, tetapi seringkali kali ini sangat kompleks.
Marjan Venema
Ini sangat benar. Kasus paling umum yang saya temui adalah pengguna yang tidak menyadari perbedaan antara banyak-ke-satu vs banyak-ke-banyak hubungan. Permintaan umum yang saya dapatkan adalah, "dapatkah Anda membuat laporan menunjukkan nomor urut di header?" dan saya harus menjelaskan bahwa sementara di sekitar 95% dari kasus hanya ada satu nomor pesanan pada barang-barang yang mereka kerjakan, ada banyak kasus di mana kueri mungkin menyertakan data di beberapa pesanan. Lalu saya harus bertanya, apakah Anda ingin saya membuat daftar semua nomor pesanan di header dipisahkan dengan koma atau Anda ingin nomor pesanan pada setiap baris detail dalam laporan?
Scott Whitlock
@ScottWhitlock Ya itu adalah hal yang sama. Pengembang atau analis bisnis yang baik seharusnya tidak hanya melakukan apa yang diminta pelanggan tetapi mencoba mengungkap masalah inti yang mereka alami untuk alasan mengapa mereka mengajukan permintaan semacam itu. Setelah Anda mengidentifikasi masalah mereka, Anda dapat mengidentifikasi solusi yang tepat dan menulis persyaratan yang sesuai atau cerita pengguna.
maple_shaft
5

Jika Anda memiliki pengguna yang ahli di bidangnya, Anda bisa memiliki masalah besar. Bayangkan seorang akuntan yang menemukan perangkat lunak Anda, dengan desain, tidak mengikuti prosedur akuntansi umum atau seorang insinyur yang menemukan Anda memiliki formula yang salah. Ini seharusnya tidak terlalu sulit untuk diteliti untuk melihat apakah itu benar. Mendesain ulang dan memperbaikinya jika diperlukan-cepat.

Satu pendapat tentang fitur UI tertentu atau bidang yang menurut mereka harus memiliki simbol mata uang atau format lain, harus dipertimbangkan, setidaknya sampai Anda mendapatkan umpan balik lebih banyak. Meneliti ini bisa menjadi sedikit lebih sulit.

JeffO
sumber
1
Karena itu, tidak ada satu jawaban pun. Ini harus dinilai berdasarkan kasus per kasus. Saya pikir banyak.
Maks.
5

By-design bug dalam pengalaman saya berarti bahwa kasus penggunaan Anda tidak sesuai dengan pengguna asli Anda. Coba baca tentang menggunakan pengguna sungguhan untuk kasus penggunaan Anda (hanya memberi mereka nama dan deskripsi gambar mini sangat membantu untuk kualitas kasus penggunaan.)

Ketika vendor OS terkemuka mengatakan "perilaku ini adalah desain" mereka umumnya memiliki kemudahan implementasi atau keuntungan komersial dalam pikiran. Jika itu bukan Anda, cobalah untuk mencari tahu keterampilan dan hubungan nyata pengguna Anda dengan perangkat lunak Anda. Apakah mereka menggunakannya sepanjang hari? Untuk kesenangan ? Seminggu sekali karena menggantikan formulir TPS?

Tim Williscroft
sumber
5

UI harus mengikuti The Principle of Least Astonishment - laporan bug berulang tentang fitur yang berfungsi sebagaimana dirancang adalah indikasi bahwa prinsip ini belum dipatuhi dengan benar.

Joris Timmermans
sumber
3
Atau, bahwa ada grup pengguna yang terbagi. Misalnya, katakanlah webapp Anda meniru Desktop. Apakah Anda berharap bahwa menutup jendela menutup program? Ya untuk pengguna Windows, Tidak untuk pengguna Mac.
keppla
1
@ Keta - Anda membuat poin yang bagus. Anda tidak dapat menyenangkan semua orang, jadi dalam kasus "bug" seperti yang disebutkan di sini beberapa investigasi diperlukan untuk memastikan Anda tidak akan mendapatkan lebih banyak laporan bug setelah "perbaikan" daripada sebelumnya.
Joris Timmermans
1
mungkin, tetapi jauh lebih kuat untuk mengutip data "ratusan orang telah mengajukan bug tentang ini!" daripada memiliki beberapa pengguna fanatik mengatakan kepada Anda bahwa Anda telah melanggar interpretasi pribadi mereka tentang Prinsip Magis Least Astonishment dan mereka heran. Saya agak lelah dengan yang terakhir, karena "keheranan" satu orang adalah "langsung" ke orang lain.
Jeff Atwood
@ Jeff Atwood - seperti kata pepatah "satu menelan tidak membuat musim panas", "satu laporan bug tidak menyiratkan kesalahan desain". Laporan bug tunggal pada sesuatu yang merupakan fitur tidak ada alasan untuk mendesain ulang, dan bahkan beberapa laporan pada fitur umum tidak berarti bahwa mayoritas pengguna Anda tidak akan lebih bahagia tanpa "perbaikan". Terutama jika rilis asli Anda sudah populer dan orang-orang terbiasa menggunakannya "seperti itu".
Joris Timmermans
2

Ada dua jenis bug: fungsi tidak sesuai dengan niat programmer, atau fungsi tidak sesuai dengan persyaratan. Programmer memiliki kecenderungan untuk fokus pada yang pertama sehingga merugikan yang terakhir. Sederhananya, jika pengguna Anda melaporkan banyak "bug karena-desain," persyaratan Anda bukanlah seperti yang Anda pikirkan.

Karl Bielefeldt
sumber
2

Belum tentu. Bisa jadi bug yang dilaporkan dalam penggunaan perangkat lunak yang tepat di luar ruang lingkup yang sudah ditentukan sebelumnya. Pertimbangkan perangkat lunak yang dirancang untuk melakukan A, B, dan C (untuk contoh sepele, menggambar garis, segitiga, dan persegi panjang). Jika D adalah langkah logis berikutnya (mis. Pentagon), pengguna dapat menganggap itu juga harus dilakukan, dan yang tidak melakukannya adalah bug. Tetapi jika ini di luar lingkup asli, itu bukan bug. Ini bisa berupa pengawasan (bug) dalam desain, atau area abu-abu dalam spesifikasi, atau serangkaian asumsi berbeda yang dibuat oleh pengembang dan pengguna.

(Sunting - menambahkan komentar saya ke jawaban sesuai saran @Marjan Venema.

James McLeod
sumber
Saya tidak benar-benar melihat itu ditandai sebagai laporan bug. Lebih mirip saran atau permintaan fitur. (Meskipun, dengan beberapa sistem pelacakan bug, toh hal itu mungkin dihitung sebagai satu hal.)
Maks.
1
Saya setuju, sebagian besar waktu, tetapi bisa berarti kesalahan (bug) dalam desain, atau area abu-abu dalam spesifikasi, atau serangkaian asumsi yang dibuat oleh pengembang dan pengguna.
James McLeod
1
James, jika Anda menambahkan komentar itu ke jawaban Anda, seluruh jawaban menjadi lebih baik.
Marjan Venema
1

Saya percaya ini pertanda buruk terutama karena fakta bahwa desainnya tidak generik dan kebutuhan pengguna tidak sepenuhnya dipahami / dianalisis.

Saya melihat dua kategori desain, - Desain secara tidak sengaja. - Desain dengan niat.

Desain secara tidak sengaja menyebabkan masalah seperti itu sering dan tidak dapat dipertahankan.

18bytes
sumber
1

Saya ingin menambahkan jawaban maple_shaft tentang "ketidaktahuan" pengguna. Anda juga harus ingat bahwa 90% pengguna hanya akan peduli dengan pengalaman mereka sendiri dan cara menggunakan sistem. Mereka tidak peduli dengan pengguna lain, mengapa harus begitu? Adalah tugas kami sebagai desainer / pengembang untuk menerima masukan dari semua jenis pengguna yang berbeda dan membuat sesuatu yang cocok untuk semua orang sebaik mungkin. Seringkali Anda tidak dapat membuat solusi yang optimal untuk semua orang.

Tetapi tentu saja Anda perlu membaca dan mengevaluasi umpan balik dari pengguna Anda! Bagaimanapun, mereka adalah mereka yang menggunakan ciptaan Anda!

AndSoYouCode
sumber
0

Para pengguna yang mengajukan permintaan bug pada umumnya tidak berkonsultasi tentang desain sehingga tidak mengejutkan bahwa mereka melihat hal-hal sebagai bug yang merupakan keputusan desain yang disengaja. Bagi pengguna, apa pun yang tidak berfungsi seperti yang diharapkan adalah bug.

Saya telah menemukan masalah sering merupakan tanda bahwa BA atau PM hanya mendapat persyaratan dari manajer bukan pengguna sebenarnya. Apa yang diharapkan oleh manajer dari sistem seringkali sangat berbeda dari apa yang sebenarnya dibutuhkan oleh orang yang memasukkan data. Saya diajari untuk mengumpulkan data langsung dari pengguna yang sebenarnya, tetapi kebanyakan BA yang saya temui belakangan ini hanya berbicara dengan manajer (dan umumnya manajer yang relatif senior pada saat itu).

HLGEM
sumber