Aseguramiento de la calidad y pruebas de software
2- Estándares y Modelos para la mejora del proceso de software
Blanca A. Vargas Govea – [email protected] – Febrero 8, 2013
Objetivo
Conocer los diferentes estándares y modelos de referencia para la mejora de procesos de
software
SQA (Software Quality Assurance)
3
SQA tiene su propio ciclo de vida y cubre todas
las facetas de un proyecto se software
Ciclo de vida de la administración de proyectos (PMLC) Inicio Planeación Ejecución Monitoreo y
control
Cierre Procesos de aseguramiento de la calidad de software (SQA)
Análisis Diseño Desarrollo Implementación Pruebas Ciclo de vida de desarrollo de software (SLDC)
5
Inicio del
proyecto Planeación Análisis Codificación Pruebas Cierre del proyecto Diseño
Inicio SQA
Planeación SQA
Aseguramie nto Req
Aseguramie nto Desarrollo
Aseguram iento Pruebas
Cierre SQA Aseguram
iento Diseño
Ciclo de vida de administración de proyectos y desarrollo de software
Ciclo de vida de aseguramiento de la calidad (SQA)
Proceso de software
Puede definirse como un conjunto de actividades,
métodos y prácticas que la gente usa para desarrollar y mantener software y los productos asociados (e.g.,
planes, documentación del diseño, código, casos de prueba, manuales de usuario).
Capability Maturity Model SM for Software, Version 1.1
Estándares y modelos de referencia
7
CMMI TSP
PSP
ISO 15504/SPICE Six Sigma
MoProSoft
Cada organización puede adoptar un modelo para trabajar conforme a él o bien adoptar guías propias
Estándares y modelos de referencia
CMMI
GP 1.1 Identify Work ScopeIdentify the scope of the work to be performed and work products or services to be produced, and
communicate this information to those performing the work.
The purpose of this practice is to ensure that the people doing the work have a common understanding of the work to be performed and work products to be produced.
Ejemplo de una práctica genérica (Nivel 1)
CMMI SM for Systems Engineering/Software Engineering, Version 1.02 (CMMI-SE/SW, V1.02)
Evaluadas
9 https://sas.cmmiinstitute.com/pars/pars.aspx
Aunque es común escuchar los términos “certificación”
y “acreditación”, para CMMI no existen. Las organizaciones son
evaluadas por un evaluador autorizado por SEI
(Software Engineering Institute)
http://www.sei.cmu.edu/
http://everac99.wordpress.com/2010/10/20/cmmi-certified-companies-in- mexico-and-the-world/
Team Software Process / Personal Software Process
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm http://www.sei.cmu.edu/tsp/
11
PSP
CMMI se enfoca en “qué”
se debe hacer y no
“cómo”.
PSP guía a los ingenieros a mejorar su calidad y
productividad en los procesos en los que participan.
Define 4 niveles de
madurez e identifica los pasos para alcanzar el siguiente.
1. PSP0 – Medición personal-
2. PSP1 – Planeación personal
3. PSP2 – Calidad personal
4. PSP3 – Proceso cíclico
13
PSP
Recolección de tamaño, tiempo y datos
Cómo estimar el trabajo en una forma consistente y explicable
Cómo usar las propias medidas para mejorar la estimación
Cómo mejorar de forma contínua la calidad del trabajo
http://www.sei.cmu.edu/reports/00tr022.pdf Si ahora agrego 10 contactos por minuto, ¿cómo
hacer para mejorar?
15
PSP - Niveles
17
PSP0
Cómo medir el tiempo de desarrollo y los defectos que han introducido y eliminado.
Se introduce el uso de estándares de código, medidas y una forma de proponer mejoras al proceso personal.
PSP1,
Se aprenden técnicas para estimar el tamaño y tiempo de desarrollo con base en los datos recolectados en PSP0.
Se aprende a planear tareas y horarios.
PSP - Niveles
PSP2 - Adminstración de defectos. Se usan los datos de las etapas anteriores para construir listas e identificar los defectos que más se generan.
PSP3 – Proceso cíclico.
Constante monitoreo de errores introducidos y eliminados y constante revisión de la lista de
defectos llevará a mejoras en la calidad personal.
TSP (Team Software Process)
19
TSP usa las habilidades de PSP.
Team Software Process (TSP) extiende y refina CMM y PSP para guiar a los ingenieros en el
desarrollo y
mantenimiento de equipos de trabajo (20p)
Enseña cómo construir un equipo auto-dirigido
efectivo, cómo guiarlos y administrarlos
21
SPICE (Software Process Improvement and Capability Determination)
SPICE
23
Surgimiento de diversas metodologías de
evaluación originó la no- estandarización
Iniciativa de ISO
International Organization for Standardization y de IEC International
Electrotechnical Commission 1993
Armonizar las
metodologías existentes en un modelo
comprensivo
SPICE: meta
Construir un estándar internacional para
evaluación del proceso de software cubriendo el
desarrollo, adquisición,
administración, soporte al cliente y calidad, también preocupaciones del cliente y transferencia de
tecnología.
Se basa en el
conocimiento adquirido de otras metodologías.
Estructura
25
6 niveles de competencia
Existe gran conformidad con el modelo CMM
Partes del estándar
¿y en relación a CMMI?
27
ISO/IEC 15504 no ha sido tan exitoso como CMMI.
ISO/IEC 15504 no está disponible de forma gratuita. CMM yCMMI
están disponibles del sitio de SEI.
CMMI es patrocinado por el Departamento de
Defensa de Estados Unidos.
CMM surgió primero.
Six Sigma
29
Filosofía de administración
Enfocada en el cliente
Orientada a metas
Escuchar la voz del cliente y convertir sus
necesidades en
requerimientos medibles
Six Sigma
Six Sigma proceso que ayuda al desarrollo y entrega de productos y servicios casi perfectos.
Six Sigma se originó en Motorola a finales de 1980s,Bill Smith.
Sigma es un término estadístico que mide que tanto se desvía un producto de la
perfección.
Six Sigma
31
La idea central es que si puedes medir cuántos defectos tienes en un proceso, puedes
sistemáticamente descubrir cómo eliminarlos y
acercarte a tener cero defectos.
Para lograr calidad Six Sigma, un proceso debe producir no más de 3.4 defectos por
millón de oportunidades. Una “oportunidad” se define como una
probabilidad de no-conformidad, o no lograr las especificaciones requeridas
Escala Sigma
Medida universal del desempeño de una organización.
A mayores valores de Sigma corresponde mejor
desempeño.
Si la salida es defectuosa 69% de las veces, significa que tiene Un Sigma de conformidad.
Si la salida es defectuosa 31% de las veces, está
mostrando una conformidad de Dos Sigma.
Table: The Sigma Scale
Sigma Percent Defective Defects per Million
1 69% 691,462
2 31% 308,538
3 6.70% 66,807
4 0.62% 6,210
5 0.02% 233
6 0.00% 3.4
7 0.00% 0.019
Seis Sigma significa una salida casi perfecta, solamente de 3.4 defectos por millón de La mayoría de las organizaciones entregan resultados entre el Tres y Cuatro Sigma.
Metodología básica: DMAIC
33
Para modificar un proceso existente
Definir las metas para la mejora del proceso de acuerdo a las demandas del cliente y las estrategias de la
organización.
Medir el desempeño actual y reunir datos relevantes para el futuro.
Analizar el escenario actual y observar la relación entre los parámetros y el desempeño.
Mejorar el proceso con base en el análisis para optimizarlo.
Controlar los parámetros antes de que afecten la salida.
Implementación
Profesionalizó los roles de administración de la
calidad. Adopta una nomenclatura de artes marciales para definir la jerarquía que cubre todos los tipos de funciones de negocios
Líderes ejecutivos:
visionarios que autorizan a otros miembros del equipo y les proporcionan los
recursos para la mejora del
Campeones o líderes de calidad: Implementan e
integran la metodología Seis Sigma en la organización. Son seleccionados por los líderes ejecutivos. Son mentores de los Cinturones Negros.
Maestros Cinturones Negros, son entrenadores expertos en Seis Sigma.
Actúan como guías de
Cinturones Negros y Verdes y ayudan a los Campeones a implementar Seis Sigma.
Implementación
35
Cinturones negros: operan bajo la guía de los Maestros Cinturones Negros y su tarea es aplicar la
metodología Seis Sigma. Su
función principal es la ejecución de Seis Sigma.
Cinturones Verdes Trabajan en la implementación de Seis Sigma.
Son guiados por los Cinturones negros.
Cinturones amarillos han sido entrenados en Seis Sigma pero no lo han aplicado.
Por otro lado
El estándar no puede ser óptimo para algunos
procesos.
Salud: puede requerirse más.
Ciertas operaciones
pueden funcionar bien con un valor menor.
No hay clara justificación acerca del número Seis.
¿Por qué 6?
CMM Six Sigma
37
CMM se basa en el punto de vista de la
organización.
Six Sigma se basa en el punto de vista del cliente.
Lo que él necesite se traduce a productos y procesos en Six Sigma.
http://crackmba.com/difference-between-six-sigma-and-cmm/
Modelo de Procesos de Software
MoProSoft
39
A solicitud de la
Secretaría de Economía para servir de base a la Norma Mexicana para la Industria de Desarrollo y Mantenimiento de
Software bajo el convenio con la Facultad de
Ciencias, Universidad Nacional Autónoma de México.
MoProSoft
Modelo de procesos de software. Norma NMX-059/01- NYCE-2005 declarada el 15 de Agosto del 2005
CMMI y SPICE no apropiadas para empresas pequeñas, medianas
1er versión Nov 2002
http://blogadmi1.files.wordpress.com/2009/02/moprosoft.pdf
Divide el proyecto en 4 fases
41
Estructura: 3 Categorías
Alta dirección (DIR) Se
establecen los lineamientos para los procesos de la
Categoría de Gerencia y se retroalimenta con la
información generada por ellos en apoyo a la
estrategia de la organización.
Gerencia (GER) Se definen los elementos para el
funcionamiento de los procesos de la Categoría de Operación en función de la estrategia de Dirección.
Operación (OP) Se realizan las actividades de acuerdo a los elementos
proporcionados por la
Categoría de Gerencia y entrega a ésta la
información y productos generados.
Estructura: 3 Categorías
43
1. Categoría Dirección
Gestión de negocios
2. Categoría Gerencia
Gestión de proyectos
Gestión de recursos
Recursos humanos y ambiente de trabajo
Bienes, servicios e infraestructura
Conocimiento de la organización 3. Categoría Operación
Administración específica de proyectos
Desarrollo y mantenimiento de software
Niveles de madurez
1. Realizado. El proceso se implementa y alcanza su propósito.
2. Gestionado. El proceso
realizado se administra. Sus productos de trabajo están establecidos, controlados y mantenidos.
3. Establecido. El proceso realizado y gestionado se implementa por medio de un proceso definido.
4. Predecible. El proceso establecido opera bajo límites definidos y
conocidos.
5. Optimizado. El proceso predecible se mejora continuamente.
Uso de metodologías
45
Encuesta 114 empresas de desarrollo de software (2007)
Metodologías propias 45.41%
Metodologías ágiles 41.25% (XP, Scrum, espiral)
Modelos y estándares 13.34% (CMM, CMMI, ISO)
Actividad 7: en equipo
Investigación:
Buscar en medios diversos (foros de discusión, blogs,
documentos, etc.) problemas, quejas, inconformidades que los usuarios/clientes describen sobre los
modelos/metodologías/estándar (CMMI, TSP, PSP, SPICE, Six Sigma y MoProSoft)
Hacer un reporte crítico que contraste lo que el
modelo/metodología/estándar ofrece con los problemas que encontraste.
¿Consideras que son problemas reales o uso deficiente de los modelos?
¿Estás de acuerdo con los aspectos negativos reportados? ¿por qué?
Viendo ambas caras, ¿cuál es su opinión sobre el uso de modelos/metodologías/estándares?
Enviar por correo – formato pdf
Avance de proyecto
47
Martes 12 de Febrero
Descripción y alcance del proyecto, requerimientos funcionales y no funcionales: Documento basado en el estándar SRS830-1998 IEEE
Guía inicial para los componentes del aseguramiento de la calidad (Sesión 4):
1. Control de calidad
2. Administración de configuraciones de software
Presentación (Power Point o cualquier software de presentaciones) No documento de texto.
Examen – Primer parcial
Viernes 15 de Febrero
Referencias
49
Galin, Daniel. Software Quality Assurance, Software quality assurance : from theory to implementation, Harlow, Essex ; New York, N.Y. :
Pearson/Addison Wesley, 2004., England, 2004.
http://www.navegapolis.net/content/view/515/59/
Sergio Alan Flores Rosales. Modelo de calidad para la microempresa basado en MoProSoft. Tesis de maestría. Universidad de Colima. Febrero 2012.
http://www.ge.com/en/company/companyinfo/quality/whatis.htm
http://www.allsoft.mx/recursos/AS-Moprosoft.pdf
http://sixsigmabasics.com/
http://www.ge.com/en/company/companyinfo/quality/whatis.htm
http://crackmba.com/difference-between-six-sigma-and-cmm/
http://www.navegapolis.net/content/view/515/59/
http://blogadmi1.files.wordpress.com/2009/02/moprosoft.pdf