Quali industrie sviluppare il software di alta qualità? qualità più bassa? Perché? [chiuso]

StackOverflow https://stackoverflow.com/questions/2981731

  •  24-10-2019
  •  | 
  •  

Domanda

Dalla tua esperienza, di quelle industrie che sviluppano software personalizzato per uso interno, come società di servizi finanziari, quali producono software di qualità più alta misurata in tassi di difetti e, più qualitativamente, la facilità di manutenzione a lungo termine?

Quello che contribuisce maggiormente a questo risultato di qualità superiore? E 'a causa di pratiche di sviluppo software migliori come ad esempio una maggiore enfasi sulla sperimentazione o specifica? Gli sviluppatori che capire meglio gli strumenti o che sono forti risolutori di problemi? Una migliore comunicazione tra i membri del team?

Sul rovescio, che le industrie pensi che produce il software di qualità più bassa? Perché?

È stato utile?

Soluzione

Questa è una domanda davvero complessa. Mentre la NASA offre certamente codice di alta qualità per il sistema critico-, o sistemi robotici che devono operare a grandi distanze (si pensi alla recente correzione software su Voyager 2, tredici ore-luce dalla Terra), la qualità della NASA non è economico , o rapidamente. Riga per riga, è probabilmente il software più costoso del settore.

L'applicazione di reporting di base in un business non ha bisogno di quel tipo di qualità. Né è conveniente. Ci sono molti modi per migliorare la qualità, e variano in termini di costi dal semplice ed economico (codifica standard) a risorsa-intensive, difficile, e immensamente in termini di tempo (scritto, prova matematica formale della correttezza in ogni metodo).

strumenti di project management, quali la valutazione del rischio, progetti autopsie, e il miglioramento continuo può aiutare un'organizzazione arrivano ad una adeguata serie di pratiche di qualità.

senza puntare il dito contro un settore specifico, devo dire che la pratica più distruttiva, in termini di qualità, è la pressione del tempo. Nulla induce un programmatore di scrivere codice sciatta quanto più stretti, scadenze artificiali.

Quali sono i requisiti per la qualità migliore?

La comunicazione è fondamentale. Ogni sviluppatore del team dovrebbe sapere ciò che ogni altro sviluppatore sta lavorando su, almeno in ampia portata.

In secondo luogo, una comprensione che la qualità inizia il giorno in cui il progetto è accettato. Requisiti devono essere comprese e validato. I fattori chiave includono facendo in modo che i requisiti di identificare il problema da risolvere, piuttosto che utilizzare una proposta di soluzione al problema definizione evitano; assicurandosi che i requisiti sono abbastanza misurabili e specifico che sia sviluppatori e clienti saranno in grado di riconoscere che una soluzione conforme ai requisiti; fare in modo che i requisiti siano comunicati in modo chiaro a tutti i consumatori di requisiti, tra cui sviluppatori, tester, scrittori tecnologia, personale di supporto, e dirigenti. La qualità è meglio misurata contro requisiti chiaramente definiti; Se i requisiti sono mal definiti, quindi la qualità è nella migliore delle ipotesi HAP-pericolo.

recensioni sono cruciali. Non solo le revisioni del codice, ma l'analisi dei requisiti, disegni, e forse più importante, piani di test. Il ruolo del test è quello di verificare che i requisiti siano stati soddisfatti. Puoi requisiti non prova cattivi o inesistenti.

E che porta alla comprensione del ruolo del test. Non è possibile verificare la qualità in un prodotto. Il test può verificare la qualità. Il test può trovare difetti e verificare che che sono stati fissati. Ma se le pratiche di qualità non sono state seguite fino al punto che il test ha inizio, il test non può risolvere questo.

Mentre io non sono un fan del modello di sviluppo a cascata, penso che lo sviluppo agile può prendere le cose troppo per l'altro estremo, e può essere facilmente abusato in modo che la qualità del male. Penso che mischia aiuta ad alleviare alcuni dei problemi di agile; mischia promuove la comunicazione all'interno del team, e riconosce che le stime non sono altro che ipotesi plausibili che possono essere raffinato come la conoscenza migliora.

Altri suggerimenti

mi è sempre piaciuto "che scrivono The Right Stuff", che dettagli del processo di sviluppo del software per la NASA appaltatori.

software Shuttle è sicuramente uno degli ultimi posti che desideri vedere il tuo bug persistono!

Sul rovescio, che le industrie pensi che produce il software di qualità più bassa? Perché?

Direi che il web. Soprattutto perché è estremamente facile da implementare, molti aggiornamenti / fix può essere fatto senza avvisare il cliente (o ingresso). Sembra che ci sia una mentalità molto più rilassato rispetto rispetto, per esempio, il software in scatola.

andando ad avere per andare avanti e dire che le banche scrivono il codice peggiore - hanno bisogno di tutti i tipi di soluzioni personalizzate, ma la scrittura di codice non è il loro obiettivo primario, in modo che tendono ad andare con "farlo funzionare in qualche modo". Che si combinano con il trattamento di codice come un widget si può avere fatto da spedirlo fuori al miglior offerente, la roba che viene fuori può essere veramente rabbrividire-degno.

Questo ovviamente varia da banca a banca e l'organizzazione a organizzazione all'interno dette banche, ma nel complesso, non vedo un sacco di codice di qualità in uscita. Come qualcuno che ha lavorato con le banche per 10 anni, mi considero un esperto di software bancario scadente:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top