|
CMM: asegure la eficacia de su software
por
Baquia Inteligencia
28/10/2003,
09:01
GMT+1
El CMM o CMM-SW (Capability Maturity Model for Software) consiste en una serie
de procedimientos destinados a evaluar y mejorar los procesos de desarrollo,
implementación y mantenimiento del software, ya sea para uso propio o
de terceros. Aunque aún está en vías de un mayor desarrollo
y una aceptación más generalizada, es un estándar que la
industria acepta para evaluar y garantizar la calidad y madurez de programas
y aplicaciones.
La necesidad de un estándar de medición
Muchas empresas se encuentran con el problema de la medición del TCO
(Total Cost of Ownership) del software que utilizan, es decir, el coste de poseer
dicho software, necesario para decidir entre las alternativas del outsourcing,
la compra de programas y aplicaciones o el desarrollo propio. La dificultad
de evaluar este coste parte del elevado número de variables que hay que
tener en consideración para efectuar la medición.
No se trata sólo del coste de la licencia y la instalación inicial.
Hay que tener en cuenta el mantenimiento y las actualizaciones necesarias posteriormente.
Además, existen otros factores que no son factibles de ser medidos cuantitativa
o numéricamente: aspectos como la seguridad del software, la disponibilidad,
la dificultad de uso o la facilidad para gestionar los cambios. Por último,
existen una serie de costes ocultos, también difíciles
de estimar, que se refieren al tiempo y los recursos que son necesarios destinar
para instalar y lograr que funcione correctamente una aplicación.
Considerando todos estos factores, es frecuente que el coste de mantenimiento
de un software a lo largo de toda su vida útil iguale o sobrepase
el precio de adquisición e instalación. Según estimaciones
del Departamento de Comercio de los EEUU, el coste de la licencia de uso supone
únicamente el 30% del CTO total; otro 33% se gasta en consultores externos
vinculados a la implementación del software; la mayor parte de la inversión,
el 37%, corresponde al trabajo de desarrollo y mantenimiento internos.
Todo ello retrae a muchas empresas a la hora de actualizar o instalar nuevas
aplicaciones, lo que perjudica a todos los protagonistas de la industria: fabricantes,
consultores, integradores de sistemas e incluso a los propios clientes. Para
la industria del software, una solución a estos problemas está
en crear un modelo que permita evaluar y medir el éxito de una
compañía en el desarrollo de su software.
El modelo CMM
El CMM o CMM-SW (Capability Madurity Model for Software), desarrollado
durante la década de 1990 por el Software Engineering Institute (SEI)
junto con un consorcio de fabricantes de software, se ha convertido en el estándar
aceptado por la industria para evaluar y mejorar los procesos de desarrollo,
implementación y mantenimiento del software, mediante una serie de procedimientos
suficientemente contrastados que se van aplicando sucesivamente. Una empresa,
avalada por el SEI, es la encargada de emitir el certificado CMM correspondiente
en cada caso, al que pueden optar empresas que desarrollan aplicaciones de software,
bien para uso propio, bien para uso de terceros.
El CMM consta de cinco fases o niveles de madurez, cada una de las
cuales aporta unas determinadas ventajas. Para que un producto de software alcance
un nivel de madurez determinado, previamente debe superar los requisitos exigidos
en el nivel anterior, implementando las prácticas establecidas en cada
nivel. Cuanto más alto sea el nivel de madurez alcanzado, mayor garantía
habrá de que el producto ha superado el esfuerzo de calidad exigido.
Las cinco fases que componen el modelo CMM describen los principios y prácticas
que subyacen en la madurez del software, y pretenden ayudar a las empresas desarrolladoras
a mejorar la calidad de sus productos aplicando una serie de procesos disciplinados
en el desarrollo de éstos. Las cinco fases son las siguientes:
- Inicial: en este estado, el desarrollo de software se considera
precario e incluso caótico, los procesos no están bien definidos
y a menudo dependen del esfuerzo individual.
- Repetitivo: en el segundo nivel, están definidos procesos
de gestión básicos para evaluar costes, aplicaciones y funcionalidades.
- Definido: los procesos relacionados con la gestión y la programación
están bien definidos y documentados, e integrados en aplicaciones estandarizadas
en la empresa, en las que se basan todos los proyectos.
- Gestionado: en este estadio, la empresa cuenta con mediciones detalladas
de los procesos de desarrollo y de la calidad de los productos, así
como mediciones y controles cualitativos.
- Óptimo: en el nivel superior, está garantizada la
mejora continua de los procesos gracias al feedback de proyectos anteriores
y a la introducción permanente de innovaciones.
El siguiente gráfico resume los procesos involucrados en cada nivel
de madurez:
}
else{// Mostramos el contenido de la noticia / artículo
echo $Articulo;
}?>
Requisitos
Existen una serie de carencias que se presentan habitualmente en los
departamentos de desarrollo y mantenimiento de software de las empresas, que
son las que suelen dar pie a la adopción de una metodología de
trabajo basada en el modelo CMM:
- Los proyectos no se adaptan a los plazos y costes estimados.
- El producto resultante presenta defectos o su calidad es baja y no satisface
a los clientes.
- Existe poca documentación de las aplicaciones y los proyectos.
- No existe uniformidad en el trabajo desarrollado por distintas personas.
- El éxito de un proyecto depende del trabajo individual de una persona,
por lo que si deja de participar, se paraliza el proyecto.
Aunque antes de proceder a la implantación del modelo CMM, la SEI recuerda
que la empresa tiene que ser consciente de una serie de requisitos necesarios
para llevar a buen puerto el proceso:
- Toda la organización debe comprometerse en el esfuerzo requerido.
- Las inversiones iniciales en medios o herramientas deben ser moderadas.
- Los resultados derivados de la implantación de este modelo no
necesariamente son visibles a corto plazo.
- Una vez el modelo ha sido implantando, debe aspirar al paradigma del desarrollo
de software bajo mejora continua (nivel 5 de madurez), para lo que
debe retroalimentarse de su propio know-how.
- Es necesario un cambio de mentalidad en la empresa que haga posible
la introducción de nuevos procesos de planificación, gestión
y control dentro de las empresas.
Grado de implantación del modelo
Por el momento pocas compañías se han comprometido en el desarrollo
del modelo CMM. Concretamente, en todo el mundo son 1300 las empresas
que han obtenido algún nivel de certificado CMM; de ellas, el 10,6% ha
obtenido el nivel de certificación 1, el 27,3% el nivel 2, el 37,9% el
nivel 3, el 4,5% el nivel 4, y 19,7% el nivel 5.
Según explica la consultora PROFit, las razones de esta escasa implementación
se encuentran en la necesidad de comprometer a todos los niveles de la
organización, desde los más altos hasta los más bajos,
y en el necesario cambio de mentalidad empresarial en lo relacionado
con la planificación, el control y el seguimiento de los proyectos, que
debe de mantenerse de forma permanente y que obliga a realizar moderadas inversiones
en recursos humanos y materiales.
Además, se trata de un proceso lento en el que la transición
de un nivel a otro puede requerir varios años de esfuerzo y en el que
los resultados no son visibles hasta medio plazo. Por ello, son compañías
de sectores como la Banca, la Industria, la Distribución y las Telecomunicaciones
las que más se están interesando por el modelo CMM, realizando
inversiones de bajo riesgo que ofrezcan resultados medibles y que refuercen
el liderazgo tecnológico futuro.
PROFit destaca que en España la oferta de servicios de consultoría
CMM es muy limitada por el momento, debido a la obligación de disponer
de equipos formados por el propio Software Engineering Institute, además
de la necesidad de aportar experiencias prácticas en cada sector. Con
respecto a la adopción del modelo CMM, ya lo están haciendo empresas
como Caja Madrid y El Corte Inglés (que ya tienen certificado el nivel
2 de madurez) o Bancaja (que ha comenzado los procesos para alcanzar el nivel
3).
|