Gestión de la calidad del software
La Gestión de Calidad de Software, surge como un servicio especializado que se une a los objetivos empresariales ante la constante innovación tecnológica que genera crecientes necesidades y exige valor agregado hacia los clientes. Se trata de un concepto renovador, cambiando los viejos esquemas de pruebas sobre gran cantidad de fallos detectados en el proceso productivo, hacia la corrección anticipada a la implementación de una solución tecnológica parcial o total.Elaborar un producto de calidad implica que el producto desarrollado debe guardar similitudes con su especificación de un software y su implementación, y en muchos casos no se sabe especificar características de calidad. Por otro lado, la ingeniería de requerimientos presenta limitaciones en la redacción de especificaciones concreta de software: la competencia, calidad, desempeño y la complejidad del software.
Aseguramiento de la calidad del software
Hay diferentes puntos de vista para definir calidad de software. Desde el punto de vista del cumplimiento de los requerimientos Roger Pressman define la calidad de software como: “El cumplimiento de los requerimientos funcionales y de performance explícitamente definidos, de los estándares de desarrollo explícitamente documentados y de las características implícitas esperadas del desarrollo de software profesional.”. Mas allá de cómo definamos la calidad del software, para que la definición tenga sentido esta debe ser medible. Para poder controlar la calidad del software es necesario, ante todo, definir los parámetros, indicadores o criterios de medición, ya que, como bien plantea Tom De Marco, "no se puede controlar lo que no se puede medir".
Software de gestión de configuración y elementos de procesamiento
Uno de los aspectos fundamentales del software con respecto a otro tipo de productos de ingeniería es que es sabido que el software está en continuo cambio bien sea para evolucionar su funcionalidad o para reparar un determinado defecto, entre otros posibles escenarios de cambio. La gestión de configuración del software mediante la identificación y control de cambios permite garantizar la correcta ejecución del cambio e informar del cambio a los afectados. El proceso de Gestión de la Configuración tiene lugar durante toda la vida del proyecto y por ello se divide en una serie de fases las cuales estan asociadas a las distitnas partes o fases del proyecto.
- Gestión del Código Fuente: Se analiza la estructura del código fuente del proyecto, los roles, la plataforma donde es alojado el código, etc...
- Gestión de la construcción: Se indica las herramientas utilizadas para la construcción del proyecto, cómo se utilizan, etc..
- Gestión de los Entregables: Qué entregables se contemplan en el proyecto y cómo se realiza su entrega. Estos son el propio código fuente, liberado como entregable con cada nueva versión, y la documentación que no sigue una política establecida más allá de su dependencia con el código fuente.
- Gestión del Despliegue: Como se realiza el despliegue, que herramientas se utiliza, cuando se realiza.
- Gestión de Incidencias y Depuración: Se explica el proceso de reporte de incidencias y cómo se realiza la depuración.
- Integración y Despliegue Continuos: A modo de facilitar las tareas de pruebas se recurre a herramientas de integración y despliegue continuo. Estas herramientas nos proporciona mecanismo para recopilar los distintos proyectos involucrados, dependencias, incorporar los cambios realizados, etc. Una vez reunido se construye el proyecto y ejecutan las pruebas incorporadas, si pasa las pruebas se puede publicar de manera automática o desplegar directamente en un servidor.
- Las Pruebas: Se describen los tipos de pruebas que se realizan en el proyecto y el procedimiento para ejecutarlas.
- Mapa de Herramientas: Se describen las herramientas necesarias para trabajar con el proyecto en las diferentes actividades de la Gestión de la Configuración, y la relación que tienen entre ellas.