• No se han encontrado resultados

Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software

N/A
N/A
Protected

Academic year: 2022

Share "Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software"

Copied!
29
0
0

Texto completo

(1)

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

(2)

Agenda

1. Introducción

2. El Proceso Software

3. Modelos de Evaluación y mejora de proceso software

ISO 9001

CMMI

SPICE

4. Modelos Agiles

5. Posicionamiento de Modelos

6. Beneficios de implantación del Proceso Software.

7. Caso: Implantación del Proceso Software en Arsys.

8. Conclusiones.

9. Referencias

(3)

Introducción

Problemas actuales en el desarrollo de software

– Los proyectos se desvían en coste y plazo – Baja calidad, mucho mantenimiento correctivo – Poca documentación

– 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 coordinación entre equipos

“ Es necesario algo que racionalice y optimice el

como desarrollar software “

(4)

Proceso Software

• Ciclo de Vida Software

– “Marco de referencia que contiene las tareas y actividades

involucradas en el desarrollo, la explotación y mantenimiento de un producto de software, abarcando la vida del sistema desde la definición hasta la finalización del mismo”

– Define los principios y directrices de las etapas

• Proceso Software, un concepto mas amplio.

– Basado en el ciclo de vida software

– Cubre tecnologías, 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

técnicas y métodos usados”

(5)

Proceso Software

Características

– Complejo

– No es típico proceso de producción. Excepciones y creatividad

– Muchos factores. Presupuestos, calendarios y calidad no tienen fiabilidad 100%

– Los entregables generan nuevos requisitos

– Éxito depende de implicación del usuario y coordinación de muchos roles

– La gestión de cambios es compleja

Subproceso de Producción

– Construcción y mantenimiento del producto software

Subproceso de Gestión

– Estimación, planificación y control de recursos

– Feedback para la mejora del proceso y mejora de calidad del producto final

(6)

Proceso Software

Composición:

– Estructura Organizacional

– Tecnología de Desarrollo Software (herramientas, entornos)

– Métodos y técnicas de Desarrollo Software. Ciclo de vida

Mejorar el proceso

Ejecutar el proceso

Medir el proceso Definir

el proceso

Controlar el proceso

(7)

Proceso Software

Elementos Básicos

– Actividades

– Recursos (humanos, herramientas, entornos, etc) – Roles y Responsabilidades

– Directivas (Seguridad, usabilidad, etc) – Productos intermedios y finales

DESARROLLADOR HERRAMIENTA

ACTIVIDAD

ROL

PRODUCTO

DIRECTIVA

Tiene_entrada Tiene_intermedio Tiene_salida emplea

necesita

Tiene_sub

obedece desempeña

Tiene_sub

(8)

Modelos de Evaluación 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 prácticas

(9)

Modelos de Evaluación y Mejora de Procesos Software – ISO 9001

Secciones:

– QMS : Sistema de Gestión de Calidad – Responsabilidad de la Gestión

– Gestión de Recursos

– Realización del Producto – Medición , Análisis y Mejora

Puntos Fuertes

– Aplicabilidad

– Reconocimiento internacional

– Libertad de interpretación e implementación – Incremento de satisfacción de clientes

Puntos Débiles

– Demasiado General

– No explica la implementación del proceso de mejora

(10)

Modelos de Evaluación 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

software

•Cinco niveles de madurez

•Areas Clave (KPA, 18) agrupadas en los niveles de madurez

•Cada KPA tiene objetivos y metas que indican su cumplimiento

•Cada KPA tiene Prácticas Clave (KP)•Ejemplos y actividades de que se

deben realizar para cumplir objetivos de una KPA

•Características Comunes

•Atributos que indican el grado de implementación de una KPA

(11)

Modelos de Evaluación y Mejora de Procesos Software – CMMI

NIVEL CARACTERÍSTICAS RESULTADOS

INICIAL Ausencia de gestión de proyectos

El proceso de software es cambiante e irregular

Los grupos abandonan facilmente los planes y se centran en codificación y pruebas PRODUCTIVIDAD Y CALIDAD ESCASA

Los planes y estimaciones son impredecibles RIESGO MÁXIMO

El rendimiento depende de la capacidad individual de los miembros del grupo REPETIBLE Los procesos software son estables y repetibles

La organización establece políticas de gerencia de proyectos y procesos PRODUCTIVIDAD Y CALIDAD BAJA

La planificación se basa en proyectos similares RIESGO ALTO

Existen estandares definidos y exigidos

DEFINIDO Los procesos son definidos, estandarizados, documentados e institucionalizados

Los procesos de ingeniería y gestión son estables y se integran en uno solo PRODUCTIVIDAD Y CALIDAD MEDIA Existe un entendimiento común de los procesos, funciones y responsabilidades RIESGO MEDIO

La organización tiene un grupo dedicado a definición, mejora y difusión del proceso software GESTIONADO Los procesos son medibles y cuantificables

La productividad y calidad se miden y registran para cada proyecto de la organización PRODUCTIVIDAD Y CALIDAD ALTA

Se fijan metas cuantitativas de la calidad del software RIESGO MÍNIMO

Mediante el uso de métricas de software se crea una base cuantitativa para evaluación OPTIMIZADO Los procesos se mejoran continuamente

La organización busca lograr el máximo nivel de capacidad PRODUCTIVIDAD Y CALIDAD TOTAL

Se incorporan nuevas tecnologías y métodos para mejorar los procesos RIESGO NULO

(12)

Modelos de Evaluación y Mejora de Procesos Software – CMMI

(13)

Modelos de Evaluación y Mejora de Procesos Software – CMMI

(14)

Modelos de Evaluación y Mejora de Procesos Software – CMMI

Puntos Fuertes:

Guía paso a paso para la mejora del proceso.

Uso de bibliotecas y Bases de datos de proyectos mejorados.

Puntos Débiles:

Excesivamente detallado Requiere inversión elevada Difícil de aprender

Métodos de Evaluación

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

Guía menos específica del proceso de mejora

Ninguna etapa está asociada con niveles de madurez

Posibilita la implantación y evaluación de procesos individuales.

(15)

Modelos de Evaluación y Mejora de Procesos Software – CMMI

OPTIMIZADO OPTIMIZADO

GESTIONADO GESTIONADO

DEFINIDO DEFINIDO

REPETIBLE REPETIBLE

INICIAL INICIAL

CMMI STAGED Innovación y Distribución Organizacional Análisis Causal y Resolución

Rendimiento de Proceso Organizacional Gestión Cuantitativa de Proyectos

Gestión Cuantitativa de Suministrador

Desarrollo RQS Enfoque Proceso Organizacional Solución Técnica Definición Proceso Organizacional Integración Producto Formación de la Organización Verificación Gestión Integrada de proyectos Validación Gestión de Riesgos

Análisis de decisión y resolución

Gestión RQS Medición y Análisis

Planificación de Proyectos Gestión de Configuración Monitorización y control de proyectos

Gestión de acuerdos con suministrador

Aseguramiento de calidad del proceso y producto Gestión Básica

de proyectos

Estandarización de Proceso

Gestión Cuantitativa

Mejora Continua

(16)

Modelos de Evaluación y Mejora de Procesos Software – SPICE

Norma ISO/IEC 15504

Modelo de evaluación, determinación de capacidad y mejora del proceso software.

Proceso de Evaluación:

– Planificación

– Recopilación de datos – Validación de datos

– Valoración de atributos – Generación Informes

PROCESO OPTIMIZANTE PROCESO PREDECIBLE PROCESO ESTABLECIDO PROCESO GESTIONADO PROCESO REALIZADO PROCESO INCOMPLETO

(17)

Modelos de Evaluación y Mejora de Procesos Software - Comparativa

ISO 9001:2000 CMMI ISO 15504

Ámbito de aplicación Genérico Software y Sistemas Software y Sistemas En su favor El más extendido y

sencillo El de mayor prestigio Más consensuado y probado

En su contra Simple, general, no

guía paso a paso Difícil de entender, mayor inversión, prescriptivo

Difícil en capacidad, complejo para evaluar

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

Validación Encuestas

satisfacción Encuestas

satisfacción y casos de estudio

‘Trials’ y esfuerzo empírico

Objetivo Cumplimiento de

requisitos de calidad por procesos

Mejora del proceso, determinación

capacidad contratista

Valoración del proceso y guía para la mejora.

Representación Plana Continua y por

etapas Continua (por etapas a nivel de proceso) Técnicas análisis Guías y listas de

comprobación Cuestionarios de

evaluación Varios

Método para mejora

de procesos Ninguno, guía ISO

9004 IDEAL, mapa guiado SPICE 4ª Parte

(18)

Modelos Agiles de Proceso Software

Nueva Tendencia, modelos mas ligeros, adaptables y flexibles

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

Nacieron a finales de los 90

Tienen en común:

– No son rigurosas ni ceremoniales

– Adaptativas a las necesidades del negocio – Orientadas a resultados. Quick Wins

– No quiere decir que la documentación no sea importante – El proceso software se adapta a los cambios

– Están comenzando a ser usadas en proyectos complejos

(19)

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

(20)

Posicionamiento de modelos

Cascada (Pocos riesgos, secuencial)

Iterativo (Risk-driven, integración y testing continuo) Poca

Ceremonia Mucha

Ceremonia

RUP

SCRUM XP AD

MIL-STD-498 DOD-STD-2167

CMMI

(21)

Beneficios de Implantación de Proceso Software

Incremento de satisfacción del cliente

Incremento de la calidad del producto

Alineamiento con el negocio

Time to Market óptimo

Mejor gestión de riesgos

Resultados mas predecibles

Reducción de costes de las actividades

Homogeneidad operativa.Mejora de comunicación.

Reducción del mantenimiento correctivo

Posibilita ser mas proactivo y menos reactivo

Mayor control del impacto de los cambios

Facilita la externalización

(22)

Implantación de Proceso Software en Arsys

Condiciones del entorno

– Alineamiento con un negocio muy dinámico – 43 personas aprox. Media de edad, 30 años – Diversas tecnologías

– Equipos orientados al servicio

– Múltiples proveedores en diversos proyectos

– Externalizaciones en Software Factories de otros paises – Poca formación en Metodologías y procesos

Frentes fundamentales de Actuación:

– Controller de Proceso Software

– Implantación de Proceso de Software (MSA). Auditorías y mejora continua

– Gestión del cambio

– Formación en Metodologías y modelado

– Implantación de Herramientas para la Gestión del ciclo de vida de desarrollo

– Hacia CMMI

(23)

Implantación de Proceso Software en Arsys

FASE 1 (Jul06-Ene08)

– Compromiso de la Dirección

– El Controller de Proceso Software lidera el Plan – Definición del Proceso Software en Arsys (MSA)

• Etapas. Ciclo de Vida

• Documentos Entregables

• Responsabilidades

• Auditorías de Proyectos

• Indicadores. Cuadro de Mando del Proceso.

• Guías y Normas (código, seguridad, diseño, usabilidad) – Mejora Continua del Proceso

– Comité de Calidad Software (CCSA)

– Formación en Metodología y lenguaje de modelado UML

(24)

Implantación de Proceso Software en Arsys

(25)

Implantación 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 aritmética mensual indicadores

Reqs. D.T. Implem. Pruebas Paso Prod. Planif. Total

De 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,69

De 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,86

De 23-mar a 11-abr 0,98 0,87 1,00 0,75 0,87 0,75 0,87

De 11-abr a 21-may 0,89 0,91 0,98 0,92 0,98 0,92 0,93

De 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 Incumplimientos

Grano Grueso

CUMPLIMIENTO METODOLOGÍA

0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 1,00 1,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 Requisitos

Diseño técnico Implementación Pruebas Paso producción Planificación TOTAL

(26)

Implantación de Proceso Software en Arsys

FASE 2 (Sept07-Abr08)

– Evaluación de herramientas de gestión de ciclo de vida – Selección de IBM Rational Suite

• Modelado de Arquitecturas y Diseño de sistemas

• Automatización de Pruebas de software, funcionales y stress

• Gestión de versiones y de configuración

• Gestión de Defectos

• Gestión de Requisitos (Futuro)

• Deslocalización (Futuro) – Formación en Rational

– Pruebas Piloto

– Plan de Despliegue : Módulos x Sistema

(27)

Implantación de Proceso Software en Arsys

FASE 3 (Dic07-Ene09) – HACIA CMMI

– Asessment ¿ Como estamos ahora ?

– Involucración de otros departamentos/áreas – Formación en CMMI

– Creación del Grupo de Seguimiento de la implantación.

– Plan de acciones en base a recomendaciones – Futuro, Integración de CMMI con ITIL

Objetivo “Certificación en CMMI-3”

(28)

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 deslocalización y externalización es muy

compleja o ineficiente si no existe un proceso

software. Es importante marcar el protocolo de

interacción.

(29)

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

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)