Está en la página 1de 35

Mejora de los Procesos de

Desarrollo Software
Visin Prctica
Mster Oficial en Ingeniera y Tecnologa del Software
Universidad de Sevilla

Instituto Nacional
de Tecnologas
de la Comunicacin

ndice
Presentacin
Parte 1
Introduccin Calidad del Software
Parte 2
Mejora de los Procesos de Desarrollo Software
Parte 3
Proyecto de Mejora de Procesos de Desarrollo Software
Fuentes / Contacto

ndice
Parte 1: Introduccin Calidad del Software
Elementos que influyen en la calidad del software
Niveles de gestin de la calidad
Normas, modelos y metodologas
Diagnstico de la calidad del software en Espaa
Caso particular: La PYME en Espaa
Situacin actual

Introduccin Calidad del Software


Elementos que influyen en la calidad del software

Procesos

Herramientas

Personas

Calidad del Software


4

Introduccin Calidad del Software


Niveles de gestin de la calidad (1)
A nivel de producto:
Cuando nos centramos en el proceso de desarrollo de software y hacemos una serie de pruebas en
paralelo con cada etapa, para detectar y corregir los posibles defectos que puedan surgir.

A nivel de proyecto:
Cuando nos centramos en controlar todas las fases y reas de gestin de proyecto, implantando
metodologas y mejores prcticas que aseguren la correcta gestin de las mismas.

A nivel de proceso:
Cuando nos centramos en gestionar todas las reas de proceso de una organizacin, mediante la
implantacin de una metodologa. As se consigue tener mayor informacin de los procesos de
modo que puedan controlarse y mejorarse, y produzcan as un aumento de la calidad de los
productos y servicios relacionados con ellos.

La mejora de la calidad en un nivel repercute en el resto de niveles

Introduccin Calidad del Software


Niveles de gestin de la calidad (2)

Introduccin Calidad del Software


Normas, modelos y metodologas
NORMAS, MODELOS Y METODOLOGAS

Orientadas a
Proceso

CMMI

Orientadas a
Producto

TPI/TMAP

ISO/IEC 9126

ISO/IEC 14598

ISO/IEC 25000

ISO 9000

ISO/IEC 15504

RUP

Mtrica 3

Otros
ITMark

SwTQM

Mtodos giles
7

Introduccin Calidad del Software


Diagnstico de la calidad del software en Espaa (1)
La percepcin de la empresa espaola es que los modelos ms aplicables son CMMI, smbolo de
la certificacin de calidad aplicada al software por excelencia, y SPICE, adoptado por ISO como
estndar ISO/IEC 15504.

Un 37% de las empresas conocen CMMI frente a un 51% que lo hace de la ISO/IEC 15504.
CMMI es utilizado por un 38% de las empresas frente a un 8% que utiliza ISO/IEC 15504.
Un 69,2% de los entrevistados sealan CMMI como primera opcin a la hora de elegir un
modelo para su implantacin frente a un 23% que muestran inters por la ISO/IEC 15504.

Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software
en Espaa INTECO (2008)
8

Introduccin Calidad del Software


Diagnstico de la calidad del software en Espaa (2)
De los resultados del estudio se deduce un gran desconocimiento de las propuestas
metodolgicas y herramientas existentes.

Dos de cada tres encuestados de la demanda (64,8%), y uno de cada tres de la oferta (37,6%),
no tienen conocimiento alguno sobre estndares, normas oficiales y metodologas
orientadas a la calidad del software.
Desde el punto de vista de la oferta, los profesionales de la microempresas y de la PYME
tienen un menor conocimiento de las metodologas, estndares y normas de calidad del
software, frente a los profesionales de las grandes empresas.

Fuente: Estudio metodologas y herramientas empleadas en los proyectos software en Espaa y su repercusin
sobre la calidad de los productos y servicios finales - INTECO (2008)
9

Introduccin Calidad del Software


Caso particular: La PYME (1)
La PYME (especialmente las microempresas) tiene un peso especfico muy importante en el
sector de desarrollo de software en Espaa.

La estructura del sector software se compone en un 99,8% de PYME, de las que ms del 85%
son microempresas de menos de 10 empleados.
En Espaa existen en la actualidad 32.023 empresas dedicadas a actividades informticas.
Un total de 31.905 (el 99,63% del total) son PYME.

Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software
en Espaa INTECO (2008)

10

Introduccin Calidad del Software


Caso particular: La PYME (2)
Existe desconocimiento de los modelos de mejora de procesos o producto existentes.

Un 86% de los entrevistados desconoce los modelos de mejora (procesos/producto)


aludiendo falta de informacin.
En caso de conocer los modelos, la sensacin de pionero en este campo provoca rechazar la
posibilidad de certificacin (respuesta de un 65% de entrevistados).

Fuente: Estudio sobre la certificacin de la calidad como medio para impulsar la industria de desarrollo del software
en Espaa INTECO (2008)

11

Introduccin Calidad del Software


Situacin actual (1)

ESPAA: 155

MXICO: 68

BRASIL: 117

REINO UNIDO: 100

FRANCIA: 153

Fuente: Software Engineering Institute (SEI) 2009


12

Introduccin Calidad del Software


Situacin actual (2)
2004

2005

2006

2007

2008

2009

PLAN
AVANZA

TOTAL

NIVEL 1

NIVEL 2

NIVEL 3

NIVEL 4

NIVEL 5

2004

10 o
MENOS

2005

10 o
MENOS

2006

25

NO

SI

SI

NO

SI

2007

55

NO

SI

SI

SI

SI

2008

85

53

25

2009

155

93

48

Fuente: Software Engineering Institute (SEI) 2009


13

ndice
Parte 2: Mejora de los Procesos de Desarrollo Software
Modelos de calidad: procesos y productos
Mejora de la calidad de los procesos
CMMI-DEV SCAMPI
ISO/IEC 12.207 ISO/IEC 15.504
CMMI-DEV vs ISO/IEC 15.504
Modelos orientados a PYME

A nivel internacional

A nivel nacional

Caso de estudio: Proyecto COMPETISOFT


14

Mejora de los Procesos de Desarrollo Software


Modelos de calidad: procesos y productos
TSP/PSP
MTRICA
v3

CMMIDEV

ISO/IEC
9126
MSF

RUP

ISO/IEC
15.504

TickIT

6-SIGMA

Orientacin
a Procesos

TPI/TMAP

Orientacin
a Producto

ISO/IEC
14.598

SCRUM

SwTQM

ISO 9000

XP
DSDM

ITMark

ISO/IEC
25.000

AUP

Quality Principle: The quality of a product is determined by the quality of the


process used to develop it. (Humphrey, W. H. 2005)
15

Mejora de los Procesos de Desarrollo Software


Mejora de la calidad de los procesos (1)
ORGANIZACIN INMADURA

ORGANIZACIN MADURA

Formada por hroes y apagafuegos

Procesos definidos y gestionados

Con altibajos en la productividad

Mejora en la deteccin temprana de


errores

Fuerte rotacin de recursos


Con planificaciones y estimaciones poco
realistas

Reduccin de errores en los productos


desarrollados (poco mantenimiento)
Planificaciones y estimaciones realistas

Dedicacin de mucho esfuerzo en


mantenimiento

Cumplimiento de plazos y presupuestos

Incumplimiento de plazos y presupuestos

Incremento de la productividad

Baja calidad de los productos


desarrollados

Calidad de los productos desarrollados


(satisfaccin del cliente)

16

Mejora de los Procesos de Desarrollo Software


Mejora de la calidad de los procesos (2)

Mejora de la Calidad de los Procesos


Modelos (de
Referencia) de
Procesos

CMMI-DEV

ISO/IEC
12.207

Modelos de
Evaluacin de
Procesos

SCAMPI

ISO/IEC
15.504

17

Mejora de los Procesos de Desarrollo Software


CMMI-DEV - SCAMPI
CMMI-DEV: Modelo de Procesos
Modelo propietario del SEI (Software
Engineering Institute)
Evolucin de CMM (finales de los 80).
Actualmente: CMMI-DEV v1.2
Tres constelaciones del modelo: CMMIDEV, CMMI-ACQ y CMMI-SVC
Dos representaciones: 1. Escalonada (por
etapas), cinco niveles de madurez
organizacional, 2. Continua, capacidad de
los procesos
No existe un proceso de certificacin (no
es una norma)

SCAMPI: Mtodo de Evaluacin


Lead Appraisers: profesionales
reconocidos por el SEI que evalan frente
al Modelo de Procesos (CMMI-DEV)
ARC (Appraisal Requirements for CMMI):
documento de principios de evaluacin
SCAMPISM (Standard CMMI Appraisal
Method for Process Improvement):
documento de definicin del mtodo
Tipos de revisiones bajo SCAMPI: clase A,
clase B y clase C.
Puntuacin de implementacin de
prcticas: FI, LI, PI y NI.

18

Mejora de los Procesos de Desarrollo Software


ISO/IEC 12.207 ISO/IEC 15.504
ISO/IEC 12.207: Modelo Procesos

ISO/IEC 15.504: Modelo Evaluacin

Norma internacional. ltima versin


ISO/IEC 12.207: 2008: modelo de
procesos para el ciclo de vida del SW.

Norma internacional compuesta por 7


partes: normativas (1, 2 y 7) y no
normativas (3, 4, 5 y 6).

Dos grupos de procesos:


Contexto del Sistema (4 subgrupos):
procesos de acuerdo, procesos
organizacionales de proyecto, procesos
de proyecto y procesos tcnicos.
Especficos del Software (3
subgrupos): procesos de
implementacin del software, procesos
de soporte del software y procesos de
reutilizacin del software.

Actualmente en desarrollo las partes 8, 9 y


10 y la evolucin de la norma a la familia
de normas 33.xxx.

Alineada con ISO/IEC 15.288: 2008:


procesos del ciclo de vida del Sistema.

Tipos de evaluaciones:
Niveles de capacidad, a nivel de
proceso (6 niveles): incompleto,
realizado, gestionado, establecido,
predecible y optimizado.
Niveles de madurez, a nivel de
organizacin (6 niveles): inmadura,
bsica, gestionada, establecida,
predecible y optimizando.
19

Mejora de los Procesos de Desarrollo Software


CMMI-DEV vs ISO/IEC 15.504
Popularidad: CMMI-DEV es ms popular (a nivel nacional) que ISO/IEC 15.504.
Adaptabilidad: Constelaciones CMMI (CMMI-DEV, CMMI-ACQ y CMMI-SVC, 16 reas de
proceso comunes) reas de aplicacin de ISO/IEC 15.504 (SPICE-AUTOMATIVE,
medicina, banca, etc.)
Dinamismo: CMMI-DEV propiedad del SEI, adaptaciones rpidas. ISO/IEC 15.504, norma
internacional, las modificaciones son aprobadas a nivel internacional (comits, subcomits y
grupos de trabajo), evolucin de la norma hacia la familia de normas 33.xxx 2011.
Idioma: CMMI-DEV v1.2 en castellano. ISO/IEC 15.504, no existe versin en castellano (de
forma oficial, como norma UNE). Propuesta del AEN/CTN71/SC7/GT7 a AENOR para la
traduccin de ISO/IEC 12.207:2008 (existen versiones en varios pases iberoamericanos).
Propiedad: CMMI no est avalado por una organizacin internacional como ISO (no es un
estndar internacional), es un estndar de facto de uso internacional.
Equivalencia: Las reas de proceso de CMMI-DEV e ISO/IEC 15.504 no son 100%
equivalentes, pero es posible llevar a cabo procesos de adaptacin para alinear ambos
modelos.
20

Mejora de los Procesos de Desarrollo Software


Modelos orientados a PYME A nivel internacional (1)
PROSOFT (Mxico)
Programa para el Desarrollo de la Industria del Software (Secretara de Economa).
Modelo de Referencia de Procesos (MoProSoft) y Mtodo de Evaluacin de Procesos
(EvalProSoft), basado en ISO/IEC 15.504-2.

PBQP-Software (Brasil)
Programa PBQP-Software Proyecto MPS.BR (Melhoria do Processo de Software Brasileiro).
Modelo de Referencia de Procesos (MR-MPS), Modelo de Evaluacin de Procesos (MA-MPS),
alineado con ISO/IEC 15.504-2 y Modelo de Negocio (MN-MPS).

SIMEP-SW (Colombia)
Marco de trabajo Agile-SPI: Modelo de Referencia de Procesos (Light Quality Model),
Modelo de Evaluacin de Procesos (Light Evaluation Model) y Modelo de Medidas de
Proceso (Light Metrics Model)

Caractersticas comunes
Objetivo final: adaptabilidad a la PYME
21

Mejora de los Procesos de Desarrollo Software


Modelos orientados a PYME A nivel internacional (2)

IPSS (Improving Processes in Small Setting)


Consorcio Internacional de Investigacin de Procesos (IPRC)
Mejora de Procesos en Small Settings: proyectos pequeos (< 20 personas), pequeas
organizaciones (< 50 personas) y pequeas empresas (< 100 personas).

ISO/IEC 29110 (Lifecycle Profiles for Very Small Enterprises)


Grupo de trabajo ISO: SC7-WG24
Mejora de Procesos en Very Small Enterprises (< 25 personas)

Visin General TR 29110-1


Perfiles ISP ISP 29110-2, ISP 29110-4
Guas TR TR 29110-3, TR 29110-5
22

Mejora de los Procesos de Desarrollo Software


Modelos orientados a PYME A nivel nacional
ITMark (ESI)
Mtodo que mejora de forma integrada los procesos de negocio, de
desarrollo y de seguridad de la informacin de una organizacin.
Tres niveles de madurez: ITMark Bsico, ITMark Premium e IT Mark Elite.

Gua de implementacin de ISO/IEC 15.504 (AENOR)


Conforme con las partes normativas de la norma ISO/IEC 15.504 (partes 1, 2 y 7) y con la
ltima versin del modelo de procesos ISO/IEC 12.207:2008.
Facilita la integracin con otras normas ISO: ISO 9001, ISO/IEC 27001 e ISO/IEC 20000, est
alineada con la futura norma ISO/IEC 29110 y cumple la norma ISO/IEC 17021.

23

Mejora de los Procesos de Desarrollo Software


Caso de estudio: Proyecto COMPETISOFT (1)
ISO/IEC 15.504-2

Normas/Modelos internacionales

Modelo
Evaluacin
Procesos

MoProSoft

Modelo
Mejora
Procesos

Modelo
Referencia
Procesos

Agile SPI

COMPETISOFT

24

Mejora de los Procesos de Desarrollo Software


Caso de estudio: Proyecto COMPETISOFT (2)
Modelo Referencia Procesos

Alta Direccin

Gestin de Negocio

Gestin

Operacin

Gestin de Procesos

Administracin Proyecto

Gestin de C. Proyectos

Desarrollo Software

Gestin de Recursos

Mantenimiento Software

Gestin de RRHH
Gestin de Bienes, Servicios
e Infraestructura
Gestin del Conocimiento
25

ndice
Parte 3: Proyecto de Mejora de los Procesos de Desarrollo Software
Necesidad de mejora FAQ
Pasos hacia la mejora
Proyecto de mejora
Casos prcticos
Implantacin de CMMI-DEV
Implantacin en Proyecto COMPETISOFT

26

Proyecto Mejora Procesos de Desarrollo Software


Necesidad de mejora - FAQ
Cmo puedo mejorar mi producto software?
Evaluacin / Certificacin / Acreditacin
Qu modelos existen en el mercado y cul es el que ms me conviene?
Procesos / Producto
Qu pasos debo seguir? qu debo invertir y qu mejoras puedo obtener
implantando un modelo de calidad?

Quin me puede ayudar?

27

Proyecto Mejora Procesos de Desarrollo Software


Pasos hacia la mejora

Evaluacin
(Certificacin)
Proyecto de
mejora

Eleccin del
modelo

28

Proyecto Mejora Procesos de Desarrollo Software


Proyecto de mejora (1)
Definicin de objetivos

Propsito
Factores de xito
Restricciones y dependencias

Definicin del alcance

Alcance inicial
WBS (Work Breakdown Structure)

Fases y actividades
Recursos
Planes del proyecto

Procesos del proyecto

Estimaciones
Cronograma
Hitos y entregables
Materiales
Personales
Plan de comunicacin
Plan de riesgos

Supervisin y control
Gestin de cambios
Aceptacin del cliente
Gestin de problemas
Gestin documental
29

Proyecto Mejora Procesos de Desarrollo Software


Proyecto de mejora (2)

Inicio del
proyecto

Anlisis de
la situacin

Definicin
del alcance

Plan de
mejora

Implementacin
del plan de
mejora

Registro de
lecciones
aprendidas

30

Proyecto Mejora Procesos de Desarrollo Software


Proyecto de mejora (3)

Plan de
mejora

Implementacin
del plan de mejora

Ciclo de
mejora

Diagnstico
Procesos

Registro de
lecciones
aprendidas

Planificar
Mejora

Iteraciones de mejora

Lecciones
aprendidas

Implementar
Mejora

31

Proyecto Mejora Procesos de Desarrollo Software


Casos prcticos: Implantacin de CMMI-DEV
Beneficios
Mejora en los procesos
Planes de Mejora
Evaluacin
(Certificacin)
Proyecto
de mejora

Mejora estimacin de proyectos


Transparencia seguimiento/control proyectos

Eleccin
del
modelo

Definicin de objetivos

Crecimiento Mejoras control/seguimiento proyectos

Definicin del alcance

reas de proceso del Nivel 2 CMMI

Fases y actividades
Recursos

Planificacin proyecto. Duracin: 10 meses


Incremento RRHH. Metodologa RUP

Planes del proyecto

Riesgos del proyecto

Procesos del proyecto

Gestin de cambios
Gestin de problemas
32

Proyecto Mejora Procesos de Desarrollo Software


Casos prcticos: Implantacin en Proyecto COMPETISOFT
Ciclo de
mejora

Diagnstico
Procesos

Planificar
Mejora

3 Iteraciones de mejora

Lecciones
aprendidas

Diagnstico
Procesos

Implementar
Mejora

Planificacin
Valoracin

Ejecucin
Valoracin

Generacin
Resultados

Priorizacin
Procesos

33

Fuentes / Contacto
CMMI-DEV
Pgina del SEI: http://www.sei.cmu.edu/

ISO/IEC 15.504
Pgina en castellano: http://www.iso15504.es/

Proyecto COMPETISOFT
Libro COMPETISOFT: Mejora de Procesos Software para Pequeas y Medianas
Empresas y Proyectos, RA-MA Editorial

Calidad del Software


Guas Calidad del Software: https://www.inteco.es/Calidad_del_Software/descargas/guias/

Contacto: antonio.sepulveda@inteco.es

34

www.inteco.es

También podría gustarte