Download - 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