Ir al contenido principal

Estándares, normas y métricas de calidad para proyectos de software




Introducción

Los estándares de calidad de software hacen parte de la ingeniería de software, utilización de estándares y metodologías para el diseño, programación, prueba y análisis del software desarrollado, con el objetivo de ofrecer una mayor confiabilidad, compactibilidad en concordancia con los requisitos exigidos, con esto se eleva la productividad y el control en la calidad de software, parte de la gestión de la calidad se establecen a mejorar su eficacia y eficiencia.
En un escenario en el que los sistemas de software se desarrollan y construyen por terceros proveedores, el contratante del servicio, como primer receptor del mismo, en muchos casos debe confiar en el buen hacer del proveedor seleccionado, especialmente si nos dispone de los medios apropiados para auditar la entrega y en su caso argumentar defectos en el proceso de desarrollo.
En general, una vez validado que el sistema responde a los principales requisitos funcionales especificados, el usuario realizará las pruebas de aceptación, corrigiendo los errores encontrados y tas pasándose al fin del entorno de producción. Sin embargo, en muy pocas ocasiones se validan de manera rigurosa los requisitos funcionales y los no funcionales, o se ejecutan validaciones que aseguren que el sistema es lo suficientemente robusto y estable como para pasar a un entorno productivo con las garantías adecuadas.
NORMAS ISO/IEC
Estándar para los procesos de ciclo de vida del software de la organización, Este estándar se concibió para aquellos interesados en adquisición de software, así como desarrolladores y proveedores. El estándar indica una serie de procesos desde la recopilación de requisitos hasta la culminación del software.
El estándar comprende 17 procesos lo cuales son agrupados en tres categorías: 
  1. Principales
  2. De apoyo
  3. De organización
Este estándar agrupa las actividades que se pueden llevar a cabo durante el ciclo de vida del software en cinco procesos principales, ocho procesos de apoyo y cuatro procesos organizativos.
NORMA ISO/IEC 9126
La norma ISO/IEC 9126 de 1991, es la norma para evaluar los productos de software, esta norma nos indica las características de la calidad y los lineamientos para su uso, las características de calidad y sus métricas asociadas, pueden ser útiles tanto como para evaluar el producto como para definir los requerimientos de la calidad y otros usos. Esta norma definida por un marco conceptual basado en los factores tales como Calidad del Proceso, Calidad del Producto del Software y Calidad en Uso; según el marco conceptual, la calidad del producto, a su vez, contribuye a mejorar la calidad en uso. El estándar ISO/IEC 14598 define el proceso para evaluar un producto de
software, el mismo consta de seis partes
ISO/IEC 14598-1 Visión General: Provee una visión general de las otras cinco partes y explica la relación entre la evaluación del producto software y el modelo de calidad definido en la ISO/IEC 9126. 
ISO/IEC 14598-2 Planeamiento y Gestión: Contiene requisitos y guías para las funciones de soporte tales como la planificación y gestión de la evaluación del producto del software.
ISO/IEC 14598-3 Proceso para desenvolvedores: Provee los requisitos y guías para la evaluación del producto software cuando la evaluación es llevada a cabo en paralelo con el desarrollo por parte del desarrollador.
ISO/IEC 14598-4 Proceso para adquirentes: Provee los requisitos y guías para que la evaluación del producto software sea llevada a cabo en función a los compradores que planean adquirir o reutilizar un producto de software existente o pre-desarrollado.
ISO/IEC 14598-5 Proceso para avaladores: Provee los requisitos y guías para la evaluación del producto software cuando la evaluación es llevada a cabo por evaluadores independientes.
ISO/IEC 14598-6 Documentación de Módulos: Provee las guías para la documentación del módulo de evaluación.

SPICE
Es un estándar importante iniciativa internacional para apoyar el desarrollo de una Norma Internacional para la Evaluación de Procesos de Software. El proyecto tiene tres objetivos principales: Para desarrollar un proyecto de trabajo para un estándar para la evaluación de procesos de software. Para llevar a cabo los ensayos de la industria de la norma emergente. Para promover la transferencia de tecnología de la evaluación de procesos de software en la industria mundial del software a nivel mundial. 
El estándar SPICE creciente en número de métodos de evaluación disponibles, y la creciente utilización de la técnica comercial en áreas sensibles, fueron los factores clave que impulsaron el desarrollo y la aceptación de una propuesta para desarrollar un estándar internacional para la evaluación de procesos de software.
CMMI
Es un modelo de mejora de los procesos de construcción de software que provee los elementos necesarios para determinar su efectividad. Este modelo puede ser utilizado como guía para mejorar las actividades de un proyecto, área u organización, ya que proporciona un marco de referencia para evaluar la efectividad de los procesos actuales, facilitando con ello la definición de actividades, prioridades y metas para garantizar la mejora continua. Es el estándar más conocido para la mejora de procesos en mejora de procesos para el desarrollo de proyectos, gestión de proveedores y gestión de servicio.
El CMMI establece cinco niveles de madurez los cuales son: Nivel 0: Incompleto El proceso no se realiza, o no se consiguen los objetivos.
Nivel 1 Inicial o ejecutando: Este es el nivel en donde todas las empresas que no tienen procesos, es donde el proceso se ejecuta y se logra su objetivo, así sea fuera de presupuesto y de cronograma.
Nivel 2 Repetible: Se da cuando el éxito de los resultados obtenidos se puede repetir.
Nivel 3 Definido: Significa que la forma de desarrollar proyectos está definida, establecida, documentada y que existen métricas.
Nivel 4 Administrado: Los proyectos usan objetivos medibles y cuantificables para alcanzar cubrir las necesidades de los clientes y la organización. Es decir, se usan métricas para gestionar la organización.
Nivel 5 Optimizado: Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades, que mediante métricas son identificadas, evaluadas y puestas en práctica.
Cuadro comparativo
Estándares y Normas
Organismo que regula
Aplicable a
CMMI
(SEI) Software Engineering Institute
Mejora de procesos de construcción de software y proyectos de TI.
PSP
ISO
Permite estimar cuánto se tarda un individuo en realizar una aplicación de software
PSP-TSP
ISO
Predice el tiempo y tamaño del software Administración de calidad
ISO 25000
ISO
Establecen un modelo de calidad para el producto del software, además de definir la evaluación de la calidad del producto.
IEEE
IEEE
Serie de documentación para el desarrollo de software y proyectos de TI
TSP
Team Software Process
Es un método de establecimiento y mejora del trabajo en equipo para procesos de software
SPICE
Programa de simulación con énfasis en circuitos integrados
Es una importante iniciativa internacional para apoyar el desarrollo de una Norma Internacional para la Evaluación de procesos del software
MOPROSOFT
ISO
Norma mexicana, basada en procesos para las industrias de software, la cual sirve para estandarizar operaciones y prácticas en gestión de ingeniería de software

MÉTRICAS DE CALIDAD DE SOFTWARE
La calidad es un concepto relativo y multidimensional, referido a las expectativas y cualidades solicitados por el cliente, a su vez, está ligada a restricciones y compromisos (presupuesto y tiempo de desarrollo, entre otros). Sin embargo, existe algo que nadie puede negar, cuando algo es de calidad suele pasar desapercibido, pero, por el contrario, la mala calidad es algo que destaca negativamente.
Beneficios y ejemplos del uso de métricas de calidad de software
La mala calidad de la información y de software impacta negativamente en el negocio a diferentes niveles:
· Disminuye ingresos y aumenta el gasto.
· Incrementa el riesgo.
· Provoca una reducción de la confianza, tanto dentro como fuera de la organización.
Un enfoque proactivo tanto del gobierno de la información como de la data quality permite la identificación temprana de errores o defectos que pueden ser corregidos a tiempo, eliminando de raíz problemas mayores. Los efectos positivos empiezan a notarse y sus beneficios aumentan en un ciclo de mejora continúa propiciado por el control de las métricas de calidad de software.
Esta monitorización facilita el evaluar:
* La calidad del producto.
* El rendimiento del equipo de desarrollo.
* La justificación del uso de nuevas herramientas o soluciones.
Los resultados obtenidos a partir de la incorporación del software a los procesos y operaciones.
Sin embargo, a la hora de centrarse en la solución en sí, existen algunas métricas de calidad de software imprescindibles, como las que tienen que ver con los cinco siguientes criterios:
A/ Métricas de exactitud: intentan aportar información sobre la validez y precisión del software y su estructura, incluyendo la etapa de despliegue, pero también la de pruebas y la función de mantenimiento.
B/ Métricas de rendimiento: a través de ellas se consigue medir el desempeño del software, tanto de cada uno de sus módulos, como del sistema al completo.
C/ Métricas de usabilidad: hay que descartar la complejidad y buscar una solución intuitiva y user-friendly. este tipo de métricas de calidad de software ayudan a determinar si la solución cumple con dichos requisitos.
D/ Métricas de configuración: las limitaciones, el estilo de código y todos los datos relativos al desarrollo y cualidades del producto se verán evaluados en base a estas métricas.
E/ Métricas de eficiencia: minimización de latencias, velocidad de respuesta, capacidad, es un enfoque similar al de la productividad, pero con un matiz un poco distinto, que, añadido a aquél, aporta una visión mucho más completa de la solución.










Comentarios