Beneficios de Implantacion

29
Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software Dirección de Desarrollo y Aplicaciones Miguel Martínez Vélez

description

Beneficios de Implantacion . planeacion estrategica

Transcript of Beneficios de Implantacion

  • Beneficios de la implantacin de una metodologa para el ciclo de vida de

    desarrollos software

    Direccin de Desarrollo y AplicacionesMiguel Martnez Vlez

  • Agenda

    1. Introduccin2. El Proceso Software3. Modelos de Evaluacin y mejora de proceso software

    ISO 9001 CMMI SPICE

    4. Modelos Agiles5. Posicionamiento de Modelos6. Beneficios de implantacin del Proceso Software.7. Caso: Implantacin del Proceso Software en Arsys. 8. Conclusiones.9. Referencias

  • Introduccin

    Problemas actuales en el desarrollo de software Los proyectos se desvan en coste y plazo Baja calidad, mucho mantenimiento correctivo Poca documentacin No existe control de cambios No existe uniformidad en el trabajo realizado xito depende de capacidades individuales Desalineamiento entre expectativas de clientes y software

    resultante Falta de coordinacin entre equipos

    Es necesario algo que racionalice y optimice el como desarrollar software

  • Proceso Software

    Ciclo de Vida Software Marco de referencia que contiene las tareas y actividades

    involucradas en el desarrollo, la explotacin y mantenimiento deun producto de software, abarcando la vida del sistema desde la definicin hasta la finalizacin del mismo

    Define los principios y directrices de las etapas

    Proceso Software, un concepto mas amplio. Basado en el ciclo de vida software Cubre tecnologas, personas, artefactos y procedimientos

    relacionados con las actividades del ciclo de vida software El proceso software define como se organiza, gestiona, mide,

    soporta y mejora el desarrollo, independientemente de las tcnicas y mtodos usados

  • Proceso Software

    Caractersticas Complejo No es tpico proceso de produccin. Excepciones y

    creatividad Muchos factores. Presupuestos, calendarios y calidad no

    tienen fiabilidad 100% Los entregables generan nuevos requisitos xito depende de implicacin del usuario y coordinacin

    de muchos roles La gestin de cambios es compleja

    Subproceso de Produccin Construccin y mantenimiento del producto software

    Subproceso de Gestin Estimacin, planificacin y control de recursos Feedback para la mejora del proceso y mejora de calidad

    del producto final

  • Proceso Software

    Composicin: Estructura Organizacional Tecnologa de Desarrollo Software (herramientas,

    entornos) Mtodos y tcnicas de Desarrollo Software. Ciclo de vida

    Mejorarel proceso

    Ejecutarel proceso

    Medirel proceso

    Definir el proceso

    Controlarel proceso

  • Proceso Software

    Elementos Bsicos Actividades Recursos (humanos, herramientas, entornos, etc) Roles y Responsabilidades Directivas (Seguridad, usabilidad, etc) Productos intermedios y finales

    DESARROLLADOR HERRAMIENTA

    ACTIVIDAD

    ROL

    PRODUCTO

    DIRECTIVA

    Tiene_entradaTiene_intermedio

    Tiene_salida

    emplea

    necesita

    Tiene_sub

    obedece

    desempea

    Tiene_sub

  • Modelos de Evaluacin y Mejora de Procesos Software

    La calidad de un producto software se rige por la calidad del proceso usado para desarrollarlo

    Orientados a la mejora continua de los procesos software de una empresa

    Aplican mejores prcticas

  • Modelos de Evaluacin y Mejora de Procesos Software ISO 9001

    Secciones: QMS : Sistema de Gestin de Calidad Responsabilidad de la Gestin Gestin de Recursos Realizacin del Producto Medicin , Anlisis y Mejora

    Puntos Fuertes Aplicabilidad Reconocimiento internacional Libertad de interpretacin e implementacin Incremento de satisfaccin de clientes

    Puntos Dbiles Demasiado General No explica la implementacin del proceso de mejora

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

    Modelo de Madurez de la Capacidad (CMMI, SEI 1995)

    Objetivos: Evaluar la madurez de los procesos de desarrollo de software Proponer planes de mejora de los procesos de desarrollo de

    softwareCinco niveles de madurezAreas Clave (KPA, 18) agrupadas en los niveles de madurez

    Cada KPA tiene objetivos y metas que indican su cumplimiento

    Cada KPA tiene Prcticas Clave (KP)

    Ejemplos y actividades de que se deben realizar para cumplir objetivos de una KPA

    Caractersticas ComunesAtributos que indican el grado de implementacin de una KPA

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

    NIVEL CARACTERSTICAS RESULTADOS

    INICIAL Ausencia de gestin de proyectosEl proceso de software es cambiante e irregularLos grupos abandonan facilmente los planes y se centran en codificacin y pruebas PRODUCTIVIDAD Y CALIDAD ESCASALos planes y estimaciones son impredecibles RIESGO MXIMOEl rendimiento depende de la capacidad individual de los miembros del grupo

    REPETIBLE Los procesos software son estables y repetiblesLa organizacin establece polticas de gerencia de proyectos y procesos PRODUCTIVIDAD Y CALIDAD BAJALa planificacin se basa en proyectos similares RIESGO ALTOExisten estandares definidos y exigidos

    DEFINIDO Los procesos son definidos, estandarizados, documentados e institucionalizadosLos procesos de ingeniera y gestin son estables y se integran en uno solo PRODUCTIVIDAD Y CALIDAD MEDIAExiste un entendimiento comn de los procesos, funciones y responsabilidades RIESGO MEDIOLa organizacin tiene un grupo dedicado a definicin, mejora y difusin del proceso software

    GESTIONADO Los procesos son medibles y cuantificablesLa productividad y calidad se miden y registran para cada proyecto de la organizacin PRODUCTIVIDAD Y CALIDAD ALTASe fijan metas cuantitativas de la calidad del software RIESGO MNIMOMediante el uso de mtricas de software se crea una base cuantitativa para evaluacin

    OPTIMIZADO Los procesos se mejoran continuamente La organizacin busca lograr el mximo nivel de capacidad PRODUCTIVIDAD Y CALIDAD TOTALSe incorporan nuevas tecnologas y mtodos para mejorar los procesos RIESGO NULO

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

    Puntos Fuertes: Gua paso a paso para la mejora del proceso. Uso de bibliotecas y Bases de datos de proyectos mejorados.

    Puntos Dbiles: Excesivamente detallado Requiere inversin elevada Difcil de aprender

    Mtodos de Evaluacin SCAMPI (Standard CMMI Appraisal Method for Process

    Improvement). CBA/IPI, SCE

    Posibles Representaciones de CMMI: Por Etapas

    Nivel de Madurez = n KPAs Cada etapa es un nivel de madurez

    Continua Gua menos especfica del proceso de mejora Ninguna etapa est asociada con niveles de madurez Posibilita la implantacin y evaluacin de procesos

    individuales.

  • Modelos de Evaluacin y Mejora de Procesos Software CMMI

    OPTIMIZADOOPTIMIZADO

    GESTIONADOGESTIONADO

    DEFINIDODEFINIDO

    REPETIBLEREPETIBLE

    INICIALINICIAL

    CMMI STAGEDInnovacin y Distribucin OrganizacionalAnlisis Causal y Resolucin

    Rendimiento de Proceso OrganizacionalGestin Cuantitativa de ProyectosGestin Cuantitativa de Suministrador

    Desarrollo RQS Enfoque Proceso OrganizacionalSolucin Tcnica Definicin Proceso OrganizacionalIntegracin Producto Formacin de la OrganizacinVerificacin Gestin Integrada de proyectosValidacin Gestin de RiesgosAnlisis de decisin y resolucin

    Gestin RQS Medicin y AnlisisPlanificacin de Proyectos Gestin de ConfiguracinMonitorizacin y control de proyectosGestin de acuerdos con suministradorAseguramiento de calidad del proceso y producto

    Gestin Bsicade proyectos

    Estandarizacinde Proceso

    Gestin Cuantitativa

    Mejora Continua

  • Modelos de Evaluacin y Mejora de Procesos Software SPICE

    Norma ISO/IEC 15504 Modelo de evaluacin, determinacin de

    capacidad y mejora del proceso software. Proceso de Evaluacin:

    Planificacin Recopilacin de datos Validacin de datos Valoracin de atributos Generacin Informes

    PROCESO OPTIMIZANTE

    PROCESO PREDECIBLE

    PROCESO ESTABLECIDO

    PROCESO GESTIONADO

    PROCESO REALIZADO

    PROCESO INCOMPLETO

  • Modelos de Evaluacin y Mejora de Procesos Software - Comparativa

    ISO 9001:2000 CMMI ISO 15504 mbito de aplicacin Genrico Software y Sistemas Software y Sistemas En su favor El ms extendido y

    sencillo El de mayor prestigio Ms consensuado y

    probado En su contra Simple, general, no

    gua paso a paso Difcil de entender, mayor inversin, prescriptivo

    Difcil en capacidad, complejo para evaluar

    Procesos Estructura propia Estructura propia Delega en ISO 12207, por mayor aplicabilidad

    Validacin Encuestas satisfaccin

    Encuestas satisfaccin y casos de estudio

    Trials y esfuerzo emprico

    Objetivo Cumplimiento de requisitos de calidad por procesos

    Mejora del proceso, determinacin capacidad contratista

    Valoracin del proceso y gua para la mejora.

    Representacin Plana Continua y por etapas

    Continua (por etapas a nivel de proceso)

    Tcnicas anlisis Guas y listas de comprobacin

    Cuestionarios de evaluacin

    Varios

    Mtodo para mejora de procesos

    Ninguno, gua ISO 9004

    IDEAL, mapa guiado SPICE 4 Parte

  • Modelos Agiles de Proceso Software

    Nueva Tendencia, modelos mas ligeros, adaptables y flexibles

    RUP (Rational Unified Process),Extreme Programming (XP),SCRUM, AdaptativeDevelopment, etc

    Nacieron a finales de los 90 Tienen en comn:

    No son rigurosas ni ceremoniales Adaptativas a las necesidades del negocio Orientadas a resultados. Quick Wins No quiere decir que la documentacin no sea importante El proceso software se adapta a los cambios Estn comenzando a ser usadas en proyectos complejos

  • Modelos Agiles de Proceso Software: RUP

    RUP es adaptable al nivel de ceremonia exigido Se basa en UML como lenguaje de modelado Es preciso adaptar RUP a cada empresa

  • Posicionamiento de modelos

    Cascada (Pocos riesgos, secuencial)

    Iterativo (Risk-driven, integracin y testing continuo)

    Poca Ceremonia

    Mucha Ceremonia

    RUP

    SCRUMXPAD

    MIL-STD-498DOD-STD-2167

    CMMI

  • Beneficios de Implantacin de Proceso Software

    Incremento de satisfaccin del cliente Incremento de la calidad del producto Alineamiento con el negocio Time to Market ptimo Mejor gestin de riesgos Resultados mas predecibles Reduccin de costes de las actividades Homogeneidad operativa.Mejora de

    comunicacin. Reduccin del mantenimiento correctivo Posibilita ser mas proactivo y menos reactivo Mayor control del impacto de los cambios Facilita la externalizacin

  • Implantacin de Proceso Software en Arsys

    Condiciones del entorno Alineamiento con un negocio muy dinmico 43 personas aprox. Media de edad, 30 aos Diversas tecnologas Equipos orientados al servicio Mltiples proveedores en diversos proyectos Externalizaciones en Software Factories de otros paises Poca formacin en Metodologas y procesos

    Frentes fundamentales de Actuacin: Controller de Proceso Software Implantacin de Proceso de Software (MSA). Auditoras y

    mejora continua Gestin del cambio Formacin en Metodologas y modelado Implantacin de Herramientas para la Gestin del ciclo de

    vida de desarrollo Hacia CMMI

  • Implantacin de Proceso Software en Arsys

    FASE 1 (Jul06-Ene08) Compromiso de la Direccin El Controller de Proceso Software lidera el Plan Definicin del Proceso Software en Arsys (MSA)

    Etapas. Ciclo de Vida Documentos Entregables Responsabilidades Auditoras de Proyectos Indicadores. Cuadro de Mando del Proceso. Guas y Normas (cdigo, seguridad, diseo, usabilidad)

    Mejora Continua del Proceso Comit de Calidad Software (CCSA) Formacin en Metodologa y lenguaje de modelado UML

  • Implantacin de Proceso Software en Arsys

  • Implantacin de Proceso Software en Arsys

    30-nov-06 30-dic-06 12-feb-07 23-mar-07 11-abr-07 21-may-07 13-jun-07 18-jul-07% Proyectos MSA Abreviada 7,1% 11,1% 15,0% 32,0% 30,8% 37,5%

    % Cumplimiento MSA (RQS,DT,D,PR,PP,PL) 0,60 0,69 0,82 0,86 0,87 0,93 0,89 0,91

    N Medio Incumplimientos MSA 2,40 2,43 1,00 2,60 0,50 0,44 0,50 0,00

    % Proyectos sin entrada (internos) 14,3% 22,2% 0,0% 4,5% 4,3% 6,9%

    Media aritmtica mensual indicadores

    Reqs. D.T. Implem. Pruebas Paso Prod. Planif. TotalDe oct a 30-nov 0,52 0,81 0,80 0,49 0,81 0,19 0,60

    De 30-nov a 30-dic 0,62 0,70 0,89 0,72 0,79 0,40 0,69De 30-dic a 12-feb 0,81 0,89 1,00 0,68 0,75 0,81 0,82

    De 12-feb a 23-mar 0,84 0,82 0,98 0,87 0,90 0,73 0,86De 23-mar a 11-abr 0,98 0,87 1,00 0,75 0,87 0,75 0,87De 11-abr a 21-may 0,89 0,91 0,98 0,92 0,98 0,92 0,93De 21-may a 13-jun 0,92 0,84 1,00 0,94 0,90 0,87 0,89

    De 13-jun a 18-jul 0,97 0,93 1,00 0,92 0,94 0,99 0,91

    Indicadores Globales de Cuadro de Mando de Desarrollo

    INDICADORES PORCENTUALES

    0,0%5,0%

    10,0%15,0%20,0%25,0%30,0%35,0%40,0%

    25/11

    /2006

    10/12

    /2006

    25/12

    /2006

    09/01

    /2007

    24/01

    /2007

    08/02

    /2007

    23/02

    /2007

    10/03

    /2007

    25/03

    /2007

    09/04

    /2007

    24/04

    /2007

    09/05

    /2007

    24/05

    /2007

    08/06

    /2007% MSA Abreviada

    % Proyectos internos

    INCUMPLIMIENTOS DE GRANO GRUESO

    0,00

    0,50

    1,00

    1,50

    2,00

    2,50

    3,00

    25/11

    /2006

    10/12

    /2006

    25/12

    /2006

    09/01

    /2007

    24/01

    /2007

    08/02

    /2007

    23/02

    /2007

    10/03

    /2007

    25/03

    /2007

    09/04

    /2007

    24/04

    /2007

    09/05

    /2007

    24/05

    /2007

    08/06

    /2007

    23/06

    /2007

    08/07

    /2007

    N Medio IncumplimientosGrano Grueso

    CUMPLIMIENTO METODOLOGA

    0,000,100,200,300,400,500,600,700,800,901,001,10

    25/11

    /2006

    10/12

    /2006

    25/12

    /2006

    09/01

    /2007

    24/01

    /2007

    08/02

    /2007

    23/02

    /2007

    10/03

    /2007

    25/03

    /2007

    09/04

    /2007

    24/04

    /2007

    09/05

    /2007

    24/05

    /2007

    08/06

    /2007

    23/06

    /2007

    08/07

    /2007

    RequisitosDiseo tcnicoImplementacinPruebasPaso produccinPlanificacinTOTAL

  • Implantacin de Proceso Software en Arsys

    FASE 2 (Sept07-Abr08) Evaluacin de herramientas de gestin de ciclo de vida Seleccin de IBM Rational Suite

    Modelado de Arquitecturas y Diseo de sistemas Automatizacin de Pruebas de software, funcionales y

    stress Gestin de versiones y de configuracin Gestin de Defectos Gestin de Requisitos (Futuro) Deslocalizacin (Futuro)

    Formacin en Rational Pruebas Piloto Plan de Despliegue : Mdulos x Sistema

  • Implantacin de Proceso Software en Arsys

    FASE 3 (Dic07-Ene09) HACIA CMMI Asessment Como estamos ahora ? Involucracin de otros departamentos/reas Formacin en CMMI Creacin del Grupo de Seguimiento de la implantacin. Plan de acciones en base a recomendaciones Futuro, Integracin de CMMI con ITIL

    Objetivo Certificacin en CMMI-3

  • Conclusiones

    No dejarse llevar por las modas ni por las siglas. Lo importante de seguir un Modelo determinado

    es que te evita estructurar y pensar como es el Proceso, solo tienes que adaptarlo a la empresa.

    El objetivo de tener un proceso software es mejorar la operativa corporativa, reduciendo costes e incrementando directa o indirectamente ventas.

    La deslocalizacin y externalizacin es muy compleja o ineficiente si no existe un proceso software. Es importante marcar el protocolo de interaccin.

  • Referencias

    Modelos de Proceso www.tantara.ab.ca

    CMMI: www.sei.cmd.edu

    ISO/IEC 15504, ISO 9001 www.iso.org

    RUP www.ibm.com/software/awdtools/rup

    Extreme Programming (XP) www.extremeprogramming.org