Resposta curta
Eu acho que foi a agitação dos projetos de software anteriores aos dias de OO. OO ajudou adicionando o conceito fundamentalmente crítico - Modele o mundo real .
A primeira linguagem de programação orientada a objetos foi a Simula em 1967. No entanto, naquela época, o desenvolvimento de software em geral ainda estava nos laboratórios e a maioria dos paradigmas ainda estava mais próxima do caso do hardware .
Ao longo de mais de uma década, o desenvolvimento de software para aplicativos corporativos cresceu e o desenvolvimento de software em geral aumentou durante toda a década de 1970. Os idiomas que ainda hoje sobrevivem a essa idade (antes de 1980) eram C, Cobol, Fortran e similares. A maioria desses idiomas é procedural. O Lisp também existia desde aquele dia - no entanto, não tenho certeza se essa era uma linguagem de propósito geral proeminente para o desenvolvimento comercial. O famoso termo modelo de cachoeira também foi cunhado no início dos anos 70.
Na maioria dos ambientes comerciais, o elemento mais importante emergente no desenvolvimento de software foi o gerenciamento de projetos. Havia uma necessidade extrema de orçamentos apertados e pelo menos previsíveis e requisitos de gerenciamento congelados para garantir que o projeto chegasse à linha de chegada de maneira respeitável. Durante esse período, foi também um dos meses míticos em 1975.
Acho que no final dos anos 70 as pessoas estavam esgotadas - pois as linguagens processuais não cumpriam essas promessas. E um novo paradigma Orientado a objetos, que existia desde então, tornou-o grande. Embora as pessoas possam discordar, acho que o C ++, que ajuda a familiaridade e experiência comprovada, e o C, e a Promessa de Orientação a Objetos (originalmente com o nome C com Classes) em 1983 foram a pedra angular do sucesso da programação orientada a objetos.
Algumas referências para mais perspectivas - http://journal.thedacs.com/issue/43/88
Então, por que OO?
Eu acho que naqueles dias (se você olhar para o ponto de vista do sucesso do projeto) - fazia sentido que o que você pudesse entender melhor fosse melhor administrável. A metodologia orientada a objetos com a promessa "... tudo na vida é um objeto" parecia mais senso comum antes mesmo de ter provado ser significativo. O sucesso prático desse fator foi a própria noção de modelar suficientemente o mundo real e o problema em questão antes de pular a arma - o que acho algo fundamentalmente novo que o OO ofereceu que nenhum outro paradigma ofereceu até aquela data. E, definitivamente, dado que esse paradigma o forçou a pensar um pouco antes de codificar mais do que linguagens procedurais, ele mostrou um sucesso visível nos projetos de software que empregaram e, desde então, eles se deram bem!
EDIT
Eu também acrescentaria que as linguagens de programação evoluíram simultaneamente em paralelo a esses conceitos fundamentais (paradigma OO, Aspect, máquinas virtuais). Cada novo conceito e pensamento renovado surgiram apenas quando uma nova linguagem de programação o dominou - mantenha apenas a familiaridade, mas mude os fundamentos de testemunho! Ao mesmo tempo - esse novo conceito e novas linguagens só surgiram por causa de novos problemas de negócios. 1980 - OO para software de grande escala, 1990 Java na era da Internet, PHP / ASP e muitos outros para web. A inovação em linguagens de programação também foi impulsionada principalmente pela necessidade descontínua do mercado.
Em resumo, o início dos anos 80 foi a época em que o software comercial em larga escala decolou - enquanto projetos com linguagens procedurais tinham problemas, o OO mostrava a melhor luz e tornava os projetos mais bem-sucedidos.