Che cos'è una crisi del software?
Una crisi del software è una discrepanza tra ciò che il software può offrire e le capacità dei sistemi informatici, nonché le aspettative dei loro utenti. Questo è diventato un problema crescente nel 20 ° secolo poiché l'informatica è cresciuta a passi da gigante e il software non è stato in grado di tenere il passo. Con l'aumentare della complessità dei sistemi, aumentano anche le esigenze degli utenti, che si aspettano sempre più prestazioni dal loro software. I programmatori possono avere difficoltà a tenere il passo, creando una crisi del software.
Il software di consumo in genere passa attraverso una serie lenta di fasi di sviluppo, ma costituisce una piccola parte del volume degli affari nel settore. La maggior parte dello sviluppo del software è affondata nei sistemi per applicazioni specifiche, che vanno dai programmi che gestiscono la guida missilistica a bordo degli incrociatori navali alla tenuta dei registri interna per le compagnie di assicurazione sanitaria. Questo software richiede generalmente un investimento sostanziale da parte del cliente, nonché una programmazione estesa da parte del personale incaricato di svilupparlo, testarlo e mantenerlo.
Tali progetti possono incorrere in una crisi del software in cui iniziano a superare il budget e impiegano molto più tempo del previsto a svilupparsi. I programmatori che lavorano al software potrebbero dover affrontare correzioni di errori in corso mentre apprendono nuovi aspetti di un sistema, apportano modifiche al client e affrontano altri problemi che si presentano. La bassa qualità può essere una preoccupazione, in quanto i programmatori possono sperimentare una pressione crescente per soddisfare i budget a tutti i costi, anche se ciò significa che il software non sarà di buona qualità. Anche meno documentazione tende a essere prodotta.
Questo non è solo un problema per lo sviluppo di nuovi prodotti software. Un'altra preoccupazione può essere la necessità di mantenere un software più vecchio che potrebbe avere problemi legati allo sviluppo scadente o alla mancata anticipazione delle esigenze crescenti. I programmatori potrebbero impiegare molto tempo per mantenere funzionale il software legacy in modo che un'azienda possa continuare a operare. Con elevati investimenti nel software precedente, la società potrebbe essere riluttante a ordinare un nuovo programma, anche se soddisfacesse meglio le proprie esigenze, poiché ciò potrebbe comportare maggiori spese e problemi durante il passaggio all'euro.
La pressione per la produzione di codice complesso e avanzato può contribuire in modo significativo a una crisi del software. Può essere difficile controllare la pressione mantenendo i costi sotto controllo e mantenendosi su un calendario. Alcune misure per far fronte a una crisi del software possono includere una pianificazione avanzata sostanziale, la selezione di personale altamente qualificato e aggiornamenti continui per garantire che il progetto rimanga in attività e focalizzato.