Hvad er en softwarekrise?
En softwarekrise er et misforhold mellem, hvad software kan levere og kapaciteten i computersystemer såvel som forventningerne til deres brugere. Dette blev et voksende problem i det 20. århundrede, da computing voksede med store sprang, og software var ikke i stand til at holde trit. Efterhånden som systemernes kompleksitet vokser, gør brugerne også behov, som forventer stadig mere ydelse fra deres software. Programmerere kan kæmpe for at holde trit og skabe en softwarekrise.
Forbruger software bevæger sig typisk gennem en langsom række udviklingsfaser, men udgør en lille del af forretningsomfanget i branchen. Størstedelen af softwareudviklingen sænkes i systemer til specifikke applikationer, lige fra de programmer, der håndterer missilvejledning om bord på krydstogtsfartøjer til intern journalføring for sundhedsforsikringsselskaber. Denne software kræver generelt en betydelig investering fra kunden såvel som omfattende programmering fra personale, der har til opgave at udvikle, teste og vedligeholde den.
Sådanne projekter kan løbe ind i en softwarekrise, hvor de begynder at gå over budgettet og tage meget længere tid end forventet at udvikle sig. Programmørerne, der arbejder med softwaren, kan være nødt til at håndtere løbende fejlrettelser, mens de lærer nye aspekter af et system, foretager justeringer for klienten og adresserer andre problemer, der opstår. Lav kvalitet kan være en bekymring, da programmererne kan opleve et stigende pres for at overholde budgetter for enhver pris, selvom det betyder, at softwaren ikke er af god kvalitet. Mindre dokumentation har også en tendens til at blive produceret.
Dette er ikke kun et spørgsmål om udvikling af nye softwareprodukter. En anden bekymring kan være behovet for at vedligeholde ældre software, der kan have problemer relateret til dårlig udvikling eller manglende forudsigelse af voksende behov. Programmerere kan bruge store mængder tid på at holde ældre software funktionelle, så et firma kan fortsætte med at operere. Med høje investeringer i den ældre software kan virksomheden være tilbageholdende med at bestille et nyt program, selvom det bedre ville imødekomme deres behov, fordi dette kan medføre flere udgifter og problemer under overgangen.
Presset for at producere kompleks, avanceret kode kan være en betydelig bidragyder til en softwarekrise. Det kan være vanskeligt at kontrollere trykket, mens man holder omkostningerne under kontrol og holder sig på en tidsplan. Nogle af foranstaltningerne til håndtering af en softwarekrise kan omfatte betydelig avanceret planlægning, valg af højt kvalificeret personale og løbende opdateringer for at sikre, at projektet forbliver på opgave og fokus.