Кризис программного обеспечения - это Термин, использовавшийся на заре информатики для обозначения трудности написания полезных и эффективных компьютерных программ за необходимое время. Кризис программного обеспечения был вызван быстрым увеличением мощности компьютеров и сложностью проблем, которые теперь можно было решать. С увеличением сложности программного обеспечения возникло множество программных проблем, поскольку существующие методы были неадекватными.
Термин «программный кризис» был придуман некоторыми участниками первой конференции по разработке программного обеспечения НАТО в 1968 году в Гармиш, Германия. Эдсгер Дейкстра 1972 года Премия Тьюринга ACM В лекции упоминается та же проблема:
Основная причина кризиса программного обеспечения в том, что машины стали на несколько порядков мощнее! Проще говоря: пока не было машин, программирование не было проблемой; когда у нас было несколько слабых компьютеров, программирование превратилось в небольшую проблему, а теперь у нас есть гигантские компьютеры, программирование стало столь же гигантской проблемой.
— Эдсгер Дейкстра, Скромный программист (EWD340), Коммуникации ACMПричины кризиса программного обеспечения были связаны с общей сложностью аппаратного обеспечения и процесса разработки программного обеспечения. Кризис проявился по-разному:
Основная причина в том, что улучшения в вычислительной мощности опередили возможности программистов эффективно использовать эти возможности. За последние несколько десятилетий были разработаны различные процессы и методологии для улучшения управления качеством программного обеспечения, такие как процедурное программирование и объектно-ориентированное программирование. Однако программные проекты, которые являются большими, сложными, плохо определенными и включают незнакомые аспекты, по-прежнему уязвимы для крупных, непредвиденных проблем.