Qual è la caratteristica più importante del software di qualità? [chiuso]

8

Questa domanda è sulla stessa linea di questo , ma invece di parlare di qualità del codice, sto parlando del prodotto finale dal punto di vista degli utenti. Se avessi tempo limitato / budget e potessi garantire un solo attributo del software (diverso dai requisiti di base) che lo porta da un software decente a un software di buona qualità, quale considereresti più importante?

Ha il minor numero possibile di bug? Un'interfaccia intuitiva? Messaggi di errore utili? Buon supporto tecnico e documentazione? Se non vogliamo che il nostro software assomigli a merda economica per i nostri utenti, cosa dovremmo sempre ricordare di includere?

    
posta Tesserex 20.12.2010 - 05:33
fonte

9 risposte

16

Interfaccia utente intuitiva e attraente . Può sembrare un cliché, ma c'è un po 'di verità nell'affermazione "le cose belle funzionano meglio".

Modifica 9/18/2013:

Sono passati anni ma la domanda di Morten qui sotto è rimasta impressa nella mia testa per tutto questo tempo. Sì, giudico i server SQL dalla loro interfaccia utente. Tutto ha un'interfaccia utente. Beh, quasi tutto comunque. Conchiglie, file di configurazione, comandi, file di registro, sono tutti un'interfaccia per gli utenti. Anche la maggior parte dei moduli del kernel di Linux presenta alcune UI esposte come file in / sys e / proc. Sì, quelle sono interfacce utente. Solo perché non è grafico non lo rende meno importante.

Esempio: so che Postgres è un eccellente database. Sono triste a volte non lo uso più. Io uso di più MySQL. Perché? In parte è che i comandi della shell sono più facili da usare. show databases; dice quello che fa e fa quello che dice. L'ho visto una volta, la prima volta. Mai fatto di nuovo. Quando uso psql, raramente riesco a ricordare. È \dl o solo \l ? No aspetta, non è \dl qualcos'altro? Huh, voglio davvero \dn ? Spara, ok, qual è il comando di aiuto? %codice%? No, questa è una lista di comandi SQL. Dov'è la lista dei comandi della shell? Ah. \help ha la lista. PERCHÉ \? è diverso da \? ?

Sì, se lo avessi usato per tutto il tempo mi sarei abituato. Non è questo il punto. Il punto è che il software ben progettato non dovrebbe richiedere "abituarsi".

So che sembra un esempio stupido ma ha un effetto.

    
risposta data 20.12.2010 - 05:50
fonte
5

Usabilità

Qualsiasi altra caratteristica essenziale è solo un attributo o contribuisce all'usabilità (privo di bug, funzionalità, attrattiva, ecc.)

Questa è la caratteristica più importante # 1 perché è ciò che dimostra che il tuo software ha un valore. Se ha valore, guadagna.

    
risposta data 20.12.2010 - 07:11
fonte
2

deve fare ciò di cui l'utente ha bisogno per farlo facilmente e rapidamente. deve essere facile da usare.

    
risposta data 20.12.2010 - 08:51
fonte
2

Migliorarlo facilmente. Il software di alta qualità è costruito quando lo costruisci per permetterti di occuparti a basso costo di difetti (interfaccia utente / prestazioni / arresti / ecc.).

Qualsiasi software avrà difetti, quindi costruisci in modo che il miglioramento della qualità sia facile e conveniente.

Tutto il resto seguirà da questo.

    
risposta data 20.12.2010 - 10:11
fonte
2

La caratteristica più importante è che il cliente può fare ciò che ha chiesto. Ciò significa che non solo soddisfa i requisiti di base, ma lo fa in un modo che il cliente può capire.

Suppongo che chiameremmo "Usabilità", che poi diventa la risposta.

Il resto, come gli sguardi e le funzionalità, e gli errori (con la ragione) possono essere migliorati in seguito. Se il cliente può fare ciò che ha chiesto, anche lui di solito sarà felice e più propenso a chiederti di apportare questi miglioramenti.

Un bel software che non aiuta il cliente a fare il suo lavoro non ti porterà più lavoro, secondo la mia esperienza.

    
risposta data 20.12.2010 - 11:05
fonte
2

La prevedibilità

Il software dovrebbe fare il lavoro che gli viene richiesto, quando l'utente lo chiede, nel modo in cui l'utente si aspetta di farlo. Non dovrebbe introdurre sorprese lungo il percorso (che si tratti di comportamenti imprevedibili o non ovvi, lunghi ritardi senza feedback o semplici arresti anomali), dovrebbe semplicemente essere efficace e affidabile nel suo lavoro.

Il software che fa bene una cosa è molto più utile del software che offre molte opzioni di interfaccia ma si comporta in modo imprevedibile o si blocca. Puoi sempre creare nuove funzionalità mentre la domanda si mostra, ma a meno che il tuo software non svolga il lavoro che ci si aspetta in un modo che rientri nelle aspettative degli utenti non hai le basi per apportare ulteriori miglioramenti.

    
risposta data 18.09.2013 - 19:02
fonte
1

L'IMO, che fornisce una piattaforma per far evolvere il programma è la migliore funzionalità che un programma possa avere. Firefox è un buon esempio di questo. Forniscono un prodotto funzionante decente e man mano che i bug vengono corretti, il software viene aggiornato automaticamente. Questo è molto utile per l'utente finale poiché ha sempre l'ultima build. Questo ti aiuterà anche nel tuo caso perché quando ottieni più budget e tempo, puoi spingere facilmente le nuove funzionalità.

Penso che l'altra migliore qualità di un prodotto software sia il modo in cui gestisce le eccezioni e risponde a scenari eccezionali. La maggior parte dei programmi non riesce a gestirlo con garbo. O vengono uccisi da ripetizioni non gestite o producono messaggi di errore privi di significato che confondono l'utente.

Creare software senza bug non è un lavoro semplice. Accadrà alla fine quando il programma si evolverà. Ma è dovere dei programmatori assicurarsi che siano disponibili informazioni sufficienti per eseguire il debug del problema. Un buon esempio di come produrre eccellenti messaggi di errore per l'utente è VirtualBox . In caso di errori imprevisti, informa l'utente che cosa potrebbe essere andato storto con un'opzione per contattare gli sviluppatori con il file di registro dettagliato per ulteriore assistenza.

    
risposta data 20.12.2010 - 06:12
fonte
1

Se parli di software aziendale è tutto su Facilità di gestione . Nella mia azienda lavoriamo duramente per sbarazzarci di qualsiasi software che richiede troppi amministratori.

Per me il software desktop riguarda la Stabilità . Odio il software che si arresta su di me.

    
risposta data 20.12.2010 - 07:43
fonte
1

La mia qualità mentale è una misura della quantità di preoccupazioni degli stakeholder che sono indirizzate dal software.

In generale, la mia definizione si presta bene con la definizione RUP.

RUP definisce la qualità come:

  • soddisfa o supera una serie di requisiti concordati
  • Valutato utilizzando misure e criteri concordati
  • prodotto utilizzando un processo concordato.
risposta data 20.12.2010 - 08:52
fonte

Leggi altre domande sui tag