Che cos’è una crisi del software?

Una crisi del software è una mancata corrispondenza tra ciò che il software può fornire e le capacità dei sistemi informatici, nonché le aspettative dei loro utenti. Questo è diventato un problema crescente nel XX 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 prestazioni sempre maggiori dal proprio software. I programmatori possono faticare a tenere il passo, creando una crisi del software.

Il software di consumo in genere attraversa una serie lenta di fasi di sviluppo, ma costituisce una piccola parte del volume di affari nel settore. La maggior parte dello sviluppo del software è affondata in sistemi per applicazioni specifiche, che vanno dai programmi che gestiscono la guida dei missili a bordo degli incrociatori navali alla tenuta dei registri interni per le compagnie di assicurazione sanitaria. Questo software richiede generalmente un investimento sostanziale da parte del cliente, nonché un’ampia programmazione da parte del personale incaricato di svilupparlo, testarlo e mantenerlo.

Tali progetti possono andare incontro a una crisi del software in cui iniziano a superare il budget e impiegano molto più tempo del previsto per lo sviluppo. I programmatori che lavorano sul software potrebbero dover affrontare correzioni di bug in corso mentre apprendono nuovi aspetti di un sistema, apportando modifiche per il client e affrontando altri problemi che si presentano. La bassa qualità può essere un problema, poiché i programmatori potrebbero subire una crescente pressione per rispettare i budget a tutti i costi, anche se ciò significa che il software non sarà di buona qualità. Si tende anche a produrre meno documentazione.

Questo non è solo un problema per lo sviluppo di nuovi prodotti software. Un’altra preoccupazione può essere la necessità di mantenere il software più vecchio che potrebbe avere problemi legati allo scarso sviluppo o all’incapacità di anticipare i crescenti bisogni. I programmatori potrebbero dedicare molto tempo a mantenere funzionante il software legacy in modo che un’azienda possa continuare a operare. Con un elevato investimento nel software precedente, l’azienda potrebbe essere riluttante a ordinare un nuovo programma, anche se sarebbe meglio soddisfare le loro esigenze, perché ciò potrebbe comportare maggiori spese e problemi durante il passaggio.

La pressione per produrre 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 rispettando una tabella di marcia. Alcune misure per affrontare una crisi del software possono includere una pianificazione avanzata sostanziale, la selezione di personale altamente qualificato e aggiornamenti continui per assicurarsi che il progetto rimanga concentrato e concentrato.