أزمة البرمجيات مصطلح ظهر مع بدايات هندسة البرمجيات لوصف صعوبة إنتاج برامج صحيحة وموثوقة وقابلة للصيانة في الوقت والكلفة المحددين. تعود الأزمة إلى طبيعة البرمجيات غير الملموسة وتعقيدها وتغير متطلباتها وصعوبة قياسها والتحقق منها. قادت هذه المشكلة إلى ظهور مناهج هندسة البرمجيات وإدارة المشاريع والاختبار والتوثيق والنمذجة. تمثل أزمة البرمجيات لحظة وعي بأن البرمجة ليست كتابة شيفرة فقط، بل صناعة منظمة تحتاج إلى منهج.