Está en la página 1de 5

Pgina 1

(joscha.jenni@mimacom.com)
Dirige el rea de Administracin de
Proyectos de mimacom ag y trabaja
como gestor de proyectos y asesor
en el rea de Desarrollo de
Software. Desde hace aos se
ocupa de los procesos giles y su
implementacin.
(maurice.perriard@mimacom.com)
Es Scrum-Master y gestor de proyectos
de mimacom ag. Aparte de la gestin de
proyectos, Maurice emplea su experiencia
para la mejora de procesos y la creacin
de herramientas para recabar ndices de
productividad y de cumplimiento.

(silvio.wandfluh@mimacom.com)
Es Scrum-Master y gestor de proyectos
de mimacom ag. Adems de la gestin
de proyectos, Silvio se ocupa de las
reas de Mejora Continua de Procesos
e Innovacin en Gestin de Proyectos.
Adems ha formado parte del equipo
del proyecto CMMI nivel 5.

Compatibilidad entre Scrum y CMMI: con agilidad
hacia el nivel 5 de CMMI

Asegurar y reproducir calidad de forma fiable requiere de procesos bien definidos cuya aplicabilidad posterior debe, adems, quedar
garantizada. Hoy en da, la satisfaccin del cliente y la productividad requieren agilidad, es decir, que en el transcurso de un proyecto
se puedan incorporar nuevas conclusiones o requerimientos para potenciar la usabilidad hacia el cliente. Combinando control y
libertad en su justa medida, se puede aplicar lo primero sin perder lo segundo. El objeto de este artculo es mostrarle precisamente
eso: cmo combinar ambos enfoques en la implantacin de su Sistema de Control de Calidad para crear un valor aadido, tanto para
el cliente, como para s mismo. La calidad del software, cmo producirla y garantizarla, es una cuestin tan importante como
compleja. Podemos hallar la respuesta a dicha duda en varios niveles.

Acaso la calidad del software se debe
a la genialidad y talento de un
desarrollador combinado con su tica
de desarrollar nicamente trabajos de
primera? O es la calidad resultado de
los procesos en los que se refleja la
poltica y la gestin de una empresa?
La respuesta a esta pregunta puede
formularse con un tanto... como....
La motivacin y la habilidad de cada
uno de los miembros de un equipo de
desarrolladores son, con certeza,
condiciones indispensables para que se
pueda desarrollar software de calidad
(vase tambin [Pau12]). Sin embargo,
por s solas no son suficientes, tal y
como lo formul W. E. Deming:
The supposition is prevalent the world
over that there would be no problems
in production or service if only our
production workers would do their jobs
in the way that they were taught.
Pleasant dreams. The workers are
handicapped by the system, and the
system belongs to management
([Dem00], P. 134).
Pero para una implementacin y
gestin eficaz de proyectos software
complejos debe darse, adems, otra
condicin. Se debe garantizar que se
dispone del tiempo y dinero necesario
para adoptar medidas de garanta y
mejora de la calidad y que tanto la
motivacin como el talento puedan
desarrollarse bajo la presin de las
fechas de entrega. La definicin de
procesos y su mejora constante ayudan
a regular este aspecto y su aplicacin
en todos los procesos de una empresa.
CMMI! Qu es?
El concepto Gestin de la calidad
engloba todas las medidas de calidad
de procesos que tienen como objetivo
la mejora de productos y servicios, que
en ltimo trmino llevan a una mayor
satisfaccin del cliente. Para precisar
este concepto general de Gestin de la
calidad y poder hacer valoraciones
sobre su idoneidad, se han introducido
diversas normas y sistemas. La norma
ms conocida y expandida en Europa
en cuanto a Sistema de Gestin de la
Calidad es ISO 9001. Esta norma est
orientada al proceso y entiende la
calidad como parte de la cultura
empresarial. La norma crea un marco
en el cual la empresa puede presentar
su capacidad para producir y prestar
sus productos y servicios de tal manera
que cumplan las exigencias del cliente y
de la ley. Aparte de unos pocos
procedimientos obligatorios, la norma
ISO 9001 apenas da especificaciones.
De modo que sta se puede aplicar a
todos los sectores: una peluquera
puede acreditar la certificacin al igual
que una empresa de software.



Pgina 2

La certificacin implica dicho de forma
breve que una empresa implementa
correctamente los procesos
establecidos por la norma, elabora
descripciones tiles sobre stos y
finalmente los cumple.
Esto ya supone mucho, sin embargo
con este sistema de gestin de la
calidad, no se pueden comparar
empresas ni siquiera dentro del
mismo sector.
CMMI (Capability Maturity Model
Integration) es un modelo de gestin
de calidad especialmente diseado para
el desarrollo software, que ofrece dos
caminos para la mejora mediante
niveles.
Los niveles de capacidad hacen
referencia a la manera en que una
organizacin logra mejorar los procesos
en sus reas clave. Estos niveles sirven
para mejorar gradualmente los
procesos dentro de un rea clave de un
proceso concreto. Los niveles de
madurez hacen referencia a la manera
en que una organizacin logra mejorar
los procesos en varias reas clave de
proceso. Estos niveles sirven para
mejorar los procesos que pertenecen a
una cantidad determinada de reas
clave de proceso, es decir, a un nivel
de madurez (vase [CMM11] p. 33 y ss.
adems de [kne07], p. 18 y ss.) (Vase
Tabla 1).

La representacin en niveles de
capacidad se centra en reas clave de
proceso concretas que mejoran
gradualmente. La representacin en
niveles de madurez trata de mejorar
varias reas clave de proceso de un
determinado nivel de madurez. Ambos
mtodos permiten que una empresa
desarrolle sus procesos, y mida hasta
donde puede mejorarlos y hasta qu
punto lo hace realmente.
Las especificaciones detalladas de CMMI
respecto a los objetivos a alcanzar y las
prcticas a realizar conforman un
marco concreto para un sistema de
gestin de calidad. Una CMMI Appraisal
(evaluacin CMMI) asegura que una
determinada empresa cumple los
requisitos hasta cierto nivel. Al ser
posible comparar requisitos y niveles de
madurez, resulta posible comparar
empresas. Con la prctica y los
objetivos de CMMI se establecen
requisitos acerca de qu se debe hacer;
la cuestin del cmo sigue siendo cosa
de la empresa.
Desarrollamos con agilidad
No es fcil desarrollar con xito
sistemas de software para clientes si se
tiene en cuenta el hecho de que, al
comienzo del proyecto ni el fabricante,
ni el cliente saben cmo debe quedar el
producto final. Dado que al
implementar un nuevo sistema de
software a menudo tambin cambian
los procesos, aumenta el riesgo de
crear un sistema que no cumple con las
expectativas.
Una posible solucin a esta
problemtica se ha formulado en el
Manifiesto por el Desarrollo gil
[BEC01]. Este sistema de valores pone
Tabla2. Diferencias entre Scrum y CMMI



Pgina 3

nfasis en las personas y en su
colaboracin, en software que funcione
y en las necesidades del cliente,
aunque stas cambien. Pronto uno se
da cuenta de que se trata de algo ms
que ser amable con el otro y desarrollar
software conjuntamente. Para emplear
efectivamente esta ideologa se han
elaborado diversos modelos de
procedimiento giles, y uno de ellos es
Scrum.
Scrum aborda las dificultades antes
mencionadas con tan solo unas pocas y
sencillas reglas, define unos pocos roles
repartiendo las tareas de manera clara
y describe algunos artefactos que se
cumplimentan, adems del trabajo en
equipo, ya sea en reuniones o ad hoc.
Para una descripcin detallada de
Scrum, vase la bibliografa que est
parcialmente disponible en la red
([Sch11] o [Pic07]).
CMMI y Scrum se integran
Entonces no sera posible combinar las
buenas prcticas funcionales de Scrum
y CMMI? A primera vista ambos tienen
poco que ver. Incluso si se observan
ms detalladamente, puede crecer la
preocupacin de que la combinacin de
ambos est destinada al fracaso, dado
que los requisitos de control y
documentacin de un sistema de
gestin de calidad conforme a ISO 9001
y CMMI nivel 5 resultan simplemente
incompatibles con la interactividad en el
entorno gil, donde las condiciones
cambian constantemente (vase Tabla
2).
En la prctica, la aplicacin ortodoxa
del Manifiesto por el Desarrollo gil
lleva a un desencanto en su prctica en
enfoques giles. La evolucin ms
reciente del Manifiesto y la aventurada
delimitacin frente a temas como QA
clsica (Aseguramiento de la Calidad o
Quality Assurance), arquitectura y
requisitos no funcionales, gestin de
proyectos y contratacin, contribuyen a
que los clientes no quieran ni or hablar
de agilidad, o lo que es lo mismo, que
no se llegue a la contratacin sobre
esta base.
La incorrecta aplicacin de CMMI
puede, adems, suponer una
administracin tediosa, largos
procesos de toma de decisin, la
frustracin de los desarrolladores; o
puede promover la pereza mental o
falta de responsabilidad (Pero si lo he
hecho todo bien!), aparte de desviar
la atencin para lograr los objetivos del
proyecto.
Sin embargo, tras un segundo examen
aparecen curiosas similitudes la Tabla
3 ofrece una seleccin parcial.
1 + 1 = 3 Hacer una cosa sin dejar
de hacer la otra.
El secreto de la compatibilidad est en
el mbito de aplicacin. El Sistema de
Gestin de Calidad describe todos los
procesos de la empresa y su
interaccin, mientras que Scrum regula
el procedimiento a seguir en el proceso
de desarrollo. Por tanto se trata ms
bien de una integracin, ms que de
una combinacin (vase Imagen 1).
Scrum constituye, adems, una base
ideal para recabar y documentar
parmetros mediante sus mtodos de
planificacin y gestin. La cultura de
intercambio y mejora que conlleva
Scrum no queda anulada por los
requisitos de un proceso de control
estadstico, sino que sirve de apoyo
metdico. En la prctica, al incorporar a
un proyecto lo bueno de ambos
enfoques, las siguientes solucione
tienen xito:
Nosotros decimos COMO:
Implantacin de CMMI en las
tareas cotidianas de Scrum. CMMI
no es nada nuevo, y tampoco
existen best practices sino good
practices. Estas ltimas son
Imagen 1. Scrum integrado en CMMI



Pgina 4

aquellas que ya estn
funcionando.
Documentacin no siempre es
Word: Resultados de reuniones
Scrum son perfectamente vlidos
para documentarse,
especialmente, si se archivan
digitalizados: una pizarra
fotografiada, hojas sobre medidas
escaneadas, etc.
Listas de comprobacin: Segn
CMMI, en las listas de
comprobacin de errores se
pueden introducir y documentar
bajo la definition of done o
definition of ready diversos
elementos de validacin,
verificacin, PPQA, diseo de
requisitos (Requirements Design)
y gestin de requisitos
(Requirements Management).
La gestin de proyecto de calidad
se hace con Burndown-Charts:
Para hacer afirmaciones
acertadas, con CMMI se puede
hacer uso de elementos giles
como burndown charts, pero sobre
todo de KPIs como TeamSpeed
segn XP y tambin para CMMI.
Setup: El comienzo correcto de un
proyecto es fundamental
independientemente de CMMI o
Scrum. Da igual que este sea un
Sprint 0 o una fase anterior a
Scrum se tienen que tratar
temas como: arquitectura,
direccin de proyecto,
construccin de la infraestructura
o el backlog del producto, etc.
Tambin aqu son de gran ayuda
las listas de comprobacin para
cumplir con las comprobaciones
exigidas por CMMI.
El xito de mimacom, de aglutinar
tanto el enfoque gil como el de CMMI
en TQMi, consisti en no priorizar las
prcticas y los objetivos de CMMI, sino
la pregunta: cmo lo ha hecho
mimacom hasta la fecha?
De esta manera se pudo constatar que,
inconscientemente, muchas de las
prcticas ya se estaban llevando a
cabo. Y gracias a ello se ha podido
limitar la localizacin de algunas
lagunas en reas concretas de los
niveles 2, 3 y parcialmente en el 4.
Para algunas de estas lagunas, Scrum o
las herramientas y procedimientos
preexistentes de mimacom ya tenan
Imagen 2. Ciclo de mejora de proceso continua



Pgina 5

soluciones muy pragmticas (Vase
Tabla 4).
El proceso hacia el nivel 5
Con TQMi y el empleo del sistema
Scrum se pueden alcanzar los objetivos
del nivel de madurez 3. Pero cmo
logra una empresa, que quiere
desarrollar de forma gil, cumplir los
requisitos de nivel 4 y 5?
Aqu de lo que se trata es de medir
durante un periodo de tiempo
prolongado los procesos iniciados,
recabar los datos relevantes,
procesarlos y sacar las conclusiones
correctas para, en consecuencia, tomar
las medidas oportunas. Conforme con
la visin de mimacom: Queremos
siempre superarnos a nosotros mismos,
antes de que lo hagan otros. En primer
lugar para nuestros clientes, y en
segundo lugar por nuestro propio
inters, se acepta el desafo de esta
manera.
A partir del anlisis de los
requerimientos de los niveles 4 y 5,
muchas horas de reflexin y un
procedimiento conciso para alcanzar
dichos niveles se fue creando un
proceso que posteriormente sirvi de
base a todos los dems procesos y sus
descripciones (vase Imagen 2).
Los datos de los distintos proyectos se
almacenan en el KPI Repository de
proyecto; estos son necesarios para la
evaluacin de los KPIs definidos. La
evaluacin de los proyectos se hace,
por una parte junto a los dems
procesos de mimacom ag y, por otro
lado, mediante estadsticas que cada
trimestre se incorporan al informe de
gestin.
Las estadsticas conforman, junto con
los procesos evaluados de la
organizacin, la base para respaldar
sensaciones instintivas o decisiones del
equipo directivo. Con el informe de
gestin el responsable de calidad
plantear medidas para mejorar los
procesos en el futuro. Los modelos y
procesos adaptados, as como las
conclusiones basadas en experiencias
del pasado aportarn informacin para
proyectos y tareas futuras. De esta
forma el ciclo se cierra y el proceso de
mejora continua comienza de nuevo.
Nosotros llegamos ms lejos!
De acuerdo con la visin de mimacom,
la evolucin no termina con el nivel 5
de CMMI y ya corresponde dar los
siguientes pasos. Mediante la
implantacin de la Toolsuite de
edorasware, una sociedad participativa
de mimacom ag, se pretende
implementar la automatizacin de
procesos o partes de procesos, all
donde sirva de ayuda a las personas en
su trabajo y donde tenga sentido.
CMMI y agilidad se complementan muy
bien combinadas en su justa medida
y crean un valor aadido empresarial.
La clave est en fuerza de voluntad y
en estar abierto a soluciones
pragmticas que realmente funcionen
para el producto y para el cliente.