Was ist eine Software-Krise?
Eine Software-Krise ist ein Missverhältnis zwischen dem, was Software liefern kann, und den Kapazitäten von Computersystemen sowie den Erwartungen ihrer Benutzer. Dies wurde im 20. Jahrhundert zu einem wachsenden Problem, da das Computing sprunghaft zunahm und die Software nicht mehr mithalten konnte. Mit der Komplexität der Systeme steigen auch die Anforderungen der Benutzer, die von ihrer Software immer mehr Leistung erwarten. Programmierer können Schwierigkeiten haben, Schritt zu halten, was zu einer Software-Krise führt.
Consumer-Software durchläuft normalerweise eine langsame Reihe von Entwicklungsphasen, macht jedoch einen kleinen Teil des Geschäftsvolumens in der Branche aus. Der Großteil der Softwareentwicklung ist in anwendungsspezifische Systeme eingebettet, die von Programmen für die Lenkung von Raketen an Bord von Marinekreuzern bis hin zu internen Aufzeichnungen für Krankenversicherungsunternehmen reichen. Diese Software erfordert in der Regel eine erhebliche Investition des Kunden sowie eine umfangreiche Programmierung des Personals, das mit der Entwicklung, dem Testen und der Wartung beauftragt ist.
Solche Projekte können in eine Software-Krise geraten, in der das Budget überschritten wird und die Entwicklung viel länger dauert als erwartet. Die Programmierer, die an der Software arbeiten, müssen sich möglicherweise mit laufenden Fehlerkorrekturen befassen, während sie neue Aspekte eines Systems erlernen, Anpassungen für den Client vornehmen und andere auftretende Probleme beheben. Niedrige Qualität kann besorgniserregend sein, da die Programmierer unter Umständen unter zunehmendem Druck stehen, um jeden Preis ihre Budgets einzuhalten, auch wenn dies bedeutet, dass die Software keine gute Qualität aufweist. Es wird tendenziell weniger Dokumentation erstellt.
Dies ist nicht nur ein Thema für die Entwicklung neuer Softwareprodukte. Ein weiteres Problem kann die Notwendigkeit sein, ältere Software zu warten, die möglicherweise Probleme im Zusammenhang mit einer schlechten Entwicklung aufweist oder die wachsenden Anforderungen nicht antizipiert. Programmierer verbringen möglicherweise viel Zeit damit, alte Software funktionsfähig zu halten, damit ein Unternehmen weiterarbeiten kann. Aufgrund der hohen Investitionen in die ältere Software kann es sein, dass das Unternehmen ein neues Programm nur ungern bestellt, auch wenn es seinen Anforderungen besser entspricht, da dies zu höheren Kosten und Problemen bei der Umstellung führen kann.
Der Druck, komplexen, fortschrittlichen Code zu erstellen, kann einen erheblichen Beitrag zu einer Software-Krise leisten. Es kann schwierig sein, den Druck zu kontrollieren, während die Kosten unter Kontrolle bleiben und der Zeitplan eingehalten wird. Einige Maßnahmen zur Bewältigung einer Software-Krise können eine umfassende Vorausplanung, die Auswahl hochqualifizierten Personals und fortlaufende Aktualisierungen umfassen, um sicherzustellen, dass das Projekt auf seine Aufgabe und seine Ausrichtung ausgerichtet bleibt.