Tesis Galindez_Ingenieria

Download Report

Transcript Tesis Galindez_Ingenieria

UNIVERSIDAD DE PALERMO
FACULTAD DE INGENIERÍA
Modelo Integral de Calidad de Software
Tesis de grado de Ingeniería en Informática - 2008
Tutor de tesis: Ingeniero Edgardo Tiscornia
Autor: Claudio Galíndez
Proposición
CREACIÓN DE UN MODELO INTEGRAL DE CALIDAD DE
SOFTWARE PARA EVALUAR Y CERTIFICAR LOS PROCESOS
DE INGENIERIA, LOS PRODUCTOS RESULTANTES, LA
TECNOLOGÍA Y LOS RECURSOS HUMANOS, APLICABLE EN
ORGANIZACIONES MICRO, PEQUEÑAS Y MEDIANAS.
Investigación
Analizar los modelos actuales de calidad de software
Determinar los conceptos inherentes a la calidad de productos
de software, procesos de ingeniería, recursos humanos y tecnología
Analizar las condiciones del mercado de informática en Argentina, su
problemática y la viabilidad de aplicación de modelos de calidad
Concebir una base de conocimientos para la catalogación de métricas y
estándares de calidad
Concebir y desarrollar el Modelo Integral de Calidad de Software
Planificar la implementación, difusión y capacitación del nuevo modelo
Concebir una Metodología de Proyectos de software para cumplir el
nuevo modelo
PROPÓSITO
FOCO DE APLICACIÓN
Calidad de Procesos
Calidad de Productos
ISO / IEC 9126
ISO / IEC 14598
General
SW CMM / CMMI
ISO / IEC 15504 (SPICE)
ISO / IEC 9001
TickIT
EFQM
Marca CE para dispositivos médicos
Sector
Específico
TL9000 TELECOM
AQAP 150 y 160 - OTAN/Militar
ISO / IEC 13485 - Salud
SPICE for SPACE (S4S)
AutomotiveSPICE
Servicios de TI
Seguridad de
la información
Otros
ITIL / BS 15000
COBIT
eSourcing Capability Model
ISO/IEC 20000
ISO / IEC 17799 / BS 7799
ISO / IEC 15408 Common Criteria
ITSEC
Trustmarks - Sellos de confianza
Normas WAI - Web Accessibility Initiative
Se centran en 2 focos:
- Procesos de software
ó
- Productos de software
Tendencia del mercado:
la Calidad de procesos
determina
la Calidad del producto
Su implementación
requiere:
- Infraestructura
- Tiempos prolongados
- Costos altos
No existe un modelo
que contemple los
2 focos
Modelos
actuales
Su evaluación y
certificación requieren
de profesionales
escasos en el mercado
No existen modelos que
integren: Procesos,
Productos, Tecnología
y Recursos humanos
Es difícil implementarlos
en empresas MiPymes:
Micros, Pequeñas
Y Medianas
Tendencia a usar dos
modelos:
- CMMI en USA
- ISO 9001 en Europa
Considera sólo calidad de procesos
Considera la “visión del productor” y
la “visión del valor”. No considera la
“visión del producto” ni la “visión del
usuario”
Aplicable sólo a grandes empresas.
Requiere una inversión importante
Fue desarrollado originalmente para
evaluar la aptitud de proveedores
del gobierno (USA), para proyectos
contratados, con criterio local
No cubre temas básicos de recursos
humanos. No integra el People-CMM
Habitualmente las empresas obtienen
CMMi para un Departamento o tipo de
proyectos, en particular. La empresa
entera no cumple CMMi. Pero es la
imágen que transmiten
No hay indicaciones de tipo “se debe”
Se hace referencia al “que” de la
calidad, pero no al “como” obtenerla
Las preguntas usadas para calificar
son binarias (Si - No). No permite
registrar los matices de la realidad
Tener buenos procesos de desarrollo
facilita elaborar buenos productos,
pero no es garantía. Se puede tener
un mal producto
No tiene certificación oficial. Hay un
proceso de evaluación y certificados
privados. La evaluación no expira,
excepto en la nueva versión 1.2
La evaluación se considera en la
industria como una certificación, y
permite usarlo de forma engañosa
Fuente: artículos publicados en la Web por organizaciones y profesionales
Características del Sector de Software
-
Predominio de empresas micros, pequeñas y medianas
Empresas registradas: más de 1.000 (03/2007)
Muchas empresas micro y pequeñas no registradas
Mayoría de empresas de capital nacional
Grueso de facturación de empresas extranjeras o grandes
No existe una fuerte cultura de la Calidad
Modelos de calidad son casi inalcanzables para MiPymes
Planes universitarios con poco énfasis en calidad
Recursos humanos calificados, pero escasos
Profesionales argentinos valorados a nivel internacional
Ventajas comparativas importantes
Formación de clusters de empresas de software
Existen algunas políticas públicas de apoyo
Composición de Empresas en el Sector
- Pocas empresas grandes, casi todas extranjeras
- Pocas empresas medianas, de capital local
- Muchas empresas Micros y Pequeñas, locales
Establecer un criterio integral de calidad de software, considerando la calidad de: procesos de
ingeniería, productos resultantes, tecnología informática y recursos humanos
Considerar la necesidad del mercado argentino de tener un modelo de calidad de Software con
criterio nacional, orientado a las Mipymes, y con posibilidad de evolucionar a modelos
internacionales
Fomentar una cultura de calidad
El Modelo debe poder alinearse a los objetivos de negocio de las organizaciones
Fundamentar los conceptos de calidad en las normas internacionales reconocidas
Desarrollar una Base de Conocimiento de calidad
Desarrollar una Metodología alineada al Modelo, para especificar no sólo el “que” se pretende
de la calidad, sino también el “como” se puede alcanzar
Desarrollar un Sistema de Catalogación de Métricas e Indicadores
El ámbito de aplicación es universal pero su enfoque inicial comprende
las empresas micro, pequeñas y medianas de la República Argentina.
El Modelo Integral de Calidad de Software será denominado MIC
CMM / CMMi
ISO 9001, etc
Empresas grandes
Empresas medianas (21 a 50 personas)
Ámbito del
MIC
Empresas pequeñas (11 a 20 personas)
Empresas micro (hasta 10 personas)
Terminología
Calidad
ESTÁNDARES
Ing.Software
Admin. Proyectos
FACTORES
DE CALIDAD
ESQUEMAS DE
CICLOS DE VIDA
De Productos
De Procesos
De Recursos
MIC Estructura
CATALOGACIÓN
DE MÉTRICAS
BASE DE
CONOCIMIENTOS
PRODUCTOS
PROCESOS
TECNOLOGÍA
RECURSOS
HUMANOS
MADUREZ
MIC
Metodología de Gestión de Proyectos
MIC
Modelo Integral de Calidad de Software
Elementos
Potenciales Usuarios del Modelo
Profesionales
Educadores
Política
Pública
Certificación
De Calidad
Empresas
Usuarias
Empresas
Desarrolladoras
CMMI
ISO 9001
Empresas
Pequeñas
Empresas
Medianas
ISO 20000
Empresas
Micros
ITIL
P-CMM
Productos
Procesos
Tecnología
Recursos
Humanos
Madurez
Objetivos de Negocio
Organizaciones de Desarrollo de Software
Otros
El Modelo de Calidad puede interpretarse como un cuerpo compuesto por un
"núcleo" central que representa al producto que se desarrolla, y por "capas" que lo
rodean, que representan "criterios" de calidad que deben ser evaluados. No es un
modelo “escalonado”.
Cada una de las “Capas” (u objetivos) representa un criterio de calidad, con sus
características propias de evaluación y certificación. Estas capas se definen en
función de los factores que componen la calidad de software
CAPA
DENOMINACIÓN
SE EVALÚA Y CERTIFICA
Propiedades del Producto
Las propiedades del producto, definidas en la norma ISO/IEC 9126
Es fundamental el uso de Métricas
Se realiza para cada producto de software
Procesos de Ingeniería de Software
El mejoramiento de los procesos de ingeniería de software, definidos
en la norma ISO/IEC 12207
Es fundamental el uso de Métricas
Se realiza periódicamente mediante auditorías
3
Tecnología
El mejoramiento de la tecnología usada para el desarrollo de software
Verifica la actualización de tecnologías adecuadas para cada caso
Se realiza periódicamente mediante auditorías
4
Recursos Humanos
El mejoramiento del área de recursos humanos
Verifica las políticas de estabilidad y capacitación del personal
Se realiza periódicamente mediante auditorías
Madurez
El cumplimiento de las capas 1 a 4, en el marco de varios proyectos
Evalúa si la organización alcanzó un grado de madurez continuo
Se realiza una vez, y se mantiene mediante auditorías de capas 1 a 4
1
2
5
Las “Capas” del modelo se basan en 4 componentes:
Procesos Técnicos y de Gestión
Establecer y
mantener el
compromiso de
medición
Planificar el
proceso
Catálogo de
Métricas
e Indicadores
Realizar las
mediciones
Base de
Experiencias
de Medición
Evaluación
Herramienta/Agente
Usuario
Administrador
Evaluadores
Revisores
Capa de Usuario
Interfaces Web
Servicios Web del Sistema
Semántico de Consultas
Servicios Web del Sistema de
Administración del Catálogo
Capa Lógica
Clases de Negocio
Componentes de Acceso a Datos Semánticos
OWL
Esquemas
RDF
Datos
RDF / XML
Sistema Semántico de Consultas
Componentes de Acceso a Datos
Datos del Catálogo
Sistema de Administración del Catálogo
Sistema Web de Catalogación de Métricas e Indicadores
Capa de Acceso
a Datos
Capa de
Persistencia
Este componente del Modelo define la calidad en términos de calidad interna,
externa y en uso, del producto desarrollado. Se basa en los estándares
internacionales ISO/IEC 9126 e ISO/IEC 14598.
Norma ISO/IEC 9126
Calidad de Producto de
de Software
1234-
Producto
de
Software
Proceso de
evaluación
Modelo de Calidad
Métricas Externas
Métricas Internas
Métricas de Calidad en uso
Norma ISO/IEC 14598
Evaluación de Calidad de
Producto de Software
123456-
Recursos y
ambiente
Conceptos generales
Planeamiento y administración
Proceso para desarrolladores
Proceso para adquisiciones
Proceso para evaluadores
Documentación de módulos de
evaluación
Soporte de
evaluación
proceso de
evaluación
Métricas
internas
Métricas
externas
Efecto del
Producto de
Software
Metricas
calidad uso
14598-1
14598-2
14598-3
14598-6
14598-4
9126-1
9126-3
9126-2
9126-4
14598-5
Relaciones ente estándares ISO/IEC 9126 e ISO/IEC 14598
¿las funciones requeridas están
disponibles en el software?
Funcionalidad
¿es fácil transferir el software
a otro ambiente?
¿el software es confiable?
Portabilidad
Confiabilidad
Propiedades
de
Calidad
Mantenibilidad
Usabilidad
¿es fácil modificar el software?
¿el software es fácil de usar?
Eficiencia
¿el software es eficiente?
Calidad Interna
y Externa
Funcionalidad
Confiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Facilidad análisis
Adaptabilidad
Adecuación
Madurez
Fácil comprensión
Exactitud
Toleracia a fallos
Aprendizaje
Comportamiento
en tiempo
Facilidad cambios
Fácil instalación
Operatividad
Uso de recursos
Estabilidad
Coexistencia
Adhiere a normas
Adhiere a normas
Testeabilidad
Fácil reemplazo
Adhiere a normas
Adhiere a normas
Interoperatividad
Seguridad
Recuperabilidad
Adhiere a normas
Adhiere a normas
Calidad de Uso
Eficacia
Productividad
Seguridad
Basado en ISO/IEC 9126
Satisfacción
Versión de la norma ISO/IEC 14598-1, modificada para ser compatible con ISO/IEC 9126-1
Este componente define la arquitectura de procesos para cumplir el Ciclo de Vida
de un Proyecto y los criterios de evaluación. Se basa en los estándares
internacionales ISO/IEC 12207 e ISO/IEC 15504. Este componente define una
dimensión de proceso y una dimensión de capacidad.
Norma ISO/IEC 15504
Evaluación de Procesos
123456-
Define 2 dimensiones
Define Marco de Trabajo
Evaluación de procesos
Determinación de capacidad
Mejoramiento de procesos
Usa Procesos de Referencia
(ISO 12207 AMD1 y AMD2)
Marco de Trabajo
Despliegue del proceso
Nivel 3
Definición del proceso
Gestión del producto de trabajo
Nivel 2
Niveles de Capacidad
Gestión de la Realización
Norma ISO/IEC 12207
Procesos del Ciclo
de Vida de Software
1234-
Arquitectura de procesos
Procesos
Actividades
Tareas
Realización del proceso
Nivel 1
Atributos de proceso
Procesos del Ciclo de Vida
Modelo de Procesos de Referencia
Escala de Valoraciones
de Atributos
Proceso de Adquisición
Inicio
Preparación propuesta
Preparación Contrato
Aceptación y
cumplimiento
Monitoreo Proveedor
Proceso de Provisión
Inicio
Preparación
de respuesta
Contrato
Planeamiento
Ejecución y
control
Proceso de Desarrollo
Entrega y
cumplimiento
Proceso de Operación
Proceso de
Implementación
Instalación de
Software
Análisis Requer.
del Sistema
Revisión y
evalaución
Diseño Arquitectura
del Sistema
Integración
del Sistema
Soporte Aceptación
de Software
Proceso de
Implementación
Test de
Operación
Operación del
Sistema
Soporte de
Usuario
Test de Capacidad
del Sistema
Proceso de Mantenimiento
Análisis Req.
Software
Diseño Arquit. Diseño Detall.
Software
Software
Codificación y Test
de Software
Integración
Software
Test Capacidad
Software
Proceso de
Implemen
Análisis
Problema
Implemen.
Modificación
Revisión y
Aceptación
Migración
Retiro del
Software
Proceso de Documentación
Proceso de Administración de Configuración
Proceso de Aseguramiento de Calidad
Proceso de Verificación
Proceso de Validación
Proceso de Revisión de Conjunto
Proceso de Administración
Inicio y definición
de Alcance
Ejecución y
Control
Revisión y
Evaluación
Proceso de Auditoría
Planeamiento
Cierre
Proceso de Mejoramiento
Proceso de
Establecimiento
Proceso de
Evaluación
Proceso de Resolución de Problema
Proceso de Infraestructura
Proceso de
Mejoramiento
Proceso de Entrenamiento
Niveles de Capacidad
Atributos de Proceso
Ad hoc, Caótico. Rendimiento
y resultado incompleto
1.12.12.23.13.2-
Nivel 0 - Incompleto
Se realizan los procesos
Se logra el objetivo
Realización del proceso
Gestión de la realización
Gestión del producto de trabajo
Definición del proceso
Despliegue del proceso
Nivel 1 - Realizado
Realización del proceso
Procesos realizado y gestionados
(planeados, controlados y ajustados)
Escala de Valoraciones
Nivel 2 - Gestionado
Valoraciones de atributos
de procesos
Gestión de la realización
Gestión del producto de trabajo
Procesos definidos que logran su
objetivo. Se manejan recursos
Nivel 3 - Establecido
Definición del proceso
Despliegue del proceso
N- No alcanzado
0% a 15%
P- Parcialmente alcanzado >15% a 90%
F- Totalmente alcanzado >90% a 100%
Alineado a
PROCESO
Valida muestra
EVALUACIÓN
DE PROCESO
MEJORAMIENTO
DE PROCESO
DETERMINACIÓN
DE CAPACIDAD
Modelo MIC: definición del proceso
Modelo MIC: marco de trabajo
Metodología alineada con Modelo MIC
Nombre
Propósito
Objetivos
Metas cuantitativas
Actividades
Tareas
Resultados
Niveles de Capacidad
Atributos del proceso
Escala de valoración
Especificación de procesos
Guía de mejores prácticas
Esquema de documentación
Documentos y plantillas
Métricas
Modelo MIC: definición de evaluación
Alcance
Indicadores
Interpretación
Salidas del proceso
Entradas al proceso
Propósito
Alcance
Restricciones
Definición de procesos ampliados
Información adicional
Roles y responsabilidades
Evaluador certificado
Equipo de evaluación
Evaluación de Proceso
Planificación
Captura de datos
Validación de datos
Valoración de atributos del proceso
Generación de informes
Entradas de la evaluación
Proceso de evaluación usado
Instrumento de evaluación usado
Valoración del proceso
Fecha de la evaluación
Nombres de equipo evaluador
Información adicional
Suposiciones y limitaciones
TECNOLOGÍA
DE
PRODUCTOS DE SOFTWARE
DESARROLLADOS
TECNOLOGÍA
DE
INFRAESTRUCTURA
TECNOLOGÍA
INFORMÁTICA
Norma ISO/IEC 12207
TECNOLOGÍA
DE
PRODUCTOS DE SOFTWARE
DESARROLLADOS
TECNOLOGÍA
DE
INFRAESTRUCTURA
Procesos del Ciclo
de Vida de Software
1234-
Arquitectura de procesos
Procesos
Actividades
Tareas
Norma ISO/IEC 15504
PROCESO
Evaluación de Procesos
1- Define 2 dimensiones
2- Define Marco de Trabajo
3- Evaluación de procesos
4- Determinación de
capacidad
5- Mejoramiento de procesos
6- Usa Procesos de Referencia
(ISO 12207 AMD1 y AMD2)
EVALUACIÓN
DE PROCESO
Norma COBIT
MEJORAMIENTO
DE PROCESO
DETERMINACIÓN
DE CAPACIDAD
Objetivos de Control para la
Información y Tecnologías
1- Objetivos del control
2- Dominios de procesos
Asignación de Personal
Formación (Entrenamiento)
Planificación de la potencia de trabajo
Comunicación
Gestión de competencias de la organiz.
Desarrollo de la Competencia
Tutoría
Entorno de Trabajo
Gestión de la Capacidad
Compensación
Desarrollo de Carrera
Prácticas basadas en la Competencia
Prácticas basadas en Equipos
Comunicación
Cultura de Participación
Creación de Equipos
DESARROLLO
DE
CAPACIDADES
CREACIÓN
DE
EQUIPOS Y CULTURA
ESTRUCTURACIÓN
DE
CAPACIDAD TRABAJO
GESTION Y MOTIVACIÓN
DEL DESARROLLO
Norma ISO/IEC 12207
Procesos del Ciclo
de Vida de Software
1234-
Arquitectura de procesos
Procesos
Actividades
Tareas
Norma P-CMM
PROCESO
Marco para mejorar la
capacidad de las personas
1- Estructura del Modelo
2- Adaptación para Modelo MIC
Norma ISO/IEC 15504
EVALUACIÓN
DE PROCESO
MEJORAMIENTO
DE PROCESO
Evaluación de Procesos
DETERMINACIÓN
DE CAPACIDAD
1- Define 2 dimensiones
2- Define Marco de Trabajo
3- Evaluación de procesos
4- Determinación de
capacidad
5- Mejoramiento de procesos
6- Usa Procesos de Referencia
(ISO 12207 AMD1 y AMD2)
CALIDAD DE
RECURSOS
HUMANOS
CALIDAD
DE
PROCESO
CALIDAD DE
TECNOLOGÍA
ATRIBUTOS
INTERNOS DE
CALIDAD
ATRIBUTOS
EXTERNOS DE
CALIDAD
ATRIBUTOS
DE CALIDAD
EN USO
La aplicación de estándares en el Modelo Integral de Calidad de
Software (MIC), persigue fundamentalmente tres objetivos:
Objetivos de la aplicación de Estándares
SIMPLIFICACIÓN
UNIFICACIÓN
ESPECIFICACIÓN
Entender los
procesos
Ver calidad de Procesos
Ver Estándares
Ver calidad de Productos
Ver calidad de R.H.
Ver calidad de Tecnología
Ver Metodología
Construir o refinar
Manuales y Plan de Calidad
de Procesos y Productos
Ejecutar Procesos
Evaluación Inicial
Plan de Trabajo
Medir resultados de Procesos,
Producto, Tecnología y R.H.
y mejorar si es preciso
Certificar con
Evaluadores
independientes
Entender los
procesos de la
Organización
Ver el MIC
para la calidad
de Procesos
Ver el MIC
para la calidad
de Productos
Construir manuales
Y Plan de Calidad
de Procesos y Productos
Ejecutar los
Procesos
Medir los resultados
de Procesos y
mejorar si es preciso
Ver los
Estándares
de Soporte
Medir los resultados
de Productos y
mejorar si es preciso
Ver la
Metodología
de Proyectos
Certificar con
Evaluadores
independientes
Universidad
Laboratorio de Calidad
administrador del MIC
Universidad
Facultad de Ingeniería
Formación Profesional
Educación
Profesional
de Grado
Capacitación en
Calidad de Software
Desarrollo
Profesional
Software
Práctica Profesional
de Auditoría de
Calidad de Software
Certificación
de Calidad
Empresa
Acreditación
Maestría de
Calidad de Software
Código de Ética
Universidad
Laboratorio de Calidad
administrador del MIC
Software
Empresa
Los productos se realizan con la
mejor tecnología para cada caso,
y la empresa mantiene esa
calidad de tecnología
Se asegura la calidad de los
profesionales, y la empresa
prioriza la estabilidad y
capacitación continua
El producto de software
resultante de un proyecto,
cumple la calidad de las
propiedades de software
Todos los proyectos se realizan
cumpliendo todas las capas del
Modelo, y la empresa demuestra
una calidad constante
Los procesos de ingeniería de software se
realizan cumpliendo los estándares de calidad
Universidad impulsora del Modelo de Calidad de Software
Modelo de
Calidad de
Software
(MIC)
Metodología
de Gestión
de Proyectos
(MIC)
Plan de
Maestría
de Calidad
de Software
Convenios
con
Universidades
Catalogación
de
Estándares
Catalogación
de
Métricas
Difusión del Modelo de Calidad de Software
Instrumentos
generados por
el Estado
PRE
Programa de
Reestruct. Empresas
Estado
Cursos de
Capacitación
a Usuarios
Maestría
de Calidad
de Software
Homologación
de
Auditores
Acceso a
Catalogación
de Estándares
Acceso a
Catalogación
de Métricas
Ley del
Software
Comunidad Profesional de Informática
Identifica y describe el conocimiento y
prácticas generalmente aceptadas para
la Gestión de Proyectos de Software
El modelo MIC especifica “QUE” es calidad
La metodología especifica “COMO” obtenerla
Conclusiones
Necesidad de un modelo integral que contemple calidad de procesos, productos, tecnología y
recursos humanos
Necesidad del mercado argentino de tener un modelo de calidad de Software viable de cumplir
para las MiPymes locales, pero permitiendo evolucionar internacionalmente en forma gradual
Se debe crear una cultura de calidad.
Es una herramienta para el desarrollo de la economía ya que permite la racionalización de la
producción y una mayor productividad
Con relación al usuario local, contribuye a su protección y a elegir los productos más aptos.
Es una herramienta para la política pública al constituir un marco de referencia local para la
adquisición de productos de software
Permite jerarquizar la función de evaluación de calidad al crear una Maestría universitaria en
la materia.
Futuras lineas de investigación
Extensión del Modelo de Calidad a otras disciplinas (servicios, redes, etc)
Desarrollo de sistema de Catalogación de Métricas e Indicadores con
potencia de Web Semántica. Definición de la Ontología.
Investigación y desarrollo de métricas aplicables al Modelo
Desarrollo de herramientas de software para evaluación del Modelo
Formalización del Modelo de Calidad como estándard internacional
Desarrollo de Metodologías de aplicación en Modelos de otras disciplinas
Fin de la presentación