Está en la página 1de 29

Beneficios de la implantacin de una

metodologa para el ciclo de vida de


desarrollos software

Direccin de Desarrollo y Aplicaciones


Miguel Martnez Vlez

Agenda
1.
2.
3.

4.
5.
6.
7.
8.
9.

Introduccin
El Proceso Software
Modelos de Evaluacin y mejora de proceso software
ISO 9001
CMMI
SPICE
Modelos Agiles
Posicionamiento de Modelos
Beneficios de implantacin del Proceso Software.
Caso: Implantacin del Proceso Software en Arsys.
Conclusiones.
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 de
un 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

Estimacin, planificacin y control de recursos


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

Subproceso de Gestin

Proceso Software

Composicin:

Estructura Organizacional
Tecnologa de Desarrollo Software (herramientas,
entornos)
Mtodos y tcnicas de Desarrollo Software. Ciclo de vida
Mejorar
el proceso
Definir
el proceso

Medir
el proceso
Controlar
el proceso

Ejecutar
el proceso

Proceso Software

Elementos Bsicos

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

Tiene_entrada
Tiene_intermedio

ACTIVIDAD

Tiene_salida
emplea

HERRAMIENTA

DESARROLLADOR
necesita
desempea

ROL

obedece

DIRECTIVA

PRODUCTO

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

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

Demasiado General
No explica la implementacin del proceso de mejora

Puntos Fuertes

Puntos Dbiles

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
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 Prcticas Clave


(KP)

Ejemplos y actividades de que se


deben realizar para cumplir objetivos
de una KPA

Caractersticas Comunes

Atributos que indican el grado de


implementacin de una KPA

Modelos de Evaluacin y Mejora de Procesos


Software CMMI

NIVEL

CARACTERSTICAS

INICIAL

Ausencia de gestin de proyectos


El proceso de software es cambiante e irregular
Los grupos abandonan facilmente los planes y se centran en codificacin y pruebas
Los planes y estimaciones son impredecibles
El rendimiento depende de la capacidad individual de los miembros del grupo

RESULTADOS

PRODUCTIVIDAD Y CALIDAD ESCASA


RIESGO MXIMO

REPETIBLE

Los procesos software son estables y repetibles


La organizacin establece polticas de gerencia de proyectos y procesos
La planificacin se basa en proyectos similares
Existen estandares definidos y exigidos

PRODUCTIVIDAD Y CALIDAD BAJA


RIESGO ALTO

DEFINIDO

Los procesos son definidos, estandarizados, documentados e institucionalizados


Los procesos de ingeniera y gestin son estables y se integran en uno solo
Existe un entendimiento comn de los procesos, funciones y responsabilidades
La organizacin tiene un grupo dedicado a definicin, mejora y difusin del proceso software

PRODUCTIVIDAD Y CALIDAD MEDIA


RIESGO MEDIO

GESTIONADO

Los procesos son medibles y cuantificables


La productividad y calidad se miden y registran para cada proyecto de la organizacin
Se fijan metas cuantitativas de la calidad del software
Mediante el uso de mtricas de software se crea una base cuantitativa para evaluacin

PRODUCTIVIDAD Y CALIDAD ALTA


RIESGO MNIMO

OPTIMIZADO

Los procesos se mejoran continuamente


La organizacin busca lograr el mximo nivel de capacidad
Se incorporan nuevas tecnologas y mtodos para mejorar los procesos

PRODUCTIVIDAD Y CALIDAD TOTAL


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

CMMI STAGED

Mejora Continua

Gestin Cuantitativa

Estandarizacin
de Proceso

Gestin Bsica
de proyectos

GESTIONADO
GESTIONADO

DEFINIDO
DEFINIDO

REPETIBLE
REPETIBLE

INICIAL
INICIAL

OPTIMIZADO
OPTIMIZADO

Innovacin y Distribucin Organizacional


Anlisis Causal y Resolucin

Rendimiento de Proceso Organizacional


Gestin Cuantitativa de Proyectos
Gestin Cuantitativa de Suministrador

Desarrollo RQS
Enfoque Proceso Organizacional
Solucin Tcnica
Definicin Proceso Organizacional
Integracin Producto Formacin de la Organizacin
Verificacin
Gestin Integrada de proyectos
Validacin
Gestin de Riesgos
Anlisis de decisin y resolucin

Gestin RQS
Medicin y Anlisis
Planificacin de Proyectos
Gestin de Configuracin
Monitorizacin y control de proyectos
Gestin de acuerdos con suministrador
Aseguramiento de calidad del proceso y producto

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
mbito de aplicacin Genrico
En su favor
El ms extendido y
sencillo
En su contra
Simple, general, no
gua paso a paso
Procesos

Estructura propia

Validacin

Encuestas
satisfaccin

Objetivo

Cumplimiento
de
requisitos de calidad
por procesos
Plana

Representacin
Tcnicas anlisis

Guas y listas de
comprobacin
Mtodo para mejora Ninguno, gua ISO
de procesos
9004

CMMI
ISO 15504
Software y Sistemas Software y Sistemas
El de mayor prestigio Ms consensuado y
probado
Difcil de entender, Difcil en capacidad,
mayor
inversin, complejo
para
prescriptivo
evaluar
Estructura propia
Delega en ISO
12207, por mayor
aplicabilidad
Encuestas
Trials y esfuerzo
satisfaccin y casos emprico
de estudio
Mejora del proceso, Valoracin
del
determinacin
proceso y gua para
capacidad contratista la mejora.
Continua y por Continua (por etapas
etapas
a nivel de proceso)
Cuestionarios
de Varios
evaluacin
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, Adaptative
Development, 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)

MIL-STD-498
DOD-STD-2167

Poca
Ceremonia

Mucha
Ceremonia
RUP

CMMI

SCRUM
XP
AD
Iterativo (Risk-driven, integracin y testing continuo)

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


Indicadores Globales de Cuadro de Mando de Desarrollo
INCUMPLIMIENTOS DE GRANO GRUESO

% Proyectos MSA Abreviada

30-nov-06
7,1%

30-dic-06 12-feb-07 23-mar-07 11-abr-07 21-may-07


11,1%
15,0%
32,0%
30,8%
37,5%

13-jun-07

18-jul-07

% 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

14,3%

22,2%

0,0%

4,5%

4,3%

6,9%

3,00
2,50

% Proyectos sin entrada (internos)

2,00
1,50
1,00
0,50
0,00

D.T.
0,52
0,62
0,81
0,84
0,98
0,89
0,92
0,97

0,81
0,70
0,89
0,82
0,87
0,91
0,84
0,93

Implem.
Pruebas
Paso Prod. Planif.
Total
0,80
0,49
0,81
0,19
0,60
0,89
0,72
0,79
0,40
0,69
1,00
0,68
0,75
0,81
0,82
0,98
0,87
0,90
0,73
0,86
1,00
0,75
0,87
0,75
0,87
0,98
0,92
0,98
0,92
0,93
1,00
0,94
0,90
0,87
0,89
1,00
0,92
0,94
0,99
0,91

25

Reqs.
De oct a 30-nov
De 30-nov a 30-dic
De 30-dic a 12-feb
De 12-feb a 23-mar
De 23-mar a 11-abr
De 11-abr a 21-may
De 21-may a 13-jun
De 13-jun a 18-jul

/1
1
1 0 / 20
/1 0 6
2 5 2 / 20
/1 0 6
0 9 2 / 20
/0 0 6
2 4 1 / 20
/0 0 7
1
0 8 / 20
/0 0 7
2 3 2 / 20
/0 0 7
1 0 2 / 20
/0 0 7
3
2 5 / 20
/0 0 7
0 9 3 / 20
/0 0 7
4
2 4 / 20
/0 0 7
0 9 4 / 20
/0 0 7
2 4 5 / 20
/0 0 7
5
0 8 / 20
/0 0 7
2 3 6 / 20
/0 0 7
6
0 8 / 20
/0 0 7
7/
20
07

Media aritmtica mensual indicadores

N Medio Incumplimientos
Grano Grueso

CUMPLIMIENTO METODOLOGA

INDICADORES PORCENTUALES

40,0%

1,10
1,00

Pruebas
Paso produccin
Planificacin
TOTAL

0,80
0,70

15,0%

20,0%
10,0%

0,60
0,50
0,40
0,30
0,20
0,10
0,00

5,0%
0,0%
/1
1
1 0 /2 0 0
/1
2 6
2 5 /2 0 0
/1
2 6
0 9 /2 0 0
/0
1 6
2 4 /2 0 0
/0
1 7
0 8 /2 0 0
/0
7
2/
23 2 00
/0
2/ 7
10 2 00
/0
7
3
2 5 /2 0 0
/0
7
3/
09 2 00
/0
7
4
2 4 /2 0 0
/0
4/ 7
09 2 00
/0
5 7
2 4 /2 0 0
/0
5 7
0 8 /2 0 0
/0
6/ 7
20
07

Implementacin

25,0%

% MSA Abreviada

% Proyectos internos
25

Diseo tcnico

30,0%

0,90

25
1 0 /1 1
/
2 5 /1 2 2 0 0
/
0 9 /1 2 2 0 0 6
/
/
0
24 1 2006
/
0 8 /0 1 2 0 0 6
/
2 3 /0 2 2 0 0 7
/
1 0 /0 2 2 0 0 7
/
2 5 /0 3 2 0 0 7
/
0 9 /0 3 2 0 0 7
/
2 4 /0 4 2 0 0 7
/
0 9 /0 4 2 0 0 7
/
2 4 /0 5 2 0 0 7
/
0 8 /0 5 2 0 0 7
/
2 3 /0 6 2 0 0 7
/
0 8 /0 6 2 0 0 7
/0 / 2 0 7
7/ 0
20 7
07

Requisitos

35,0%

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

También podría gustarte