Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estándares Principales de Calidad en Software, image, image, image, image,…
Estándares Principales de Calidad en Software
¿Qué son los estándares de calidad en el software?
Conjunto de requisitos, directrices y mejores prácticas que establecen criterios para asegurar que el software cumpla con objetivos de calidad
GQM
Goal-Question-Metric fue desarrollado por Victor Basili en la Universidad de Maryland en los años 80.
Establecer un vínculo claro entre los objetivos de negocio o de proyecto y los datos cuantitativos que se recogen
Principios clave
Contexto es crucial
La interpretación de los datos solo tiene sentido dentro del contexto definido para el objetivo.
Medición con propósito
No se mide por medir; cada métrica existe para responder una pregunta que, a su vez, verifica el cumplimiento de un objetivo.
Enfoque top-down
Se inicia con los objetivos estratégicos y se deriva hacia las métricas específicas.
Marco iterativo y adaptable
Puede aplicarse a diferentes niveles (organizacional, de proyecto, de equipo) y para diversos propósitos.
Tres capas
Nivel 2: Preguntas (Questions)
Un conjunto de preguntas que caracterizan el objetivo desde un punto de vista cuantificable.
Preguntas sobre el proceso: ¿Cómo se realiza la actividad?
Preguntas sobre el producto: ¿Cuáles son las características del resultado?
Preguntas de recursos: ¿Qué recursos se utilizan?
Nivel 3: Métricas (Metrics)
Son los datos específicos y cuantificables que se recogen para responder a cada una de las preguntas.
Objetivo: Mejorar la eficacia (foco) del proceso de pruebas (objeto) para reducir defectos en producción (propósito) desde el punto de vista del gestor de proyecto.
Pregunta: ¿Qué porcentaje de defectos se encuentra durante las pruebas frente a los encontrados por el cliente?
Métrica: Número de defectos encontrados en fase de pruebas; Número de defectos encontrados en producción.
Nivel 1: Objetivo (Goal)
Es la meta u objetivo que se quiere lograr o entender.
Objeto: ¿Qué se está estudiando? (ej., el proceso de revisión de código).
Propósito: ¿Por qué se está estudiando? (ej., para mejorar).
Foco de calidad: ¿Qué aspecto de la calidad interesa? (ej., eficacia, eficiencia, confiabilidad).
Punto de vista: ¿Desde qué perspectiva? (ej., del equipo de desarrollo, del gestor de proyecto).
Contexto: ¿En qué entorno? (ej., en proyectos de desarrollo web en la organización X).
Implementación
Fase de Ejecución
Recoger las métricas definidas de manera consistente.
Validar la calidad de los datos.
Fase de Análisis
Analizar los datos recogidos para responder las preguntas.
Interpretar las respuestas en el contexto del objetivo inicial.
Realizar conclusiones y tomar decisiones basadas en la evidencia.
Fase de Planificación
Identificar los objetivos y el alcance.
Desarrollar el modelo GQM (Objetivos -> Preguntas -> Métricas).
Diseñar los mecanismos de recolección de datos (formularios, herramientas).
Desventajas
Es un proceso lento que consume muchos recursos
Las métricas pueden ser erróneas
Requiere bastante tiempo
Ventajas
Evita la recolección de datos innecesarios
Puede aplicarse en diferentes niveles
Garantiza que las métricas estén vinculadas con el negocio
ISO 15504 SPICE
Significa Software Process Improvement and Capacity Determination
Es un modelo basado en el proceso, que analiza las actividades del proceso que más influyen en la calidad del producto
Características
Aplicación amplia
Es aplicable a diferentes dominios, necesidades y tamaño de la organización.
Independencia
No supone una estructura organizacional, filosofía administrativa, modelo de ciclo de vida, tecnologías de software o método de desarrollo específicos.
Medición
Utiliza criterios objetivos y prefiere criterios cuantitativos.
Salida
La salida se presenta en forma de perfiles comparables (en lugar de un número único o una calificación de pasa/falla).
Evaluación de proceso
Se realiza frente a un conjunto de criterios.
Su objetivo es determinar la capacidad de tales procesos para realizarse dentro de metas de calidad, costo y programación.
Busca caracterizar la práctica actual, identificar fortalezas y debilidades, y la habilidad del proceso para controlar o evitar causas significativas de baja calidad, costo o rendimiento programado
Origen
Surgió ante la necesidad de un método más manejable
Nació en Inglaterra aproximadamente en 1995
Está relacionado con el estándar ISO/IEC 12207
Etapas
Recolección de datos
Análisis de datos
Preparación
Retroalimentación de resultados
Contexto
se aplica a una unidad organizacional con actividad y metas coherentes.
Componentes de medición
Se organiza en diferentes categorías
CUS: Servicios al cliente.
ENG: Desarrollo directamente (Ingeniería).
SUP: Soporte a todos los procesos.
MAN: Administración (gestión) de procesos.
ORG: Procesos de la organización que apoyan.
Calificación y Salida
Asigna valores para el proyecto funcional
P: Parcial
L: Mayoritario
N: No realizado
F: Total
Niveles de capacidad
Se evalúa en 6 niveles
Incompleto.
• 1. Realizado.
• 2. Administrado.
• 3. Establecido.
• 4. Predecible.
• 5. Optimización.
Ventajas
Confiable
Comparable
Objetiva
Consistente
Desventajas
Complejo
Exigente
Costoso
Rigidez
ISO 9000
Es una familia de estándares administrada por el Comité Técnico 176 de ISO
Normas ISO
ISO 9000:2000
Introdujo varios cambios, como un enfoque en procesos, buscando adaptarse a PYMES
Áreas de procesos
Sistema de gestión de calidad.
Responsabilidad de Alta Dirección.
Gestión de recursos.
Realización del producto.
Medición, análisis y mejora.
Esta versión tiene la ventaja de explicar los pasos a seguir
Toma de conciencia y formación-> Análisis de brecha -> Revisión o definición de procesos
Suministrar personal -> Establecer cronograma -> Redactar manual de calidad
Evaluar necesidades y metas de la organización -> Obtener información -> Nombrar consultor
Realizar auditoria -> Solicitar certificación -> Realizar evaluaciones
Características
Enfoque en el cliente: Cumplir y superar los requerimientos del cliente.
Liderazgo: Crear un ambiente adecuado en la organización.
Participación del personal.
Enfoque basado en procesos.
Modelo de proceso: Planear -> Hacer -> Verificar -> Actuar.
Enfoque de sistemas a la gestión.
Mejora continua.
Basado en hechos para la toma de decisiones.
Relaciones mutuamente beneficiosas con proveedores.
ISO/IEC 9003:2004
Guía especifica para el software
Recursos
Asegurar la provisión de recursos de calidad (personal, ambiente, infraestructura)
El personal debe tener la correcta Experiencia, Formación, Entrenamiento y Habilidades
Definir los niveles de competencia y los requerimientos de entrenamiento
Calidad del producto
Calidad del producto
Definir objetivos, requerimientos y riegos.
Verificación y validación, incluyendo revisiones y pruebas
Elegir un modelo de ciclo de vida adecuado.
Administración de la configuración y seguimiento de cambios.
Control de la adquisición de componentes.
Medición y control de la producción del software
Mantener comunicación permanente con el cliente.
Aplicación
Productos en el mercado o de soporte a la organización.
Productos que forman parte de contratos con otras organizaciones.
Software embebido
ISO 9001
La compra de productos debe conformarse con requerimientos.
El material de proveedores debe se verificado, controlado y mantenido.
Deben definirse responsabilidades y autoridad de todos los que participen en monitoreo de calidad
Distribución y modificación de documentos, controladas.
Requiere que la política de calidad sea definida, documentada,
extendida, implementada y mantenida.
Registros de calidad colectados, mantenidos y disponibles.
Conceptos de calidad que aborda
Confianza Interna
La organización debe generar confianza en su propia administración de que la calidad se alcanzará y se sostendrá
Confianza Externa
Proporcionar confianza al comprador de que la calidad propuesta ha sido o será alcanzada. Si se requiere por contrato, debe haber demostración
Satisfacción del Comprador
Una organización debe alcanzar y sostener la calidad de un producto o servicio para satisfacer continuamente las necesidades explícitas e implícitas del comprador
Ventajas
Usado por mas de 80 países.
Aplica a cualquier tipo de organización
Reconocimiento internacional
Mayor disponibilidad de consultores, certificadores y formación
Desventajas
Complicado
Requiere muchos recursos
Costoso
Necesita un nivel de madurez avanzado
CMMI
Marco (framework) creado para integrar varias disciplinas relacionadas
Áreas fundamentales
Gestión de procesos.
Gestión de proyectos.
Soporte.
Ingeniería.
Niveles de capacidad
Administrado
Definido
Realizado
Administrado cuantitativamente
Incompleto
Optimizado
Tipos de modelos
Por niveles
Útil para comparación agregada.
Proporciona un resultado global que puede compararse con otras empresas
El nivel de madurez implica
Darse cuenta
Documentar
Equivocarse
No olvidar
Continuo
Evaluaciones diferenciadas por proceso y comparaciones detalladas.
Permite la migración de EIA/IS 731 (Industria eléctrica)
Áreas de proceso
Conjunto de prácticas relacionadas en un área que, al realizarse, satisfacen un conjunto de metas consideradas importantes para lograr mejoras significativas en el área.
Combina distintas diciplinas
Ingeniería de sistemas: Se enfoca en el desarrollo de sistemas totales, con o sin software, transformando los requerimientos del cliente en un producto que resuelva sus problemas y soporte durante su ciclo de vida.
Ingeniería de software: Se refiere al enfoque sistemático, disciplinado y cuantificable para el desarrollo, operación y mantenimiento de software.
Desarrollo integrado de productos y procesos (IPPD): Consiste en un enfoque sistemático que logra la colaboración oportuna de los principales involucrados a lo largo de la vida del producto. Debe usarse en conjunto con un área de ingeniería.
Control de proveedores: Implica el análisis de fuentes y el monitoreo de proveedores antes de que entreguen los productos, y solo se aplica si la adquisición es crítica.
Administración
Administración de procesos
Incluye Enfoque de procesos organizacionales, Definición de procesos organizacionales, Entrenamiento organizacional, Rendimiento de procesos organizacionales, e Innovación y despliegue organizacionales.
Administración de proyectos
Incluye Planeación, Monitoreo y control, Gestión de riesgo, y Administración cuantitativa del proyecto, entre otras.
Componentes de Cada Área de Proceso
Componentes requeridas
Metas específicas y Metas genéricas (soporte).
Componentes esperadas
Prácticas específicas y Prácticas genéricas.
Ventajas
Eficiencia
Escalabilidad
Predictibilidad
Permite errores
Documenta procesos
Desventajas.
Sobrecarga
Burocracia
Lentitud
Requiere de mucho tiempo para aprender
PSP
Significa Personal Software Process, fue desarrollado por Watts S. Humphrey en el Software Engineering Institute (SEI) a mediados de los años 90.
Proporcionar a los ingenieros de software las habilidades y técnicas necesarias para planificar, medir y analizar su trabajo personal
Estructura
PSP nivel 1
Introducir la planificación de tamaño y recursos.
Estimación de tamaño: Usar datos históricos propios para estimar el tamaño del programa.
Planificación de tiempo: Usar la PROBE (Proxy Based Estimating) para estimar el tiempo requerido.
Planificación de tareas: Crear un plan de tareas basado en las estimaciones.
PSP nivel 2
Mejorar la calidad mediante el análisis de defectos.
Análisis de causalidad de defectos: Clasificar los defectos por su tipo y origen para entender sus causas raíz.
Estrategias de prevención de defectos: Implementar técnicas para evitar que los defectos comunes vuelvan a ocurrir.
PSP nivel 0
Establece una línea base del trabajo actual del ingeniero.
Seguir un proceso definido de desarrollo.
Registrar el tiempo dedicado a cada fase (diseño, codificación, compilación, prueba).
Registrar los defectos encontrados y el tiempo para corregirlos.
Registrar el tamaño del producto (por ejemplo, líneas de código).
PSP nivel 3
Ciclo de desarrollo personal que integra todas las prácticas anteriores de manera cíclica e iterativa.
Desarrollo en múltiples ciclos.
Diseño y revisión de componentes antes de su implementación.
Uso de métodos de diseño más formales.
Filosofía
Mejora basada en datos
Autodisciplina y planificación
Enfoque en el individuo
Prevención de defectos
Herramientas
Scripts de Proceso
Aseguran que el ingeniero siga el proceso de manera consistente y recolecte los datos correctos.
Son guías paso a paso que definen qué hacer en cada nivel de PSP.
Método PROBE
Utiliza proxies (como clases, métodos o componentes) y datos históricos personales para generar estimaciones más precisas.
Técnica para estimar el tamaño y el esfuerzo de un proyecto.
Registros y Formularios
Registro de Tiempo: Para medir el tiempo invertido en cada fase del proceso.
Registro de Defectos: Para anotar cada defecto encontrado, cuándo se introdujo, cuándo se eliminó y su tipo.
Registro de Tamaño: Para medir el tamaño del producto (ej., Líneas de Código).
Ventajas
Permite hacer estimaciones de tiempo y esfuerzo
Da control al ingeniero sobre su propio trabajo
Reduce la densidad de defectos
Desventajas
Necesita entrenamiento formal
No resuelve problemas de organizacionales
Requiere disciplina
Moprosoft
Norma Mexicana que surgió como parte del Programa para el Desarrollo de la Industria de Software en 2002
Fue diseñado específicamente para el contexto mexicano, donde el 90% de las empresas desarrolladoras son micro y pequeña industria.
Basado en
NYSE NMX-I-059/02: Requisitos de procesos.
NYSE NMX-I-059/03: Guía de implantación de procesos.
NYSE NMX-I-059/01: Definición de conceptos y productos.
NYSE NMX-I-059/04 (EvalProsoft): Estándar para la evaluación de procesos.
Características
Específico para el desarrollo y mantenimiento de softwa1re.
Fácil de entender (comprensible).
Práctico y fácil de aplicar, sobre todo en organizaciones pequeñas.
Orientado a mejorar los procesos para contribuir a los objetivos del negocio (no solo como un marco de referencia de certificación).
Definido como un conjunto de procesos.
Aplicable como norma mexicana y debe tener un mecanismo de evaluación o certificación (EvalProsoft).
Estructura
Procesos de operación
Administración de Proyectos Específicos
Establecer y llevar a cabo sistemáticamente las actividades que permitan cumplir con los objetivos de un proyecto en tiempo y costo esperados
Desarrollo y Mantenimiento de Software
La realización sistemática de las actividades de análisis, diseño, construcción, integración y pruebas de productos de software
Estructura de Desarrollo
Ciclos de Desarrollo
Fases de un Ciclo (Inicio, Requerimientos, Análisis y Diseño, Construcción, Integración y Pruebas, Cierre)
Actividades de una Fase (Producción/Corrección, Verificación, Validación/Aceptación, Incorporación Bajo Control de Configuración, Registro de Mediciones)
Categorías de procesos
Gestión de Negocio
Gestión de Procesos
Gestión de Proyectos
Gestión de Recursos
Patrón de Procesos
Prácticas
Guías de Ajuste
Definición general de proceso
Implantación
Las organizaciones deben establecer la estrategia de implantación de los procesos definidos.
Si ya hay procesos establecidos, la organización debe establecer la correspondencia entre estos y el modelo MoProsoft, y planear las actividades de ajuste para lograr la cobertura completa.
Los ajustes incluyen: definir metas cuantitativas, revisar roles y productos, definir estándares de documentación y adecuar mediciones.
Evaluación
N (No se cumple): 0 a 15%
A (Se cumple Ampliamente): más de 50 hasta 85%
P (Se cumple Parcialmente): más de 15 y hasta 50%
C (Se cumple Completamente): más del 85%
Desventajas
Poco reconocimiento
Local
Limitado
Ventajas
Adaptable
Economico
Adaptado al contexto nacional
TSP
significa Team Software Proces Fue desarrollado por Watts S. Humphrey en el Software Engineering Institute (SEI) a finales de los años 90, como la evolución natural del PSP.
Crear equipos auto-dirigidos capaces de planificar y ejecutar proyectos de software con alta productividad y calidad
Filosofía
Ciclo de vida iterativo
Mejora basada en datos
Equipos auto-dirigidos
Enfoque en la calidad
Componentes
Roles de equipo
Líder del Equipo: Coordina las actividades y actúa como enlace con la gerencia.
Administrador de Planificación: Responsable del plan del proyecto y del seguimiento del progreso.
Administrador de Calidad: Vela por el cumplimiento de los procesos de calidad y analiza los datos de defectos.
Administrador de Procesos: Asegura que el equipo siga el proceso definido y sugiere mejoras.
Administrador de Soporte: Gestiona las herramientas, entornos y configuraciones.
Estrategias de calidad
Objetivos de Calidad
Revisiones de Diseño y Código
Análisis de Causa Raíz
Medición y seguimiento
Sistema de Registro
Reportes Semanales
Plan de Medición
Estructura
Ciclos de desarrollo
Ejecución
Los miembros del equipo trabajan en sus tareas asignadas, aplicando las prácticas de PSP a nivel individual.
Seguimiento Semanal
El equipo se reúne para revisar el progreso, actualizar el plan y resolver problemas.
Planificación del Ciclo
Al inicio de cada ciclo, el equipo se reúne para planificar las tareas específicas.
Cierre del Ciclo (Postmortem)
Al finalizar cada ciclo, el equipo analiza lo sucedido, recopila datos y identifica lecciones aprendidas para mejorar el siguiente ciclo.
Fase de inicio (launch)
Es un taller guiado por un coach certificado que generalmente dura de 2 a 4 días
Desarrollo del Plan
Análisis de Riesgos
Definición de Roles
Preparación del Plan de Calidad
Establecimiento de Objetivos
Desventajas
El exito depende de que cada miembro trabaje con PSP
Es complejo por su gran cantidad de roles, reuniones y registros
Requiere entrenamiento tanto en PSP como en TSP
Ventajas
Mejora la moral del equipo
Proporciona una mejor visión del avance del proyecto
Suele cumplir con los compromisos a tiempo