-
Orígenes
El término ingeniería del software apareció por primera vez en la década de 1950. Los programadores siempre habían sabido sobre ingenieros civiles, eléctricos y de computadores y debatían qué podría significar la ingeniería para el software. -
Period: to
La crisis del software
Muchos proyectos de software sobrepasaron el presupuesto y el tiempo estimados. Algunos proyectos causaron daños a la propiedad otros proyectos causaron pérdidas de vidas.4 La crisis del software originalmente fue definida en términos de productividad, pero evolucionó para enfatizar la calidad. Algunos utilizan el término de crisis del software para referirse a su incapacidad de contratar programadores suficientemente calificados. -
Period: to
No hay balas de plata
Durante décadas, solucionar la crisis del software fue de suprema importancia para investigadores y empresas productoras de herramientas de software. El costo de propiedad y mantenimiento del software en la década de 1980 fue dos veces más caro que el propio desarrollo del software. Durante la década de 1990, el costo de propiedad y mantenimiento aumentó en un 30% con respecto a la década anterior. -
Period: to
Prominencia de internet
El auge de la Internet condujo a un rápido crecimiento en la demanda de sistemas internacionales de despliegue de información y correo electrónico en la World Wide Web. Los programadores debían manejar ilustraciones, mapas, fotografías y otras imágenes, más animación sencilla, a un ritmo nunca antes visto, con pocos métodos conocidos para optimizar la visualización/almacenamiento de imágenes. -
Period: to
Metodologías ligeras
Necesidad de soluciones de software de bajo costo llevó al crecimiento de metodologías simples y rápidas que desarrollaran software funcional, de los requisitos de implementación, rápidos y fáciles. El uso de prototipos rápidos evolucionó a metodologías ligeras completas como la programación extrema, que intentó simplificar muchas de las áreas de la IS, incluyendo la recopilación de requerimientos y las pruebas de confiabilidad para el creciente y gran número de pequeños sistemas de software.