La calidad del software se ha mejorado significativamente en los últimos años. Una de las razones ha sido que las compañías han adoptado nuevas técnicas y tecnologías como el uso de desarrollo orientado a objetos y el soporte asociado de herramientas CASE. No obstante, también ha habido una mayor conciencia de la importancia de la gestión de la calidad y de la adopción de técnicas de la calidad para desarrollo en la industria del software.
Sin embargo la calidad del software es un conjunto complejo que no es directamente comparable con la calidad de la manufactura de productos. En la manufacturación, la calidad viene dada por la similitud entre el producto desarrollado y su especificación.
En un mundo ideal, esta definición debería aplicarse a todos los productos, pero, para sistemas de software, existen estos problemas:
- La especificación se orienta hacia las características del producto que el consumidor quiere. Sin embargo, la organización desarrolladora también tiene requerimientos que no se incluyen en la especificación.
- No se sabe cómo especificar ciertas características de calidad de una forma no ambigua.
- Como se indico es muy difícil redactar especificaciones concretas de software. Por lo tanto, aunque un producto se ajuste a su especificación, los usuarios no lo consideran un producto de alta calidad debido a que no responde a sus expectativas.
Se deben reconocer estos problemas con la especificación del software y se tienen que diseñar procedimientos de calidad que no se basen en una especificación perfecta.