วิกฤตซอฟต์แวร์เป็นสิ่งที่ไม่ตรงกันระหว่างสิ่งที่ซอฟต์แวร์สามารถส่งมอบและความสามารถของระบบคอมพิวเตอร์เช่นเดียวกับความคาดหวังของผู้ใช้ นี่เป็นปัญหาที่เพิ่มมากขึ้นในศตวรรษที่ 20 เมื่อคอมพิวเตอร์มีการเติบโตอย่างก้าวกระโดดและซอฟต์แวร์ไม่สามารถก้าวทันได้ เมื่อความซับซ้อนของระบบเพิ่มขึ้นความต้องการของผู้ใช้ที่คาดหวังว่าจะมีประสิทธิภาพเพิ่มขึ้นจากซอฟต์แวร์ของพวกเขา โปรแกรมเมอร์อาจต้องดิ้นรนเพื่อให้ทันกับการสร้างวิกฤติซอฟต์แวร์
โดยทั่วไปซอฟต์แวร์ผู้บริโภคจะผ่านขั้นตอนการพัฒนาที่ช้า แต่ทำขึ้นเป็นส่วนเล็ก ๆ ของปริมาณธุรกิจในอุตสาหกรรม การพัฒนาซอฟต์แวร์จำนวนมากจมลงในระบบสำหรับการใช้งานที่เฉพาะเจาะจงตั้งแต่โปรแกรมที่จัดการคำแนะนำขีปนาวุธบนเรือลาดตระเวนทางเรือไปจนถึงการเก็บบันทึกภายในสำหรับ บริษัท ประกันสุขภาพ ซอฟต์แวร์นี้โดยทั่วไปต้องใช้เงินลงทุนจำนวนมากจากลูกค้าเช่นเดียวกับการเขียนโปรแกรมอย่างกว้างขวางจากบุคลากรที่รับผิดชอบในการพัฒนาทดสอบและบำรุงรักษา
โครงการดังกล่าวสามารถประสบกับวิกฤติซอฟต์แวร์ที่พวกเขาเริ่มใช้งบประมาณและใช้เวลานานกว่าที่คาดว่าจะพัฒนา โปรแกรมเมอร์ที่ทำงานกับซอฟต์แวร์อาจต้องจัดการกับการแก้ไขข้อผิดพลาดอย่างต่อเนื่องในขณะที่เรียนรู้แง่มุมใหม่ ๆ ของระบบทำการปรับแก้ไคลเอนต์และแก้ไขปัญหาอื่น ๆ ที่เกิดขึ้น คุณภาพต่ำอาจเป็นเรื่องที่น่ากังวลเนื่องจากโปรแกรมเมอร์อาจประสบกับแรงกดดันที่เพิ่มขึ้นเพื่อให้สอดคล้องกับงบประมาณในทุกกรณีแม้ว่าจะหมายถึงว่าซอฟต์แวร์จะไม่ได้คุณภาพดีก็ตาม เอกสารน้อยมีแนวโน้มที่จะผลิตเช่นกัน
นี่ไม่ใช่แค่ปัญหาสำหรับการพัฒนาผลิตภัณฑ์ซอฟต์แวร์ใหม่ ข้อกังวลอีกประการคือความต้องการในการดูแลรักษาซอฟต์แวร์รุ่นเก่าซึ่งอาจมีปัญหาเกี่ยวกับการพัฒนาที่ไม่ดีหรือความล้มเหลวในการคาดการณ์ความต้องการที่เพิ่มขึ้น โปรแกรมเมอร์อาจใช้เวลาจำนวนมากในการรักษาซอฟต์แวร์ที่ใช้งานได้เพื่อให้ บริษัท สามารถทำงานต่อไปได้ ด้วยการลงทุนสูงในซอฟต์แวร์รุ่นเก่า บริษัท อาจลังเลที่จะสั่งซื้อโปรแกรมใหม่แม้ว่าจะตอบสนองความต้องการของพวกเขาได้ดีขึ้นเพราะสิ่งนี้อาจเกี่ยวข้องกับค่าใช้จ่ายและปัญหามากขึ้นในระหว่างการเปลี่ยนแปลง
ความกดดันในการสร้างรหัสขั้นสูงที่ซับซ้อนอาจเป็นปัจจัยสำคัญต่อวิกฤติซอฟต์แวร์ มันเป็นเรื่องยากที่จะควบคุมแรงกดดันในขณะที่รักษาต้นทุนภายใต้การควบคุมและอยู่บนตารางเวลา มาตรการบางอย่างสำหรับการรับมือกับวิกฤตซอฟต์แวร์อาจรวมถึงการวางแผนขั้นสูงจำนวนมากการคัดเลือกบุคลากรที่มีคุณภาพสูงและการปรับปรุงอย่างต่อเนื่องเพื่อให้แน่ใจว่าโครงการยังคงทำงานและมุ่งเน้น


