Encuentro Nacional de Informática 8 de diciembre 2006 IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Integra TICs 2006 Encuentro Nacional de Informática 8 de diciembre 2006 Lic. Amalia Álvarez Balbi, MC alvarez_a@ort.edu.uy Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
Agenda Estado de las empresas de software CMMI ISO 9001:2000 / PU UNIT-ISO 90003 ISO/IEC 15.504 Ventajas de adoptar un modelo para la mejora
Estado de las empresas de software IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Estado de las empresas de software Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
Introducción Las organizaciones productoras de software han emprendido procesos para mejorar su forma de trabajo. Iniciativas más comunes Incorporación de metodologías de desarrollo Entrenamiento del personal Implantación de las normas ISO 9000 Implantación del modelo CMMI
Características típicas de organizaciones de software Alguna características de las empresas de software en Uruguay Personal profesional en áreas técnicas. Personal motivado. Promedio de edad bajo.
Características de organizaciones inmaduras Fuerte dependencia de la gente. Los integrantes de la organización no saben qué se espera de ellos. Forma de trabajo improvisada por los profesionales y la Dirección. En los casos de que existe una forma de trabajo definida, no es respetada o no se ha impuesto rigurosamente.
Características de organizaciones inmaduras Dificultades para predecir la calidad del producto. Problemas de presupuesto e incumplimiento de plazos debido a estimaciones imprecisas. La funcionalidad del producto y la calidad a menudo son comprometidas para cumplir el los compromisos de fechas y presupuesto.
Características de organizaciones inmaduras Exceso de promesas. Abandono de procesos en momentos de crisis. No son capaces de repetir éxitos pasados.
Características de organizaciones inmaduras El costo de la “inmadurez” en organizaciones de software es superior al 40% del costo total de cada proyecto.
¿Por qué mejorar … … la forma de trabajar? Cansancio de trabajar de “bomberos” Necesidad de predecir resultados Desear un nuevo mercado que requiere mayores capacidades Reducir los costos de la “no-calidad”
¿Cuál es el camino?
¿Cuál es el primer paso? El primer paso para mejorar los procesos de software es: Hacer un buen diagnóstico. Implica detectar Fortalezas y Debilidades
¿Luego del diagnóstico qué debo hacer? Emprender acciones para asegurar que las fortalezas perdurarán en el tiempo. Emprender acciones para reducir o eliminar las debilidades (oportunidades de mejora).
“La organización establece sus metas de acuerdo a la medida de sus deseos, capacidades, esfuerzo y su propio mercado.” Malevski-Rozotto Malevski-Rozotto
Modelo de Gestión Conjunto de elementos que describen las características de procesos eficaces. Incluyen procesos y prácticas que la experiencia demostró que han sido eficaces.
¿Para qué se usa un modelo de gestión de procesos? Diagnóstico. Definir objetivos de mejora. Marcar prioridades. Establecer procesos estables, capaces y maduros. Guía para la mejora de los procesos.
Modelo de Gestión Los modelos más conocidos en la industria CMMI ISO 9001:2000 (ISO/IEC 90003) ISO/IEC 15504 (SPICE) Modelos genéricos Modelos de excelencia en gestión
CMMI Capability Maturity Model Integration
Modelo CMMI El objetivo del modelo CMMI es proveer una guía para mejorar los procesos de una organización y su capacidad para gestionar el desarrollo, la adquisición y el mantenimiento de los productos de software.
CMMI Capability Maturity Model Integration CMMI es una hoja de ruta para la mejora del proceso de software. Identifica niveles de madurez. Proporciona una guía para medir la capacidad del proceso de Software de la organización. Permite fijar metas y prioridades para la mejora del proceso. Guía a la organización hacia una ingeniería del software de excelencia.
Beneficios de la Madurez del Proceso IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Beneficios de la Madurez del Proceso Nivel Características Proceso Resultados C P Se institucionaliza la Optimizando mejora del proceso R A O L R D El producto y el proceso Gestionado Cuantitat. I U se controlan I cuantitativamente C D T Las prácticas técnicas se E A I integran con las prácticas Definido de gestión y se V D S institucionalizan I D Se institucionalizan las G Gestionado prácticas de gestión del A proyecto D O Inicial El proceso es informal y ad hoc Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
Capacidad Área de proceso IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Representaciones de CMMI Pasos o Niveles NM5 Continuo NM4 NM3 Capacidad Área de proceso NM 2 0 1 2 3 4 5 NM 1 . . .para un conjunto de áreas de proceso establecidas en una organización Lucas CP00062 PCS 2 Added this slide as a way of further illustrating the idea of comparing representations. AP AP AP . . .para un área de proceso simple o conjunto de áreas de proceso Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
CMMI Modelo por niveles Hoja de ruta predefinida para la mejora. Se basa en un agrupamiento probado de procesos. ¿Por qué usar por niveles? Influencia de la herencia (Ej. CMM) Hoja de ruta probada para mejora Especifica un ordenamiento para la mejora de las áreas de proceso.
CMMI Representación continua Permite seleccionar el orden de mejora que mejor satisface los objetivos del negocio y mitiga las áreas de riesgo de la organización. La representación continua utiliza seis niveles de madurez. Agrupa áreas de proceso por categorías de afinidad y designa niveles de capacidad para cada área de proceso.
CMMI Representación continua Brinda flexibilidad para elegir en qué proceso poner énfasis y cuánto mejorar cada proceso. ¿Por qué usar continuo? Influencia de trabajo internacional (ISO/IEC 15504). Mayor libertad debido a que trata las áreas de proceso independientemente.
Situación actual de adopción Modelos CMMI (Continuo y por niveles)
Situación actual de adopción Evaluaciones Clase A que se realizaron entre Abril de 2002 y Agosto 2005, reportadas al SEI hasta Setiembre de 2005. 977 evaluaciones 878 organizaciones 3.686 proyectos 59,6 % organizaciones de fuera de USA Software Engineering Institute Carnegie Mellon University
Número de evaluaciones SCAMPI Clase A por año por modelo Evaluaciones realizadas entre Abril 2002 Y Agosto 2005 y reportadas hasta el 30 De Septiembre de 2005. © 2005 by Carnegie Mellon University
Tamaño de las organizaciones Basada en datos de 861 organizaciones
Reportes de organizaciones evaluadas Basada en datos de 878 organizaciones
Perfil de madurez de las organizaciones
Tipo de organizaciones
Factores que influyen en la elección IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Factores que influyen en la elección Aspectos del negocio Cultura de la organización Capacidad de la organización para emprender un cambio Herencias Aspectos del negocio Organizaciones maduras en la definición de objetivos y el mapeo con sus procesos Representación continua más útil Organizaciones con fuerte foco en líneas de producto Desea mejorar procesos a lo largo de toda la organización - Representación por niveles más útil Desea mejorar procesos por línea de producto – Representación continua Cultura de la organización Capacidad de la organización para emprender un cambio Representación continua Cultura de procesos y experiencias de mejora Cuenta con un proceso que debe ser mejorado rápidamente Representación por niveles Escasa experiencia en programas de mejora Herencias Si se cuenta con experiencias previas de implantación de CMM (por niveles) sería conveniente seguir con la misma representación Si se cuenta con experiencias previas de implantación de SPICE-ISO/IEC 15504 sería conveniente seguir con la representación continua. Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
Sistemas de Gestión de la Calidad Norma ISO 9001:2000 Guía ISO/IEC 90003:2004 (PU UNIT-ISO/IEC 90003:2006)
Normas ISO 9000 Son una familia de Normas sobre Gestión de la Calidad que describen los requisitos que debe cumplir un Sistema de Calidad en diferentes situaciones. Son emitidas por la Organización Internacional de Normalización y resultan de un consenso internacional. Pueden aplicarse a cualquier sector o rama de actividad en que opere la empresa.
ISO 9000:2000 Objetivo: Asistir a organizaciones de todo tipo y tamaño en la implementación y operación de sistemas de gestión de la calidad eficaces.
ISO/IEC 90003:2004 Brinda una guía para implementar la norma ISO 9001 a organizaciones que compran, proveen, desarrollan, operan o mantienen software. No agrega requisitos a la norma ISO 9001:2000. No se supone que sea utilizada como criterios de evaluación en una auditoría de certificación.
Modelo de un sistema de gestión de la calidad basado en procesos f c ó n C L I E N T Responsabilidad de la dirección R e q u i s t o Gestión de Recursos Medición, análisis y mejora Realización del producto Producto Elementos de entrada Elementos de Salida Líneas de valor añadido Líneas de información Ref. UNIT-ISO 9000:2000
Norma internacional ISO/IEC 15504
ISO/IEC 15504 Es una norma generada por el grupo de trabajo en evaluación de procesos (WG10) de un comité internacional en normalización en Ingeniería de software y sistemas. Es la evolución del modelo SPICE (Software Process Improvement and Capability dEtermination).
ISO/IEC 15504 Provee un marco para la evaluación de procesos de software para Mejora de procesos Determinación de la capacidad.
Ventajas de adoptar un modelo para la mejora
Impacto de la mejora en la organización Resultados Reducir los costos de mantenimiento Obtener ventajas competitivas Estrategia Mayor eficiencia de la organización Aumentar la capacidad del negocio Lealtad del cliente
Características de un proceso maduro Definido y documentado Respaldado visiblemente por la Dirección Definición y comprensión de los roles y responsabilidades durante todo el proyecto y en toda la organización Coherente con la forma en que el trabajo se hace realmente Medido Respaldado por la tecnología
¿Implantar un modelo de gestión de calidad garantiza el éxito de una organización?
¿Las buenas prácticas garantizan el éxito? No, pero se puede asegurar que un fracaso no será por: Falta de planificación. Falta de estimaciones. Definición de requisitos pobre. Incapacidad de entregar productos en tiempo y presupuesto. Falta de entrenamiento. Ausencia o muy pobre gestión de riesgos. Ausencia o muy pobre aseguramiento de la calidad. Recursos inapropiados. Expectativas poco realistas. Falta de comunicación.
¿Las buenas prácticas garantizan el éxito? IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay ¿Las buenas prácticas garantizan el éxito? Las buenas prácticas no garantizan el éxito, pero previenen fracasos por razones previsibles. Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
IV Jornadas Profesionales en Ingeniería de Software - Universidad ORT Uruguay Normas de referencia CMMI Capability Maturity Model Integration. SEI - Software Engineering Institute – Carnegie Mellon University. Yoram Malevski - El Camino y La Meta ISO 9000:2000 – Sistemas de gestión de la calidad. ISO/IEC – 12207 – Information Technology – Software life cycle processes ISO/IEC 90003:2004 – Software Engineering – Guidelines for the application of ISO 9001:2000 to computer software. ISO/IEC – TR 15271 – Information Technology –Guide for ISO/IEC 12207 ISO/IEC - TR 15504 – Information Technology – Software Process assessment The TickIT Guide – Using ISO 9001:2000 for Software Quality Management System Construction, Certification and Continual Improvement – British Standard Institution PU UNIT-ISO/IEC 90003:2006 – Ingeniería de Software. Directrices para aplicación de UNIT-ISO 9001:2000 al Software. UNE 71044 – Tecnología de la información – Procesos del ciclo de vida del software. Alternativas para mejorar la calidad en empresas de software - Amalia Alvarez Balbi - 2006
Lic. Amalia Álvarez Balbi, MC alvarez_a@ort.edu.uy Muchas gracias! Lic. Amalia Álvarez Balbi, MC alvarez_a@ort.edu.uy