"Bug" By-Design sono un brutto segno?


29

È un brutto segno se gli utenti inviano segnalazioni di bug per cose che sono progettate?

Significa in genere che l'applicazione è confusa o poco chiara, o dovrei solo segnarla con un errore utente una tantum se non diversamente specificato?

(In realtà non ho tali rapporti. Questa è una domanda puramente ipotetica sull'esistenza o meno di "bug" di progettazione originale.)


19
Forse alcuni programmatori di Lotus Notes si preoccuperebbero di commentare, dal momento che la risposta standard è "non è un bug è una caratteristica che non capisci".
James Anderson,

5
Mi suggerisce che i requisiti dell'utente forniti agli sviluppatori non corrispondono a ciò che gli utenti pensano di aver richiesto.
temptar

7
@temptar "È quello che ho chiesto, ma non è quello che volevo."
StuperUser

5
Recentemente mi è stato assegnato un oggetto di lavoro "bug" per un comportamento che era esattamente, nello specifico, ciò che era stato esplicitamente indicato nelle specifiche (e che era stato discusso durante la fase delle specifiche). Mentre il comportamento potrebbe benissimo essere stato inaspettato dal punto di vista di un utente (un'impostazione particolare, che è stata prestata attenzione altrove, è stata ignorata), se la specifica letteralmente tutto ma dice "ignoriamo che per ora per risparmiare tempo", quindi per me non è un bug, ma piuttosto una richiesta di modifica. Certamente, un buon caso potrebbe essere fatto per volerlo cambiare, ma non chiamarlo un bug .
un CVn

7
@Dunk: ho implementato un sistema che prevedeva 24 ore in ogni giorno, perché non siamo riusciti a convincere il cliente dell'esistenza dell'ora legale. Semplicemente non credevano che ci fossero giorni con 25 ore. È un bug nel programma?
Salterio

Risposte:


54

È un brutto segno? Penso che sia un avvertimento che vale la pena esaminare, ma penso anche che accadrà.

Quando le persone mi inviano qualsiasi tipo di feedback, provo a filtrarlo in tre secchi:

  • bugs
  • Richieste di funzionalità
  • Problemi di comunicazione

bugs

I bug sono quando qualcosa ovviamente non funziona come ti aspetteresti, né nel modo in cui l' utente si aspetterebbe. Ad esempio, mi ha chiesto il mio nome, ho inserito "Scott", ho premuto invio e ha detto "Ciao Joe!"

Richieste di funzionalità

È come "So che non ne abbiamo mai parlato, ma il programma può dedurre dai gesti del mio mouse che sono mancino e spostare il pulsante OK sul lato sinistro dello schermo?" Questo è quando il comportamento attuale corrisponde alle aspettative dell'utente e dell'utente , ma vogliono cambiare le aspettative.

Problemi di comunicazione

Questo è quando ti aspetteresti un risultato da uno scenario, ma l' utente si aspetta un risultato diverso. A volte questa diventa una richiesta di funzionalità, se non hanno comunicato le loro aspettative, ma hanno pensato di averlo fatto. A volte questo diventa un bug se le tue aspettative si dimostrano sbagliate.

Tuttavia, molte volte hai la conoscenza che l'utente non ha. E se dicessero: "In questa schermata, posso aggiungere un record per me stesso due volte con lo stesso nome e cognome! Questo è ovviamente un bug!" La tua risposta potrebbe essere: "Ci sono un sacco di persone al mondo con lo stesso nome e cognome, quindi non abbiamo bisogno che quella combinazione sia unica. Abbiamo un'attività di pulizia che viene eseguita di notte e invia tramite e-mail un possibile rapporto duplicati a il servizio clienti quando ritiene di rilevare un duplicato con un nome e un indirizzo simili e chiede loro di controllarlo manualmente. "

Quindi dovresti leggere ogni segnalazione di bug, ma la maggior parte dei sistemi complessi avrà segnalazioni di bug che sono in realtà solo richieste di funzionalità, o forse una comunicazione errata dei requisiti. Non comprendere la complessità di fondo del mondo reale è probabilmente la più grande fonte di questi problemi.


3
La cattiva comunicazione include anche il ricordare male (o semplicemente dimenticare) le aspettative che sono state comunicate e concordate.
Peter Taylor,

1
Grandi distinzioni, ma penso ancora che l'applicazione dovrebbe tentare di spiegare la cattiva comunicazione, se possibile. Con più persone con lo stesso nome, l'app potrebbe dire "Abbiamo già 3 John Smiths, sei sicuro che non sia uno di questi" con l'opzione "No, sono sicuro che si tratti di una nuova John Smith".
Alex Andronov,

@Alex Andronov: una cattiva comunicazione non significa che non ci sia alcuna azione da intraprendere: modificare la documentazione, i suggerimenti, ecc., Aggiornare il materiale di formazione o eventualmente solo una breve spiegazione e andare avanti.
Scott Whitlock,

7

Questo non è stato toccato finora nelle risposte precedenti, quindi aggiungerò che potrebbe anche essere un segno di una base di utenti ignorante. Non uso la parola "ignorante" in modo dispregiativo o condiscendente, semplicemente come un modo per esprimere che sono privi della conoscenza o dell'educazione adeguate nel loro dominio o delle complessità del software stesso.

La maggior parte degli utenti non è consapevole di quanto debba essere complicato il software per soddisfare determinati requisiti. Qualcosa per l'effetto dell'80% dello sforzo riguarda solo il 20% della funzionalità (casi marginali ed eccezionali).

A volte non capiscono perché il software debba intrinsecamente comportarsi in un certo modo, molte volte per prevenire una moltitudine di difetti o corruzione dei dati, ecc ...

Questo non è preoccupante poiché migliora con una documentazione e una comunicazione chiare e concise.


2
+1 ma cerca la differenza tra complesso e complicato ... Il software non deve essere affatto complicato, ma spesso è molto complesso.
Marjan Venema,

Questo è molto vero Il caso più comune in cui mi imbatto è che gli utenti non si rendono conto della differenza tra relazioni molti-a-uno e molte-a-molte. Una richiesta comune che ricevo è "puoi fare in modo che il rapporto mostri il numero dell'ordine nell'intestazione?" e devo spiegare che, sebbene in circa il 95% dei casi vi sia un solo numero d'ordine sulle cose su cui lavorano, ci sono molti casi in cui la query potrebbe includere dati tra più ordini. Quindi devo chiedere, vuoi che io elenca tutti i numeri d'ordine nell'intestazione separati da virgole o vuoi il numero d'ordine su ogni riga di dettaglio nel rapporto?
Scott Whitlock,

@ScottWhitlock Sì, è la stessa cosa. Un buon sviluppatore o analista aziendale non dovrebbe quindi solo fare ciò che il cliente chiede, ma cercare di scoprire il problema principale che sta vivendo per il motivo per cui ha presentato una richiesta in primo luogo. Una volta identificato il loro problema, è possibile identificare una soluzione adeguata e scrivere requisiti appropriati o storie utente.
maple_shaft

5

Se hai un utente esperto nel proprio settore, potresti avere un grosso problema. Immagina che un commercialista che trova il tuo software, in base alla progettazione, non stia seguendo le procedure contabili generali o un ingegnere che scopre che hai una formula errata. Questo non dovrebbe essere troppo difficile da ricercare per vedere se sono corretti. Riprogettalo e correggilo se necessario-veloce.

Un'opinione su una particolare funzionalità dell'interfaccia utente o su un campo che ritengono dovrebbe avere un simbolo di valuta o qualche altra formulazione, dovrebbe essere presa in considerazione, almeno fino a quando non si ottiene più feedback. La ricerca di questo potrebbe essere un po 'più difficile.


1
Non c'è una sola risposta, quindi, suppongo. Dovrebbe essere valutato caso per caso. Ho pensato tanto.
Maxpm

5

I bug di progettazione secondo la mia esperienza indicano che i tuoi casi d'uso non si adattano ai tuoi utenti reali. Prova a leggere sull'utilizzo di utenti reali per i tuoi casi d'uso (semplicemente dare loro nomi e una descrizione in miniatura fa miracoli per la qualità dei casi d'uso).

Quando i principali fornitori di sistemi operativi affermano che "questo comportamento è in base alla progettazione", in genere avevano in mente facilità di implementazione o vantaggi commerciali. Se non sei tu, prova a scoprire le tue reali competenze e la relazione con il tuo software. Lo usano tutto il giorno? Per divertimento ? Una volta alla settimana perché ha sostituito i moduli TPS?


5

L'interfaccia utente dovrebbe seguire il principio del minimo stupore : ripetute segnalazioni di bug su una funzionalità che funziona come previsto indicano che questo principio non è stato rispettato correttamente.


3
Oppure, che esiste un gruppo utenti diviso. Ad esempio, supponiamo che la tua webapp sia un desktop. Ti aspetti che la chiusura di una finestra chiuda il programma? Sì per utenti Windows, No per utenti Mac.
keppla,

1
@Keppla - hai ragione. Non puoi piacere a tutti, quindi nel caso di "bug" come quelli menzionati qui sono necessarie alcune indagini per assicurarsi che dopo la "correzione" non riceverai più segnalazioni di bug.
Joris Timmermans,

1
forse, ma è molto più potente citare i dati di "centinaia di persone hanno presentato bug su questo!" di quello che è quello di avere un paio di utenti rabbiosi che ti dice che abbia violato la loro personale interpretazione del principio magico del minimo stupore e si sono stupiti. Sono un po 'stanco di quest'ultimo, poiché lo "stupore" di un uomo è il "semplice" di un altro.
Jeff Atwood,

@Jeff Atwood - come dice il proverbio "una rondine non fa un'estate", "una segnalazione di bug non implica un errore di progettazione". Un singolo bug report su qualcosa che è una funzionalità non è motivo di riprogettazione e anche diversi report su una funzione comune non significano necessariamente che la maggior parte dei tuoi utenti non sarebbe più felice senza una "correzione". Soprattutto se la tua versione originale è già popolare e le persone sono abituate ad usarla "in quel modo".
Joris Timmermans,

2

Esistono due tipi di bug: la funzionalità non corrisponde alle intenzioni del programmatore o la funzionalità non corrisponde ai requisiti. I programmatori hanno la tendenza a concentrarsi sul primo a scapito del secondo. Per dirla semplicemente, se i tuoi utenti segnalano molti "bug di progettazione", i tuoi requisiti non sono quelli che pensi siano.


2

Non necessariamente. È possibile che il bug segnalato sia in un uso del software che è appena al di fuori del suo ambito originariamente definito. Considera il software progettato per eseguire A, B e C (per un esempio banale, disegna linee, triangoli e rettangoli). Se D è un passaggio logico successivo (ad es. Pentagoni), l'utente può supporre che dovrebbe farlo anche quello, e che non farlo sia un bug. Ma se questo è al di fuori dell'ambito originale, non è un bug. Potrebbe invece essere una svista (bug) nella progettazione, o un'area grigia nelle specifiche o un diverso insieme di ipotesi fatte dallo sviluppatore e dall'utente.

(Modifica - ha aggiunto il mio commento alla risposta per il suggerimento di @Marjan Venema.


Non vedo davvero che sia contrassegnato come segnalazione di bug. Più come un suggerimento o una richiesta di funzionalità. (Anche se, con alcuni sistemi di tracciamento dei bug, potrebbe comunque
valere

1
Sono d'accordo, il più delle volte, ma può significare una svista (bug) nella progettazione, o un'area grigia nelle specifiche, o un diverso insieme di ipotesi fatte dallo sviluppatore e dall'utente.
James McLeod,

1
James, se aggiungi quel commento alla tua risposta, l'intera risposta diventa migliore.
Marjan Venema,

1

Credo che sia un brutto segno principalmente a causa del fatto che il design non è generico e che i requisiti degli utenti non sono stati completamente compresi / analizzati.

Vedo due categorie di design, - Design per caso. - Progettato per intenzione.

La progettazione per caso porta a tali problemi frequentemente e non può essere sostenuta.


1

Vorrei aggiungere la risposta di maple_shaft sulla "ignoranza" degli utenti. Devi anche tenere presente che al 90% degli utenti interesserà solo propria esperienza e del modo di utilizzare il sistema. A loro non importa degli altri utenti, perché dovrebbero? È nostro compito come designer / sviluppatori ricevere input da tutti i diversi tipi di utenti e creare qualcosa che si adatti a tutti nel miglior modo possibile. Il più delle volte non è possibile rendere una soluzione ottimale per tutti.

Ma ovviamente devi leggere e valutare il feedback dei tuoi utenti! Dopotutto, sono quelli che usano la tua creazione!


0

Gli utenti che hanno inviato le richieste di bug in genere non sono stati consultati sul progetto, quindi non sorprende che vedano le cose come bug che sono state decisioni deliberate di progettazione. Per un utente tutto ciò che non funziona come previsto è un bug.

Ho scoperto che il problema è spesso un segno che il BA o il PM hanno ottenuto requisiti solo da gestori non utenti reali. Ciò che i manager si aspettano dal sistema è spesso molto diverso da ciò di cui hanno effettivamente bisogno le persone che inseriscono i dati. Mi è stato insegnato a raccogliere dati direttamente dagli utenti reali, ma la maggior parte delle BA in cui ho incontrato ultimamente parla solo con manager (e in genere manager relativamente senior).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.