1. LA CRISIS DEL SOFTWARE
La crisis del software se refiere a un conjunto de problemas encontrados en el
desarrollo del software de computadoras. Los problemas no están limitados al
software que “no funciona adecuadamente”. Sino que la crisis del software abarca los
problemas asociados con cómo desarrollar el software, cómo mantener un volumen
creciente de software existente y cómo podemos esperar satisfacer la demanda
creciente de software. Aunque la referencia a una “crisis del software” puede ser
criticada por ser algo melodramático, la frase sirve como un propósito útil para
alumbrar los problemas reales encontrados en todas las áreas de desarrollo del
software.
Problemas
La crisis del software se caracteriza por muchos problemas, pero los responsables del
desarrollo del software se concentran sobre los aspectos de “fondo”: (1) la
planificación y estimación de coste es frecuentemente muy imprecisa; (2) la
“productividad” de la gente del software no se corresponde con la demanda de sus
servicios, y (3) la calidad del software no llega a ser a veces ni adecuada. Se ha sufrido
el sobrepasar los costes en un orden de magnitud. Se ha errado en la planificación en
meses o años. Se ha hecho muy poco para mejorar la productividad de los
trabajadores en software. Los errores en los nuevos programas producen en los
clientes insatisfacción y falta de confianza. Tales problemas son sólo las
manifestaciones más visibles de otras dificultades del software:
• No tenemos tiempo de recoger datos sobre el proceso de desarrollo del software.
Sin datos históricos como guía, la estimación no ha sido buena y los resultados
predichos muy pobres. Sin una indicación sólida de productividad, no podemos
evaluar con precisión la eficacia de las nuevas herramientas, técnicas o estándares.
• La insatisfacción del cliente con el sistema “terminado” se produce demasiado
frecuentemente. Los proyectos de desarrollo del software se acometen
frecuentemente con sólo una vaga indicación de los requerimientos del cliente.
Normalmente la comunicación entre el cliente y el que desarrolla el software es muy
escasa.
• La calidad del software es normalmente cuestionable. Hemos empezado a
comprender recientemente la importancia de la prueba sistemática y técnicamente
completa del software. Están comenzando a emerger conceptos cuantitativos sólidos
sobre la fiabilidad del software y garantías de calidad [IAN84].
• El software existente puede ser muy difícil de mantener. La tarea de mantenimiento
del software se lleva la mayor parte de todos los dólares invertidos en software. El
mantenimiento no se ha considerado un criterio importante en la aceptación del
software