Fecha de creación del tutorial: 2004-02-05
Calidad en el desarrollo de Software. CMMI
Introducción
Según las estadísticas, menos de 20% de los proyecto se completan en costes, plazos, alcance y nivel de calidad. Los factores son muchos y algunos de ellos los comentábamos en otros artículos: ¿Por qué fracasan los proyectos E-business? .
Cuando hablamos de procesos de desarrollo de software, no estamos hablando de temas puramente técnicos porque está demostrado que la mayoría de los problemas son organizativos.
Cada vez más organizaciones se preocupan por la implantación de modelos de calidad en el desarrollo del software.
Existen numerosas iniciativas, siendo las más importantes:
- Las normas ISO 9000 y 15504
- El Capability Maturity Model (CMM) desarrollado en el SEI (Instituto de Ingeniería de Software) de la Universidad de Carneguie Mellon, Estados Unidos.
En objetivo consiste en mejorar los procesos de desarrollo de software de tal modo los proyectos sean más predecibles (tiempo y costes), se reduzcan los riesgos en los desarrollo (con el consiguiente ahorro de costes), etc..
En muchas organizaciones los responsables técnicos han ido prosperando y ocupando labores de responsabilidad sin haber sido correctamente preparados: Técnicamente pueden estar cualificados pero tienen graves deficiencias en labores de gestión.
El problema fundamental es que se han consolidados en las empresas procesos informales y poco estructurados que propician un desarrollo poco predecible y repetible. Si no tenemos un proceso para realizar dos proyecto de un modo similar ¿como vamos a ser capaces de evaluar el coste futuro de un proyecto?.
Introducción a CMMI
El gobierno de defensa americano, para asegurarse que sus proveedores cumplen unos criterios mínimos de calidad, exige que estén certificados en CMM. Dato el éxito del modelo, se extendió a otras disciplinas como la ingeniería de sistema, adquisición de material, etc. creándose variaciones de CMM.
Como todo en esta vida, las metodologías cambian CMM se ha ampliado y ahora ha aparecido CMMI que es una evolución de CMM y que integra las distintos modelos de calidad.
- Capability Maturity Model for Software (SW-CMM) v2.0 draft C,
- Electronic Industries Alliance Interim Standard (EIA/IS) 731
- Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98.
Vamos a tratar de comentar en que consiste (a grandes rasgos) y ver como se adapta la realidad de los desarrollo a su consecución.
Un requisito imprescindible es la Web ....

Disciplinas en CMMI
CMMI se aplica a 4 disciplinas distintas y nosotros podemos elegir una de ellas para centrarnos es aspectos específicos.
Cada disciplina tiene una plantillas Word para ayudarnos a su explicación y seguimiento:
- Ingeniería de Sistema - Cubre la construcción de un sistema con o sin software
- Ingeniería de Software - Cubre la construcción de soluciones software
- Integración de productos y procesos de desarrollo - Cubre la relación a largo plazo con el cliente.
- Relación con proveedores - Cubre los procesos relacionados con la subcontratación de partes del sistema
Nosotros nos vamos a centrar en el desarrollo de software...
Modelos de madurez en CMMI
CMMI propone 5 distintos modelos de madurez de las organizaciones:
- Inicial - Estado inicial donde el desarrollo se basa en la heroicidad y
responsabilidad de los individuos.
- Los procedimientos son inexistentes o localizados a áreas concretas.
- No existen plantillas definidas a nivel corporativo.
- Gestionado - Se normalizan las buenas prácticas en el desarrollo de
proyectos (en base a la experiencia y al método).
- En este nivel consolidado, las buenas prácticas se mantienen en los momentos de estrés.
- Están definidos los productos a realizar.
- Se definen hitos para la revisión de los productos.
- Definido - La organización entera participa en el proceso eficiente de
proyecto software.
- Se conoce de antemano los procesos de construcción de software.
- Existen métodos y plantillas bien definidas y documentados.
- Los procesos no solo afectan a los equipos de desarrollo sino a toda la organización relacionada.
- Los proyectos se pueden definir cualitativamente.
- Cuantitativamente Gestionado
- Se puede seguir con indicadores numéricos (estadísticos) la evolución de los proyectos.
- Las estadísticas son almacenadas para aprovechar su aportación en siguientes proyectos.
- Los proyectos se pueden pedir cuantitativamente.
- Optimizado
- En base a criterios cuantitativos se pueden determinar las desviaciones más comunes y optimizar procesos.
- En los siguientes proyectos se produce una reducción de costes gracias a la anticipación de problemas y la continua revisión de procesos conflictivos.
Requisitos en niveles de madurez
Para asegurar la evolución por estos modelos de madurez, se deben cumplir una serie de requisitos y prácticas.
Existen prácticas a realizar de modo particular (SP = práctica específica) en cada requerimiento y otras que son globales (GP = Practica global) y van apareciendo repetitivamente en distintos puntos .
Cada práctica tiene a su vez sub-prácticas y practicas opcionales....
Nosotros vamos a tratar de describir cuales son las prácticas de primer nivel (aunque la traducción puede que no sea muy rigurosa ;-)).
Nivel 2
El nivel 2 requiere que hallamos considerados las siguientes cosas:
Gestión de requisitos
Plan de Proyecto
Monitorización y control del proyecto
Gestión de acuerdos con proveedores
Medida y análisis
Medidas de calidad en el proceso y producto
Gestión de la configuración
A continuación vamos a ver un ejemplo de las actividades detalladas, definidas por CMMI a realizar en el primer punto del nivel de madurez 2.
Gestión de requisitos
Podemos ver las distintas actividades a realizar en gestión de requisitos
SG 1 Gestionar Requerimientos [PA146.IG101]
-
SP 1.1 Obtener y comprender requerimientos
-
SP 1.2 Obtener la aprobación de los requerimientos
-
SP 1.3 Gestionar los cambios en requisitos
-
SP 1.4 Mantener una trazabilidad bidireccional de requisitos
-
SP 1.5 Identificar inconsistencias entre el trabajo real a realizar y los requisitos.
GG 2 Institucionalizar la gestión del proceso de toma de requerimientos [CL103.GL101]
-
GP 2.1 (CO 1) Establecer las políticas de la organización
-
GP 2.2 (AB 1) Planificar los procesos
-
GP 2.3 (AB 2) Proporcionar los recursos adecuados
-
GP 2.4 (AB 3) Asignar las responsabilidades
-
GP 2.5 (AB 4) Formar al personal
-
GP 2.6 (DI 1) Gestionar la configuración
-
GP 2.7 (DI 2) Identificar los actores importantes
-
GP 2.8 (DI 3) Monitorizar y controlar los procesos
-
GP 2.9 (VE 1) Evaluar objetivamente el cumplimiento
-
GP 2.10 (VE 2) Revisar el proyectos con los responsables de mayor nivel.
.....................
Bueno supongo que lo habéis captado.... Habrá bloques similares a estos para en resto de los punto del Nivel dos y para el resto de niveles....
Como podemos comprobar si cada nivel tiene requerimientos, cada requerimiento tiene tareas principales y éstas a su vez tareas segundarias, como no utilicemos alguna herramienta, es fácil perder el Hilo....
Herramientas para la implantación de CMMI
Existen herramientas para verificar el seguimiento de CMM/CMMI..
Una de la más recomendada es CMM-Quest así que nos la hemos descargado y en realidad es impresionante.... sobre todo por su sencillez
En el Web hay disponible una versión de evaluación.

Una vez descargado el fichero arrancamos la instalación

Al completar la instalación se nos lanza automáticamente esta pantalla...

Podemos abrir el proyecto que viene por defecto o crear uno nuevo

Al ser una versión de evaluación, muchas de las ventanas de información desaparecen a los pocos segundo de mostrarse pero nos vale para hacernos una idea de como funciona ....
Al crear uno nuevo y pulsar al botón "prepare" nos aparecer una ventana como ésta...

Aparece un montón de apartados porque la herramienta cubre toda la CMMI.
Si seleccionamos la parte de Gestión de Requerimientos (imagen de abajo parte izquierda) vemos que a la derecha nos aparecen las prácticas a desarrollar. Es decir, en la fase de preparación tenemos que tener en cuenta todo esto.
Si desde la ventana principal (la que sale al arrancar la aplicación) pulsamos Fill in, podemos ir rellenando en grado de cumplimiento de cada una de las tareas.

Y, rellenando el factor de cumplimiento de distintos elementos, nos proporcionará gráficas con indicadores

Sencillo verdad...
Referencias
Podéis encontrar otros documentos interesantes en Internet sobre el tema :
http://www.sei.cmu.edu/cmmi/presentations/euro-sepg-tutorial/
http://www.itba.edu.ar/capis/webcapis/proyectodetesisdemagister/peralta-anteproyecto.pdf
http://www.cmm-quest.com/english/default.htm
http://www.dceconsultants.com/services/iTManagementServices/cMMAndSPICE.html
http://www.infocalidad.net/secciones/030103.pdf
Mis conclusiones
Las personas, aunque sean buenos no pueden realizar bien su trabajo si el procedimiento no les guía.
Es vital que las organizaciones adquieran rápidamente un procedimiento y, al menos, un nivel 2 de madurez (o equivalente en otras metodologías). Esto implica estandarizar el sistema de desarrollo de software a través de procesos definidos que permitan realizar proyectos de un modo repetitivo.
Muchas organizaciones se sorprenden porque no pueden estimar correctamente el coste de sus proyecto ..... Mi pregunta es: ¿hacen dos iguales?
Alcanzar el nivel 3 de madurez sin haber alcanzado el 2 cuando menos requiere suerte.
Ir de un proceso anárquico a un proceso optimizado requiere:
- Un espónsor fuerte (la dirección debe tener interés)
- Un cambio de mentalidad en la organización.
- Un proceso de formación continua.
- Personal externo a la organización que sea crítico e imparcial.
- Paciencia, tiempo y un poco de suerte.....
Además, la disciplina debe ser asumida y no impuesta.... Las personas odiamos que nos impongan las cosas y tenemos miedo al cambio.
Pretender contratar un experto que escriba de un modo aislado un documento con los procedimientos que se deben seguir a partir de ese momento en la organización provocará excepticismo y rechazo.
Toda la organización se debe sentir participe de los procedimientos establecidos..... cosa que requiere su arte.
Anímate y coméntanos lo que pienses sobre este tutorial
Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.
| Autor | Mensaje de usuario registrado |
|---|
| Autor | Mensaje de usuario anónimo |
|---|---|
| victor lennon |
Fecha de envío: 2009-09-13 - 08:57:39 PM hoolas que tal, e estado buskando informacion de CMM-Quest que tienes.pero la nueva varcion es de paga e ingles, y digamos que no soi muy bueno en ingles espero ke me puedas ayudar |
| lula |
Fecha de envío: 2009-08-24 - 12:34:40 AM Hola, estamos desarrollando una tesis sobre el CMMI, el objetivo de la tesis es crear los pasos para poder llevar al exito el CMMI, deseamos hacer una metodologia que guie a los desarrolladores de sw a mantener un estandar en los procesos de desarrollo del sw. Necesito me orientes y me sugieras como puedo realizarla, pues nos basaremos en los sp y gp de los niveles 2 y 3, y debemos sugerir como poder realizar cada uno de los sp y gp de los SG. Gracias por leer este mensaje. Exitos en tus labores |
| ViviMont |
Fecha de envío: 2009-07-25 - 12:51:51 AM Este trabajo me parece interesante, me podría decir por favor cuales son las líneas base dentro de gestión de la configuración? Gracias |
| Cherry |
Fecha de envío: 2009-07-24 - 12:11:28 AM excelente y muy claro... Felicidades |
| Patricio Cuenca |
Fecha de envío: 2009-06-30 - 11:19:05 PM Por favor podrias indicarme los estandares para aplicar a la Gestion de la Configuración, el tema esta muy interesante.. Por favor ayudame.. |
| Yordanis |
Fecha de envío: 2009-06-19 - 05:05:30 AM Esta super bueno el tutorial, pero tengo una duda ¿Dentro de qué grupo de los modelos de calidad se ubica CMMI? |
| Elizabeth |
Fecha de envío: 2009-06-12 - 05:45:14 PM Hola me gustaria saber si ya existen algunas plantillas para REQM y PP que se puedan utillizar. Gracias |
| Jorge |
Fecha de envío: 2009-05-18 - 07:07:56 PM Hola, como una introducción al CMM está bastante bien, me ha servido para visualizar el contexto y la herramienta que cita aparenta ser muy útil. Lo único que debo pedirle al autor es que corrija la innumerable cantidad de faltas de ortografía, dado que resta puntos al tutorial; por lo menos si justamente habla de modelos de calidad basados en la comunicación continua. Salvo por ese "detalle" me parece un buen punto de inicio. Un saludo y gracias por tu aporte! |
| Marcelo |
Fecha de envío: 2007-11-13 - 04:56:31 PM Un poco corto en explicacion teórica y ejemplos, que es lo que estoy buscando. |
| HENRY |
Fecha de envío: 2007-08-15 - 09:13:41 PM muy bueno el tutorial |
| Fabian |
Fecha de envío: 2007-05-07 - 06:24:02 PM Conciso y claro. |
| Horacio Hernández |
Fecha de envío: 2007-04-17 - 03:46:00 AM Hola, me gustó mucho tu explicación del tema está bien claro, pero necesito ampliar un poco más en el detalle de las actividades me podria indicar donde puedo encontrar el detalle. Usted hace sólo para la actividad de gestión de requerimientos yo necesito para las otras 5 actividades. muchas gracias |
| Jairo |
Fecha de envío: 2007-02-13 - 01:36:00 PM Excelente introducción al CMMI, gran aporte con los conceptos básicos |
| HUGO RAUL MONTES CHE |
Fecha de envío: 2007-01-16 - 05:00:44 PM Como introducción al tema de CMM, me parec iteresante, creo que deberia tener un poco más de información. Lo que no tengo claro aún, como conigo más información como libros, direcciones URL, costos, etc. Aunque es un tema sumamente interesante e importante, no conozco en PERU alguna institución que lo dicte como un curso con certificación. De todas maneras, se agradece la buena intención de brindar conocimientos.Agradecería me envíen a mi correo más información. GRACIAS |
| Erick De la Rosa |
Fecha de envío: 2006-10-11 - 10:30:11 PM Es bueno el curso pero le hacen falta ejemplos que dejen más en claro eluso y la aplicacion de CMMI |
| julian ramirez |
Fecha de envío: 2006-08-30 - 06:37:54 PM El tutorial es muy breve, no podria dar mas detalles sobre cmmi, o enviarme informacion sobre este a mi correo se lo agradeceria, gracias |
| Sandra Guerrero |
Fecha de envío: 2006-08-02 - 11:46:22 PM Muy buen material, lo recomiendo. Excelente |
| angela lopez |
Fecha de envío: 2006-06-29 - 11:27:09 PM Buenas tardes Me pareció muy interesante el documento que realizaron. Quisiera preguntarles si conocen a alguna empresa consultora certificada que pueda colaborar en la implementación de CMM en una empresa en bogotá. El consultor deberá tener experiencia en implementaciones exitosas en otras empresas. Ese dato me seria muy util Se pueden comunicar conmigo a mi correo electrónico Mil gracias |
| katia carralero alma |
Fecha de envío: 2006-06-04 - 03:13:13 AM seria bueno poner en el sitio un tutorial donde explique mas sobre la norma CMMI es decir como usarla en que casos con que plantillas etc, ya que es muy importante y se tiene poco conocimiento ,pienso que el sitio esta muy bueno y que abarca bastantes conocimientos en sus tutoriales |
| Javier |
Fecha de envío: 2006-04-26 - 12:57:15 PM Estupenda introducción al CMMi. Concisa, clara, y con evidente capacidad didactica del autor. Muchas gracias. |
- Puedes inscribirte en nuestro servicio de notificaciones haciendo clic aquí.
- Puedes firmar en nuestro libro de visitas haciendo clic aquí.
- Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clic aquí.
- Añadir a favoritos Technorati.
Esta obra está licenciada bajo licencia Creative Commons de
Reconocimiento-No comercial-Sin obras derivadas 2.5
Recuerda
Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.
¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?
Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...
Autentia = Soporte a Desarrollo & Formación.
Tutoriales recomendados
| Nombre | Resumen | Visitas | Valoración | Votos | ||
|---|---|---|---|---|---|---|
| Instalar OpenESB 2.1 e Introducción | En este tutorial veremos como descargar e instalar OpenESB y explicaremos sus funcionalidades | 2009-12-03 | 1703 | - | - | ![]() |
| Cómo conseguir que Subversion avise a Hudson para lanzar una build | En este tutorial vamos a ver como configurar Subversion para que sea este el que avise a Hudson cada vez que hay un commit, y así se lance la build. | 2009-10-27 | 2265 | - | - | ![]() |
| Cómo instalar Hudson en Apache Tomcat | Instalar Hudson en Apache Tomcat | 2009-10-26 | 2608 | Muy bueno | 1 | ![]() |
| Introducción a los diagramas EPC (Event-Driven Process Chain) | En este tutorial veremos en que consisten los diagramas EPC, o Event-driven Process Chain. | 2009-08-13 | 3614 | - | - | ![]() |
| AgileDraw: una técnica rápida de modelado | AgileDraw, más que una herramienta, se trata de una técnica de modelado rápido | 2009-04-26 | 2986 | - | - | ![]() |
| Modelos de conocimiento con CmapTools | Roberto nos enseña en este tutorial el uso de la herramienta CmapTools | 2009-04-20 | 3760 | - | - | ![]() |
| Iniciación a OSWorkflow con Spring | En este tutorial vamos a presentar uno de los motores de workflow, "OSWorkflow" y su integración con Spring. | 2009-04-15 | 3270 | Bueno | 1 | ![]() |
| Instalación Alfresco (Labs) | Alfresco es una herramienta Open Source para la gestión de contenidos empresariales ECM (Enterprise Content Management). | 2009-03-13 | 13198 | - | - | ![]() |
| Persistencia con Spring | En el siquiente tutorial vamos a ver algunas de las aportaciones que nos ofrece Spring para mejorar la capa de persistencia de nuestras aplicaciones | 2009-03-04 | 4977 | Bueno | 1 | ![]() |
| Modelado BPMN con Bizagi Modeler | En ésta ocasión, nuestro compañero Roberto os enseña una herramienta muy útil de modelado BPMN, llamada Bizagi Modeler | 2008-12-10 | 8389 | - | - | ![]() |
Nota:
Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento.
Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores.
En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo.
Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.







