PROYECTO DE MEJORA DE PROCESOS Implementación de la NTP ISO/IEC 12207 TECNOLOGÍAS DE LA INFORMACIÓN “Procesos del Ciclo de Vida del Software” NTP ISO/IEC 12207 Procesos del Ciclo de Vida del Software MOPROSOFT Modelo de Procesos para la Industria de Software
Contenido Introducción. Mejora de Procesos. NTP ISO/IEC 12207. MOPROSOFT.
INTRODUCCIÓN
Problemas Frecuentes Altas desviaciones en los Proyectos (Alcance, Costo y Tiempo) Escasez de Recursos Humanos Disponibles Personal agotado por sobrecarga de trabajo Alto nivel de Re-Trabajo Falta de calidad de los productos Escasa Visibilidad de los Proyectos Proyectos no alineados con los objetivos de la institución (POI y PETI) Poco uso o falta de Metodologías y Estándares Estimaciones Incorrectas en los Proyectos Falta de Integración de los Sistemas Inadecuada Gestión de Requerimientos y Cambios Falta de Documentación Técnica INTRODUCCIÓN
¿Qué es Calidad? Calidad es: Satisfacer las necesidades y expectativas razonables del cliente. “La calidad del producto y/o servicio (desarrollo y mantenimiento) dependerá de la calidad del proceso” INTRODUCCIÓN
¿Qué es Calidad de Software? “El conjunto de características de una entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las implícitas”. ISO 8402 (UNE 66-001-92). “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente”. R. S. Pressman (1992). INTRODUCCIÓN
Costo de la Calidad (CoQ) El costo de No-Conformidad es el costo extra incurrido porque un producto o servicio no fue realizado adecuadamente la primera vez. Phillip B. Crosby. Costo de No-Conformidad + Costo de Conformidad Costo de Calidad = INTRODUCCIÓN
Conceptos Clave Modelo: Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja. DRAE. Ciclo de desarrollo del software: Período de tiempo que comienza con la decisión de desarrollar el producto software y termina cuando el software es entregado. IEEE Std. 610.12-1990 Software Engineering Terminology. Ciclo de vida del software: Período de tiempo que comienza cuando el producto software es concebido y termina cuando el software no está disponible permanentemente para el usuario (retirada del software). INTRODUCCIÓN
Conceptos Clave Fases del Ciclo de Desarrollo del Software Fases del Ciclo de Vida del Software Concepto (Necesidad) Requerimientos Diseño Implementación Pruebas Instalación Comprobación Operación Mantenimiento Retirada SOFTWARE Fases del Ciclo de Desarrollo del Software [ Instalación ] [ Comprobación ] CICLO DE VIDA DEL PROYECTO INTRODUCCIÓN
¿Qué es un Modelo de Procesos? Contiene los procesos, actividades y tareas involucrados en el desarrollo, operación y mantenimiento de un producto de software y que abarca toda la vida del software desde la definición de sus requerimientos hasta el final de su uso. CADENA DE VALOR - PORTER NTP ISO/IEC 12207 MOPROSOFT INTRODUCCIÓN
¿Qué es un Modelo de Evaluación? Define las técnicas y los requisitos para llevar a cabo la evaluación de los procesos de software y la determinación del nivel de capacidad alcanzado por cada uno de ellos. ISO 15504 – 2 y CMMi MPS.BR INTRODUCCIÓN
¿Qué es un Modelo de Mejora? Define las etapas que permiten diagnosticar, identificar e implementar mejoras en los procesos de software. AGILE SPI IDEAL PHVA INTRODUCCIÓN
Modelos para Software INTRODUCCIÓN ISO/IEC 12207 ISO/IEC 15504 MODELO DE PROCESOS MODELO DE EVALUACIÓN MODELO DE MEJORA CMM MOPROSOFT EVALPROSOFT ISO 9001 PMBOK SWEBOK METRICA V3 MANTEMA METODOLOGÍAS IDEAL AGILE SPI PDCA CMMI RUP MSF ISO 9004 INTRODUCCIÓN
NTP ISO/IEC 12207 TECNOLOGÍAS DE LA INFORMACIÓN “Procesos del Ciclo de Vida del Software”
¿Qué es la NTP ISO/IEC 12207? Es una norma de la ingeniería de software resultado del esfuerzo internacional de expertos de todo el mundo entre académicos y profesionales. Busca establecer un marco de referencia para la administración de los procesos de la ingeniería de software en el mundo. Define los procesos, actividades y tareas asociadas a los procesos del ciclo de vida del software desde la concepción hasta su retiro. NTP ISO/IEC 12207
Evolución 1987 Se conforma Joint Technical Committee JTC1. International Organization for Standarization (ISO). International Electrotechnical Commission (IEC). 1989 Se inicia el desarrollo de la ISO/IEC 12207. 1995 En agosto se publica la primera edición. 2002 Se publica la enmienda 1. Se considera a: ISO/IEC 15504 (evaluación del proceso), ISO/IEC 14598 (evaluación producto), ISO/IEC 15939 (medición del software). 2005 Se publica la enmienda 2. Ajuste al anexo F. PERÚ 2003. Se traduce durante el primer año. 2004. Se publica en mayo la NTP-ISO/IEC 12207:2004. PCM, la hace obligatoria para el sector estatal desde Junio. 2006. Se publica en julio la NTP-ISO/IEC 12207:2006 (2da Edición) NTP ISO/IEC 12207
Alcance NTP ISO/IEC 12207
Arquitectura NTP ISO/IEC 12207
NTP ISO/IEC 12207
Limitaciones Describe la arquitectura de los procesos del ciclo de vida del software, pero no especifica los detalles de cómo implementar o llevar a cabo las actividades y tareas incluidas en los procesos (NO ES PRESCRIPTIVA). No pretende establecer el nombre, formato o el contenido explícito de la documentación que se genere. No establece un modelo de ciclo de vida concreto para el desarrollo del software. NTP ISO/IEC 12207
ISO/IEC 15504
ISO/IEC 15504 Modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Comprende: evaluación de procesos, mejora de procesos y determinación de capacidad. Está alineado con el estándar ISO/IEC 12207 que define los procesos del ciclo de vida del desarrollo, mantenimiento y operación de los sistemas de software. ISO/IEC 15504
Modelo Referencial de Procesos ISO/IEC 15504
Modelo de Capacidad de Procesos Incompleto NIVELES ATRIBUTOS Realizado 1.1 Realización del proceso Gestionado 2.1 Gestión de la ejecución 2.2 Gestión de los productos Establecido 3.1 Definición del proceso 3.2 Aplicación del proceso Predecible 4.1 Medida del proceso 4.2 Control del proceso Optimizado 5.1 Innovación de proceso 5.2 Optimización del Proceso ISO/IEC 15504
Relación entre ISO/IEC 15504 y NTP ISO/IEC 12207
MOPROSOFT
MOPROSOFT El Modelo de Procesos para la Industria de Software, Moprosoft, tiene por objetivo proporcionar a la industria mexicana, y a las áreas internas dedicadas al desarrollo y mantenimiento de software, un conjunto integrado de las mejores prácticas basadas en los modelos y estándares reconocidos internacionalmente, tales como ISO 9000:2000, CMM-SW, ISO/IEC 12207, ISO/IEC 15504, PMBOK, SWEBOK entre otros. Moprosoft, a diferencia de CMM-SW y CMMI, está dirigido a la micro y pequeña industria. Sintetiza las mejores prácticas en un conjunto pequeño de procesos que abarcan las responsabilidades de la alta dirección, gestión y operación. MOPROSOFT
Modelo Referencial de Procesos Gestión de Negocio Gestión de Procesos Gestión de Proyectos Gestión de Recursos Administración de Proyectos Específicos Desarrollo y Mantenimiento de Software Alta Dirección (DIR) Gestión (GES) Operación (OPE) Categoría MOPROSOFT
EVALPROSOFT Modelo de Capacidad de Procesos Incompleto NIVELES ATRIBUTOS Realizado 1.1 Realización del proceso Gestionado 2.1 Gestión de la ejecución 2.2 Gestión de los productos Establecido 3.1 Definición del proceso 3.2 Aplicación del proceso Predecible 4.1 Medida del proceso 4.2 Control del proceso Optimizado 5.1 Innovación de proceso 5.2 Optimización del Proceso MOPROSOFT
Relación entre MOPROSOFT y NTP ISO/IEC 12207
Cobertura de otros modelos ISO 9001:2000 ISO/IEC 12207 ANEXO F CMM nivel 2 y 3 CMMI nivel 2 Basado en estudios comparativos 92% 95% 88% 77% MOPROSOFT
MEJORA DE PROCESOS
¿Qué influye en la construcción del Software? Elementos que contribuyen en la construcción del software: EL PROCESO. LA TECNOLOGÍA (soportan el proceso). LAS PERSONAS (comprenden y aplican el proceso de manera óptima). Estos elementos determinan: Costo. Tiempo. Calidad. PERSONAS TECNOLOGÍA PROCESOS MEJORA DE PROCESOS
¿Qué es un Proceso? Conjunto de actividades mutuamente relacionadas o que interactúan, las cuales transforman elementos de entrada en resultados. NTP ISO/IEC 12207:2004. Proceso Entrada Salida Ingeniería de Software Requerimientos Software MEJORA DE PROCESOS
¿Porqué enfocarnos en Procesos? Un proceso proporciona de forma constructiva, énfasis en la mejora y efectividad. Es complementario a enfocarse en la tecnología: La tecnología, por si misma, podría no usarse de manera efectiva. La tecnología, en un contexto de un proceso bien definido, puede proporcionar el máximo beneficio. Es complementario a enfocarse en las personas: La experiencia y entrenamiento de su fuerza de trabajo no es siempre suficiente. Trabajar más duro no es suficiente. Un proceso bien definido puede proporcionar recursos para un trabajo inteligente. MEJORA DE PROCESOS
La importancia de los procesos “La calidad de un sistema, está altamente influenciado por la calidad del proceso usado para adquirirlo, desarrollarlo y mantenerlo.” Watts Humphrey. MEJORA DE PROCESOS
¿Porqué la Mejora de Procesos? Permite la estandarización y optimización de los procesos del ciclo de vida del software al interior de la organización. Aplicación de estándares internacionales de calidad en todo el ciclo de vida del software. Al tener prácticas integradas, que abarcan desde la gestión de negocio hasta el desarrollo y mantenimiento de software, el área de desarrollo de sistemas tendrá mayor control sobre su desempeño. El costo de la incorporación del nuevo personal podría disminuir si se enfocan la educación y la capacitación a un modelo único de procesos de desarrollo y mantenimiento de software. MEJORA DE PROCESOS
¿Porqué la Mejora de Procesos? La implantación de estándares nos permitirá asegurar que hacemos las cosas bien desde el principio, disminuyendo el re-trabajo y haciéndolo más eficiente. Mejorar la estimación de la planificación de los proyectos. Mejorar la calidad en términos de defectos de los software desarrollados. Calidad de Proceso Trabajo de Bomberos MEJORA DE PROCESOS
Problemas comunes para hacer mejoras: Burocracia. Complejidad. Rechazo al cambio. Objetivos poco claros. Algunos mitos sobre los procesos: Interfieren con la creatividad. Igual a burocracia más disciplina y excesivo control. Sólo es necesario en proyectos muy grandes. Limita la agilidad cuando lo que se pide es rapidez. MEJORA DE PROCESOS
¿Preguntas? !!! Gracias !!!
www.mytconsulting.com