Quando va bene spedire un prodotto con un bug noto?


20

Quando va bene spedire un prodotto con un bug noto?


5
La domanda è probabilmente troppo ampia. I motivi per cui sono infiniti.
jmq

7
La domanda è: spedire con bug o non spedire affatto :)
Vitor Py l'

41
Tutti i prodotti vengono spediti con bug.
Joel Etherton,

4
Definisci ERRORE. Di recente abbiamo spedito un prodotto che non sarebbe stato installato. Grande bug: D
Barfieldmv

2
Intendi "bug noti"?
Nessuno l'

Risposte:


12

Presumo che tu stia parlando di un bug "noto" (altrimenti la domanda non ha senso). Bene, la risposta dipende da questi fattori:

1) Chi è l'utente e come accetterà il bug nel caso venga rilevato?

2) Qual è il potenziale impatto (danno) del bug?

3) È possibile ritardare la spedizione del software al fine di correggere il bug?

4) Soprattutto: cosa ti aspetti dal tuo software? Time-to-market? Qualità? Vuoi vedere se i tuoi clienti usano il software abbastanza a lungo per trovare il bug?


119

Deve essere sempre OK, perché non esiste un software senza errori.


2
ma sembra che sia a conoscenza del bug ... quindi a quel punto sembrerebbe che un programmatore sia solo pigro per non risolverlo sapendolo ...
Kenneth

7
@Kenneth: potresti vederlo così, ma i prodotti devono essere spediti e avranno sempre dei bug. Dipenderebbe dalla gravità del bug sul fatto che tu tieni duro alla scadenza.
Matt Ellen,

1
@Matt questo è vero. Tuttavia, mi sembra che nella maggior parte dei casi non vorrai spedire consapevolmente un prodotto con bug importanti. Ciò significherebbe che i restanti bug di cui sei a conoscenza sarebbero minori che nella maggior parte dei casi sarebbero facilmente risolvibili o almeno risolti. Non puoi gestire i bug che non conosci ma se il processo di test viene eseguito correttamente la maggior parte dei bug dovrebbe essere colta ...
Kenneth

1
Forse il mio sarcasmo non era chiaro ... ma dire che è "sempre OK" spedire software difettoso è in qualche modo irresponsabile. È come dire "ci saranno sempre assassini al mondo, quindi non importa se vado a uccidere alcune persone".
DisgruntledGoat

7
@DisgruntledGoat Non tutti i bug sono uguali: alcuni sono facili da risolvere, altri sono progetti che distruggono i disastri. Ovviamente quelli dovrebbero essere riparati. Alcuni sono bug molto rari, difficili da trovare, basati su circostanze insolite e solitamente difficili da correggere senza importanti riscritture. A volte quelli devono solo rimanere perché riparare loro offre troppo poco valore e il software deve essere spedito ieri. Si tratta di analisi costi / rischi / benefici.
CodexArcanum,

33

È una chiamata di giudizio. Ricorda, un bug può essere molte cose. Se è una delle principali funzionalità che non funziona, allora lo risolvi prima. Se è qualcosa di minore che ha un impatto minimo o nullo sulle utilità del programma, potresti lasciarlo scorrere.

Quindi guardalo da un punto di vista costi / benefici.

Spedisci prodotti con bug noti quando il costo totale e il rischio di correggere l'errore supera qualsiasi problema e impatto negativo deriverebbe dalla presenza del bug.

Quindi, se hai un periodo di test di 2 settimane prima del rilascio e viene trovato un piccolo bug, la domanda è ... sta risolvendo quel bug che vale le 2 settimane aggiuntive che un team potrebbe ora dover spendere per testare nuovamente l'applicazione e l' installazione (un passo spesso dimenticato nella creazione di software)? Quali sono i costi per la reputazione o nelle vendite se il software è in ritardo? Le persone si arrabbieranno? Potrebbero essere abbastanza felici di vivere con un bug minore se la funzionalità principale può essere consegnata in tempo.

I rischi includono il rischio di introdurre un nuovo problema, non solo nel correggere il bug, ma anche cose che potrebbero derivare dalla creazione di una nuova installazione.

L'impatto negativo è sia il tempo che l'impegno con i clienti che segnalano il bug e cose come il danno alla reputazione.


30
Un refuso nella casella "about" è qualcosa che dovresti davvero correggere. Ci vorranno circa 0,7 secondi (supponendo che entrambi digitiamo alla stessa velocità). Tuttavia, se lasci quel refuso, le persone possono vederlo . È morte istantanea per la fiducia dei tuoi utenti nel tuo software se ci sono errori visibili nell'interfaccia utente.

Questo mi sembra giusto. La maggior parte delle volte ci sono alcuni bug minori noti in un prodotto anche quando viene rilasciato. Tendono ad essere cose che sono molto insolite e hanno un effetto trascurabile sul funzionamento effettivo e sull'uso del software o cose che la maggior parte degli utenti non vede mai.
Glenatron,

3
In effetti, gli errori di battitura nella tua interfaccia utente distruggono la fiducia nella qualità di un prodotto (a torto, poiché molti grandi programmatori non parlano bene l'inglese), tuttavia vedo il tuo punto: bug insignificanti che non causano danni reali e che probabilmente non arriveranno mai up non vale la seccatura di trattenere un rilascio. Lascia per un punto elenco in 1.01.
Phoshi,

Non lasciare errori di ortografia nella tua applicazione. Francamente sono più imbarazzato da loro che un vero bug.
ChaosPandion,

1
Non ho idea di cosa tu stia parlando ...;)
Andreas Johansson,

6

I bug sono di diversa gravità. In qualsiasi società di software in cui ho lavorato, abbiamo classificato i bug in ordine di priorità da P0 a P4.

P0 Il software non funziona / si arresta in modo anomalo e potrebbe causare danni al business dei clienti. P1 Non funziona come previsto e si blocca costantemente nella funzionalità principale P2 Si arresta occasionalmente e o una funzionalità laterale potrebbe non funzionare. P3 Alcuni elementi del software non funzionano come previsto / problema P4 Cosmetic progettato.

Ho lavorato in posti in cui i P4 non vengono riparati perché hanno un effetto così piccolo sul software.

Direi che va bene spedire se il tuo software ha riscontrato problemi P3 / P4, lo inserirò nelle note di rilascio e noterò che stanno lavorando.

Non avrei mai rilasciato software con un problema P0, P1 o P2 di cui ero a conoscenza.


5

Si chiama " problema noto ". Google, Microsoft, Apple, ecc. Tutti spediscono prodotti con bug, sia noti che sconosciuti. Cerca di minimizzarli, ma non aspettare la perfezione. Spedisci velocemente, spedisci spesso.


3

Non è possibile spedire software senza bug. Il consiglio che posso dare è che è sempre meglio dire al tuo cliente: "Questa versione non può farlo e quello, ma risolviamo questo" rispetto alla situazione in cui il cliente ti dice che hai un bug.


0

quando è una "caratteristica"! ;)


Una nota seria, a meno che tu non sia un programmatore perfetto con una configurazione di test perfetta, per testare perfettamente ogni singolo percorso di codice e, alla fine, che potrebbe potenzialmente esistere, è improbabile che spedirai un prodotto senza errori.

Pertanto, sii pragmatico, se tutto ciò che hai riscontrato nei tuoi test è stato corretto, qualsiasi cosa in più dovrebbe essere riparata in base alle necessità.


0

Finché sei onesto con i tuoi clienti, puoi spedire con bug. Raccontare loro tutti i bug esistenti mostra loro che hai una buona conoscenza del tuo software e che è davvero ben testato (se lo è ...). :)

Ovviamente la cosa migliore è evitare la spedizione con bug.


0

Spesso è meglio avere una spedizione del prodotto in tempo, con un elenco di problemi noti, piuttosto che non spedire affatto.

Una delle cose nel mondo della programmazione che dà fiducia alle persone in un progetto è se hanno programmato il rilascio e se il programma è valido .

Questo è il motivo per cui Ubuntu rilascia le versioni ogni sei anni, anche se ci sono ancora problemi aperti.


0

Direi che una buona regola empirica è "questo bug è uno showtopper?"

Se il bug fa fallire uno "scenario di percorso felice", allora non spedire assolutamente con quel bug.

Se il bug provoca uno "scenario tangente al percorso felice" non riesce e non c'è soluzione alternativa, non spedire con quel bug.

Se un bug è documentato e esiste una soluzione alternativa nota, è probabilmente OK spedire con quel bug.


0

Dal punto di vista dei consumatori ... Mai. Il mio punto è fintanto che sai che c'è un grosso bug nel software, quindi non dovresti mai spedirlo. Tuttavia, le forze della natura (business) prevalgono su questo se il ciclo di produzione del software è ora nella fase in cui può danneggiare il modello di business e sono piccoli bug che non: (i) compromettono la sicurezza del software (ii) influiscono sull'usabilità


0

Come hanno detto le persone, è una domanda molto ampia. In realtà mi porta in una prospettiva interessante: i cosiddetti "bug" che affermi sono solo i difetti che sono stati scoperti dai tuoi tester. Potrebbero esserci infinite scappatoie. Ho appena ricordato una storia interessante che ho sentito da un professore rispettato in un seminario di laurea: quando le persone in uno dei paesi scandinavi usavano una macchina per il voto di tipo "riconoscibile per la calligrafia", alcune persone hanno violato l'intero sistema scrivendo codice SQL dannoso (che il il sistema ha assunto come input normale).


0

C'è qualcosa chiamato FMEA (modalità Failure e analisi degli effetti) che è molto utile per decidere quando un bug noto è importante o non basato su:

  1. avvenimento
  2. Gravità
  3. rivelazione

0

Un altro fattore decisivo può essere il modo in cui il difetto si riferisce all'ultima versione. Se il bug fa parte di una nuova funzionalità, ma non funzionante, la non funzionalità non rappresenta una regressione della funzionalità. Vai avanti e spedisci.

D'altra parte, se il difetto causa una perdita di funzionalità esistente che è nota per essere utile ai clienti esistenti, deve bloccare il rilascio. Tale rilascio sarebbe un downgrade per i tuoi clienti e non servirebbe né i tuoi interessi né i loro.

In questo possono esserci sfumature di grigio. Una regressione nella funzionalità di base non dovrebbe mai uscire dalla porta. Qualche regressione nelle funzionalità periferiche potrebbe rivelarsi utile per guidare gli utenti se la versione contiene anche nuove funzionalità per le quali hanno espresso interesse. Un oscuro difetto che non rischia di incidere su molti clienti può andare in una versione, a condizione che venga fornita una soluzione quando influenza quei clienti. Difetti nelle funzionalità altamente sperimentali che sono disattivati ​​di default comunque non dovrebbero mai ritardare il rilascio.

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.