Wat is een softwarecrisis?
Een softwarecrisis is een discrepantie tussen wat software kan leveren en de capaciteiten van computersystemen, evenals de verwachtingen van hun gebruikers. Dit werd een groeiend probleem in de 20e eeuw, omdat het computergebruik met grote sprongen groeide en de software geen gelijke tred kon houden. Naarmate de complexiteit van systemen groeit, neemt ook de behoefte van gebruikers toe, die steeds meer prestaties van hun software verwachten. Programmeurs kunnen moeite hebben om gelijke tred te houden, waardoor een softwarecrisis ontstaat.
Consumentensoftware doorloopt meestal een langzame reeks ontwikkelingsfasen, maar maakt een klein deel uit van het bedrijfsvolume in de industrie. Het grootste deel van de software-ontwikkeling is verzonken in systemen voor specifieke toepassingen, variërend van de programma's die raketgeleiding aan boord van zeekruisers afhandelen tot interne administratie voor zorgverzekeraars. Deze software vereist in het algemeen een aanzienlijke investering van de klant, evenals uitgebreide programmering door personeel belast met het ontwikkelen, testen en onderhouden ervan.
Zulke projecten kunnen in een softwarecrisis terechtkomen waar ze over budget gaan en veel langer duren dan verwacht om zich te ontwikkelen. De programmeurs die aan de software werken, kunnen te maken krijgen met voortdurende bugfixes terwijl ze nieuwe aspecten van een systeem leren, aanpassingen voor de client maken en andere problemen aanpakken die zich voordoen. Lage kwaliteit kan een zorg zijn, omdat de programmeurs een toenemende druk kunnen ervaren om koste wat het kost aan budgetten te voldoen, zelfs als dit betekent dat de software niet van goede kwaliteit zal zijn. Er wordt ook minder documentatie geproduceerd.
Dit is niet alleen een probleem voor de ontwikkeling van nieuwe softwareproducten. Een andere zorg kan de noodzaak zijn om oudere software te onderhouden die problemen kan hebben met slechte ontwikkeling of het niet anticiperen op groeiende behoeften. Programmeurs kunnen veel tijd besteden aan het functioneel houden van oudere software, zodat een bedrijf kan blijven werken. Met hoge investeringen in de oudere software, kan het bedrijf terughoudend zijn om een nieuw programma te bestellen, zelfs als het beter aan hun behoeften zou voldoen, omdat dit meer kosten en problemen zou kunnen meebrengen tijdens de omschakeling.
Druk om complexe, geavanceerde code te produceren kan een belangrijke bijdrage leveren aan een softwarecrisis. Het kan moeilijk zijn om de druk te beheersen terwijl u de kosten onder controle houdt en op een tijdsschema blijft. Sommige maatregelen voor het omgaan met een softwarecrisis kunnen een substantiële geavanceerde planning, selectie van hooggekwalificeerd personeel en voortdurende updates zijn om ervoor te zorgen dat het project op taak en focus blijft.