Yazılım Krizi Nedir?

Bir yazılım krizi, yazılımın neler sunabileceği ile bilgisayar sistemlerinin kapasiteleri ve kullanıcılarının beklentileri arasındaki uyumsuzluktur. Bu, bilgisayar devrimi ve sınırları tarafından büyüdüğü ve yazılımın hızını koruyamadığı için 20. yüzyılda büyüyen bir problem haline geldi. Sistemlerin karmaşıklığı arttıkça, yazılımlarından daha fazla performans bekleyen kullanıcıların ihtiyaçları da artar. Programcılar, bir yazılım krizi yaratarak ayak uyduramayabilirler.

Tüketici yazılımı tipik olarak yavaş bir dizi gelişim evresinde ilerler, ancak sektördeki iş hacminin küçük bir kısmını oluşturur. Yazılım geliştirmenin büyük kısmı, deniz kruvazörlerinde füze rehberliği yapan programlardan sağlık sigortası şirketleri için dahili kayıt tutmaya kadar uzanan çeşitli uygulamalar için sistemlere batırılmıştır. Bu yazılım genellikle müşteriden önemli miktarda yatırım yapılmasının yanı sıra, geliştirme, test etme ve bakımıyla görevli personelden kapsamlı programlama yapılmasını gerektirir.

Bu tür projeler, bütçeyi aşmaya başladıkları ve gelişmeleri beklenenden çok daha uzun sürdüğü bir yazılım kriziyle karşılaşabilirler. Yazılım üzerinde çalışan programcılar, sistemin yeni yönlerini öğrenirken, müşteri için ayarlamalar yaparken ve ortaya çıkan diğer sorunları ele alırken devam eden hata düzeltmeleri ile uğraşmak zorunda kalabilirler. Programcılar, her ne pahasına olursa olsun bütçeleri karşılama konusunda artan baskı yaşayabilirler, çünkü yazılım iyi kalitede olmazsa bile. Daha az dokümantasyon da üretilme eğilimindedir.

Bu sadece yeni yazılım ürünlerinin geliştirilmesi için bir sorun değil. Diğer bir endişe kaynağı, zayıf gelişme ile ilgili problemleri olan veya artan ihtiyaçları öngöremeyen eski yazılımı sürdürme ihtiyacı olabilir. Programcılar, eski yazılımın çalışır durumda kalması için çok fazla zaman harcıyor olabilir, böylece bir şirket çalışmaya devam edebilir. Eski yazılıma yapılan yüksek yatırımla, şirket, ihtiyaçlarını daha iyi karşılasa bile, yeni bir program sipariş etmek konusunda isteksiz olabilir, çünkü bu değişim sırasında daha fazla masraf ve sorunlara yol açabilir.

Karmaşık, gelişmiş kod üretme baskısı, yazılım krizine önemli bir katkıda bulunabilir. Maliyetleri kontrol altında tutarken ve bir zaman çizelgesinde kalırken basıncı kontrol etmek zor olabilir. Bir yazılım kriziyle başa çıkmak için bazı önlemler arasında, önemli bir ileri planlama, yüksek nitelikli personel seçimi ve projenin görevde ve odakta kaldığından emin olmak için devam eden güncellemeler yer alabilir.