lunes, 29 de diciembre de 2014

What's CMMI all about?

Well, instead of getting into CMMI itself, let's look at what CMMI is really doing.

CMMI has a:
1) Purpose
2) Method
3) Mode/Means

Purpose
The Purpose of CMMI is to improve processes to facilitate organizations' abilities to deliver product on time (schedule), within budget (cost) and that does what it's supposed to do (quality/functionality).

The authors of the CMMI found a set of practices that, when performed, has a consistently positive effect on Schedule, Cost and Quality/Functionality. Furthermore, they found that these values can be further improved and optimized by being able to pinpoint controllable variables and apply quantitative analysis on those variables to tweak what affects them.

Method
The Method CMMI uses is one of graduated institutionalization. The graduated approach towards institutionalizing processes starts with simply performing process improvement practices without much by way of managing and organization. The next step moves up into planning and providing resources, training, and controlling the output and checking the results of the processes. After that, further institutionalization includes creating consistent practices across projects, collecting feedback about the processes then finally graduating towards statistical controls, predictive analysis and removing causes of inconsistencies.

Mode/Means
If nothing else, an unspoken theme throughout CMMI is that ofCommunication.
How *any* of the practices work is that they facilitate communication because they require communication in order to work and won't work without it. However, communication isn't just project participants talking to one another. Communication also includes communication for the benefit of those from whom we need some action to be taken as well as for the benefit of those that follow us.

In other words, it's not just organizational (vertical and horizontal) communication, it's also temporal communication. In order to effectively bridge the temporal (as well as sometimes the organizational) communication, practices that improve processes need to be conveyed in a manner that withstands situational and temporary circumstances.

Situational and Temporary circumstances are a fancy way of pointing out that relying on individuals to pass project legacy and lore from person to person will quickly break down under the pressure and influence of time, environments, and personalities. Artifacts (not necessarily 'documentation') are how we bridge the temporal communication issue while also benefiting the organizational challenges in communicating what we need, what we did, what we're doing, and the 'why' of it all.

While the need to communicate face-to-face is essential in every successful project, it can't be the only way we communicate on longer-term projects or across distances. Neither can it be the only means of communication even on short projects where the product outlasts the development organization by many times over. There are many ways to create artifacts, some are more time-consuming and less valuable than others, but the need to create them comes from the need to facilitate broad communication that extends beyond simply face-to-face.

Lastly, practices that rely solely on face-to-face communication, without the benefit of some procedures is definitionally an 'ad hoc' process, and, is at the lowest level of institutionalization. This isn't to say that they are ineffective, but simply that they are not institutionalized and therefore are unlikely to persist from project to project. Finding the abstraction for a practice that can both persist from project to project while also being re-structured to meet the differing needs of each project is not only what makes Agile approaches to CMMI possible, but also corresponds directly with what one does when graduating their practices from one level of institutionalization to the next.

http://www.agilecmmi.com/2006/08/keys-to-enabling-cmmi.html

Los niveles de madurez de CMMI

CMMI está representado escalonadamente en 5 niveles de madurez, que califican a las empresas según la calidad de su proceso de producción. Estos niveles, además de por su correspondiente ordinal (del 1 al 5), se conocen por el adjetivo que los describe: Inicial, Gestionado, Definido, Cuantitativamente gestionado y el más alto de todos, Optimizado. Veamos en qué consiste cada uno de ellos.
Nivel 1 (Inicial): La organización no sigue conscientemente las prácticas especificadas en el modelo CMMI, pero de una forma u otra consigue que sus productos salgan al mercado. Supone una gran dependencia de los llamados héroes, profesionales sobresalientes que con su esfuerzo y habilidad personal sacan a la empresa del atolladero. La organización no genera conocimiento y la pérdida de estos héroes supone generalmente la pérdida de la capacidad acumulada.
Nivel 2 (Gestionado): Supone el cumplimiento, por parte de cada proyecto, de varias áreas de proceso de CMMI relacionadas con la gestión de requisitos, la planificación, la monitorización, la gestión de la configuración, el aseguramiento de la calidad, el acuerdo con los proveedores y la medición y análisis de los procesos. Se trata de asegurar que las buenas prácticas se mantengan independientemente de los vaivenes coyunturales que afecten a la organización. El conocimiento reside en la organización.
Nivel 3 (Definido): En este nivel, los procesos ya no sólo se definen de manera independiente para cada proyecto sino que toda la organización goza de unas pautas comunes. Se instaura una serie de procesos que, llevando la explicación al paradigma de la orientación a objetos, suponen la clase sobre la cual se instancian los proyectos. En resumidas cuentas, la empresa goza de una plantilla bien caracterizada que al ser aplicada a cada caso particular, genera un proyecto.
Nivel 4 (Cuantitativamente gestionado): Llegados a este punto, la organización ya no sólo gestiona los proyectos mediante procesos bien definidos, sino que además, se fijan objetivos tangibles que los procesos deben cumplir en lo relativo a su calidad, de manera que se analizan estadísticamente los procesos, propiciando una exactitud y predictibilidad, si se me permite el palabro, de la que no goza el nivel anterior.
Nivel 5 (Optimizado): En el nivel más alto de CMMI, la organización entera experimenta una optimización continua de los procesos a través de la innovación en los mismos y de las mejoras tecnológicas. Se modifican y reconducen los procesos en función de los defectos revelados durante el análisis estadístico.
¿Y cómo se le reconoce oficialmente a una organización su nivel de madurez?
La evaluación, conocida como Appraisal, del grado de madurez de una empresa es llevada a cabo por un equipo que debe estar formado, según el método SCAMPI (Standard CMMI Appraisal Method for Process Improvement), por un evaluador oficial (Lead Appraiser) formado por el SEI y por un conjunto de personas que deben haber recibido el curso de introducción a CMMI y entre las que se puede encontrar, y de hecho es lo habitual, personal de la propia organización. Este enfoque de que gente de la propia organización evalúe el grado de madurez que su empresa merece puede parecer ambiguo, y con razón. Sin embargo de una forma u otra el complejo método SCAMPI se da maneras para asegurar la objetividad, o al menos eso garantiza el SEI.
Se trata de una prueba exigente, que puede llegar a durar varias semanas, durante las cuales, entre otras cosas, se recogen y analizan las evidencias de cumplimiento de las áreas de proceso a evaluar y se entrevista a los involucrados en la organización. Al finalizar la Appraisal, el evaluador emite un informe que debe ser confirmado en Estados Unidos por nuestros amigos del SEI.
Conclusiones
En resumen, CMMI, y más concretamente CMMI for Development, puede ser un estupendo modelo para la mejora de procesos en una empresa, si es que esta organización se adecúa al modelo, es decir: la organización persigue la mejora real antes que la certificación, está dispuesta a asumir el elevado coste que conlleva la implantación y evaluación y su tamaño y características evitan que CMMI suponga una elevada carga adicional a los proyectos

REQM en CMMI DEV

Es sencillo, y a la vez complejo. CMMI-DEV (El CMMI for Development del que hablé el otro día), se divide en áreas de proceso, 22 en total, que a su vez se dividen en metas para cubrir satisfactoriamente el área. Para complicar un poco más el tema, cada meta se compone de varias prácticas específicas, que son las que realmente nos aportan la chicha de lo que hay que cumplir. Por si fuera poco, además de haber una serie de metas y prácticas específicas por cada área, existen metas genéricas, con sus respectivas prácticas genéricas, que deben de cumplirse para todas las áreas. Incomprensible, ¿no? Veámoslo entonces con un ejemplo:
Una de las 22 áreas de proceso es REQMRequirements Management. La gestión de requisitos, según CMMI, debe cumplir una única meta específica: gestionar los requisitos. De cajón. ¿Y qué es gestionar los requisitos? Eso se explica mediante las cinco prácticas específicas que componen la meta de gestionar requisitos. A saber:
SP1.1 Entender los requisitos: desarrollar un entendimiento sobre el significado de los mismos con sus proveedores.
SP1.2 Acordar los requisitos: obtener el acuerdo de todos los participantes en el proyecto.
SP1.3 Gestionar los cambios de los requisitos: gestionar los cambios mientras los requisitos evolucionan durante el proyecto.
SP1.4 Mantener la trazabilidad bidireccional de los requisitos: mantener la trazabilidad entre los requisitos y los productos de trabajo.
SP1.5 Asegurar la consistencia entre los requisitos y los productos de trabajo: mantener alineados los planes y el trabajo realizado con los requisitos acordados.
Además, la gestión de requisitos debe cumplir una serie de prácticas genéricas que son aplicables de manera transversal a todas las áreas (REQM no iba a ser menos). Éstas son, entre otras: establecer una política organizacional para la gestión de requisitos, diseñar y mantener un plan al respecto, proveer recursos, asignar responsabilidades, etc.
Las otras 21 áreas tienen una estructura similar, si bien pueden constar de más metas. Como se observa en el ejemplo de REQM, el modelo no explica cómo hay que implementar las prácticas, sino simplemente qué es lo que hay que obtener (entendimiento, acuerdo, gestión de cambios, trazabilidad y consistencia).
Pero… yo he leído que CMMI va por niveles, ¡no sabía nada de 22 áreas!
Paciencia. Existen dos representaciones alternativas que permiten trepar por CMMI en la búsqueda constante de la excelencia. Una es la representación continua, que permite seleccionar en cuál o cuáles de las áreas queremos mejorar y centrarnos en las metas y prácticas de ese área independientemente de lo bien que gestionemos las demás. Es una opción útil para organizaciones interesadas en la mejora de determinados aspectos del desarrollo, conscientes de sus debilidades y poco interesadas en la obtención de certificados, o al menos no obsesionadas con ello. Por ejemplo, una empresa puede estar preocupada por cómo se gestionan los requisitos y cómo se realiza la medición y análisis de los datos de sus proyectos y acudir por tanto únicamente a las áreas REQM y MA de CMMI, dejando de lado las 20 restantes.
Sin embargo, la opción más habitual es emplear la representación escalonada, que divide las 22 áreas en 5 niveles de madurez, de tal forma que las organizaciones poco conocedoras de sus propios defectos (la mayoría, para qué negarlo), obtienen una hoja de ruta sobre la que emprender su camino hacia la excelencia. Cada nivel supone cumplir las metas de una serie de áreas de proceso nuevas, y además, seguir cumpliendo las de los niveles anteriores. Una empresa que cumpla las 22 áreas de proceso y además satisfaga todas las metas genéricas, tendrá un nivel de madurez 5, la crème de la crème de CMMI

Min TIC y CMMI

30 de abril de 2014

MinTIC promueve modelo y certificación CMMI para empresas de la Industria TI del país

Es un método para probar la gestión y rendimiento y para ahorrar costos a las empresas. El Ministerio ha invertido 13 mil millones de pesos en CCMI como aporte a la valoración de 63 organizaciones colombianas.

imagen foto_marquesina.jpg
El Ministerio de las TIC ha invertido 13 mil millones de pesos para que más empresas colombianas implementen el modelo y obtengan la certificación CMMI (Capability Maturity Model o Integration).
Se trata de un método que prueba la gestión y el rendimiento al interior de las empresas por lo cual cada día en el mundo crece el número de empresas de la industria TI que se certifican con el.
CMMI es un modelo de evaluación de los procesos de una organización y se ha convertido en un estándar para promocionar la capacidad de desarrollar software de alta criticidad, una ventaja para las empresas que participan de proyectos complejos, riesgosos y de alto costo. Es una oferta que permite a las empresas ahorrar dinero.
De acuerdo con la Dirección de Políticas y Desarrollo TI del Ministerio TIC, las organizaciones que implementan el CMMI tienen costos predecibles y cumplen sus actividades dentro de los cronogramas indicados, lo que sin duda redunda en resultados de calidad en sus negocios, contribuyendo al mejoramiento de la competitividad de la empresa, un factor que lo hace diferenciador entre sus competidores.
63 empresas del sector TI en Colombia, se valorarán en CMMI con la ayuda del Ministerio de las TIC, con lo cual nuestro país junto con México tienen el mayor número de empresas que implementan este modelo.
Entre las empresas colombianas que implementan CMMI están Data Center, Empresa Colombiana de Informática Colombiana, ECOINFO, Colvista, Perceptio S.A.S., Geminus Software de Colombia Ingeneo S.A.S., entre otras.
Este modelo de certificación CMMI se construyó con base en las prácticas y experiencias de miles de organizaciones internacionales. A nivel mundial los países líderes en el modelo y la certificación son China, USA, India, España, República de Corea y Japón.
El primer puesto lo ocupa China con 2.703 organizaciones certificadas, mientras que Japón ocupa el quinto lugar con 207. En Latinoamérica México, Colombia, Brasil, Argentina, Chile y Perú son las más significativas.

Evaluar CMMI

Clases de evaluación CMMI

El modelo CMMI contempla como parte de su método de evaluación SCAMPI (Standard CMMI Appraisal Method for Process Improvement), tres clases de evaluaciones definidas en  ARC (Appraisal Requirements for CMMI).  El uso de una clase u otra depende del nivel de detalle que se quiere revisar como resultado de la implementación de un modelo de referencia. El enfoque es muy similar, aunque las actividades que se realizan difieren de una clase a otra.
Clases de evaluación SCAMPI
  • Evaluación CLASE “A”: Es el método más amplio, con una mayor cobertura del modelo y como resultado se obtiene un nivel de madurez o perfil de capacidad que puede servir para efectos de comparación entre organizaciones. Es la única evaluación que permite determinar si la organización se encuentra en determinado nivel de madurez o los niveles de capacidad de los procesos. Se ejecuta, estrictamente, por un SCAMPI Lead Appraiser certificado por el SEI quien lidera un equipo de evaluación para la ejecución del método. 
  • Evaluación CLASE “B”: Corresponde a una evaluación inicial, parcial o intermedia. Con menor complejidad y cobertura que una clase “A”. Se enfoca en áreas de interés y no proporciona algún tipo de calificación sobre las áreas de proceso.
  • Evaluación CLASE “C”: Normalmente es una evaluación inicial o diagnóstico, con un enfoque más rápido, de menor alcance para evaluar determinadas áreas de interés y requiere menos recursos. Es una fuente para identificar las oportunidades de mejora para el programa de mejora.
Tanto la evaluación clase B como C puede ser realizada internamente por la organización, sin requerir la participación de un Lead Appraiser. Los resultados en una evaluación clase A, invariablemente, son reportados al SEI aunque la organización tiene la potestad de decidir publicarlos o no . 
En todas las clases de evaluaciones se requiere un modelo de procesos como marco de referencia, garantizar la confidencialidad en el uso de la información y presentación de los resultados, así como involucrar a la dirección como patrocinador de la misma.

Recordemos que para CID LATAM, las fechas de ejecución propuestas para la ejecución de estas evaluaciones son:

insertar fechas, ver con CAS

Que es CMMI

Qué es CMMI

Modelos
CMMI es el acrónimo de Capability Maturity Model Integration y se refiere a los modelos que contienen las mejores prácticas que ayudan a las organizaciones a mejorar sus procesos. Han sido desarrollados por equipos de trabajo formados por especialistas de la industria, el gobierno y el Software Engineering Institute (SEI) que transfirió los derechos al CMMI Institute para su operación y comercialización.

Siendo un modelo refleja una abstracción de la realidad que permite a las organizaciones adoptar prácticas útiles para alcanzar sus objetivos de negocio, constituye una referencia, no es un proceso en sí. Para establecer una analogía, querer adaptar la organización al modelo es como si al ver una maqueta de una casa una persona deseara vivir en ella. 

La adecuada interpretación del modelo para cubrir las diferentes situaciones, necesidades y objetivos de una organización son esenciales para lograr los resultados que se quieren. Muchas veces por desconocimiento o por falta de sentido común o criterio, el resultado no es lo esperado. Por ello es importante saber: ¿Qúe es CMMI? y ¿Qué no esperar de CMMI?.

Qué es CMMI

Es una guía que ayuda en la mejora de procesos, pero como en cualquier receta cada quién le puede poner de su propio sazón. El enfoque del modelo permite evolucionar desde un proceso en crisis a un proceso controlado, estandarizado, medido y optimizado que sienta las bases de la mejora continua y permite a la organización adoptar nuevas prácticas sobre un proceso estable y controlado que está institucionalizado.

Según el modelo que se utilice se puede obtener el documento con un conjunto de guías que ayudan en:
  • Desarrollo y mantenimiento de productos y servicios (CMMI DEV),  Modelo que hemos escogido para nuestros procesos
  • Adquisición de productos y servicios (CMMI ACQ) y 
  • Establecimiento, entrega y gestión de los  servicios (CMMI SVC).
Contiene elementos esenciales de un proceso efectivo y propone una forma de adopción para las organización que permite incrementar la calidad y productividad, al tiempo que controla el presupuesto y los compromisos establecidos. Cada una debe interpretar, adoptar y aplicar aquellas prácticas que le apoyan en el logro de sus objetivos y cumplimiento de sus necesidades de manera eficiente.

Considera dos enfoques o rutas para adoptar las mejoras y medir el nivelen que han evolucionado y se conocen como representaciones. En una forma se consideran áreas de proceso de manera individual y se califican en niveles de capacidad de acuerdo con la representación continua. El otro enfoque considera un conjunto preestablecido de áreas de proceso que constituyen un nivel de madurez y que es la forma de evaluar la representación escalonada o por etapas. 

Está estructurado para facilitar su uso en elementos que definen la forma y modo de aplicarlo, considerando los elementos que son obligatorios, sugeridos o el material informativo en las áreas de proceso. En general el documento se puede revisar en función de metas, prácticas y subprácticas con el resto del material informativo.

Es utilizado por las organizaciones para entender las mejores prácticas de la industria, para priorizar y adoptar las mejoras a los procesos existentes, para compararse con su competencia dentro del mercado o para que los clientes puedan identificar las prácticas que necesitan demostrar sus proveedores. 

Qué no esperar de CMMI

No constituye un proceso o conjunto de procesos, considerando el proceso como la secuencia de pasos realizados para generar un resultado. El modelo contiene áreas de proceso que agrupan las prácticas según el propósito y la intención de las mismas.  La intención del modelo no es considerar el mapeo uno a uno entre los procesos de la organización y las áreas de proceso del modelo.

No es un modelo prescriptivo en el sentido que no establece o infiere procesos que son correctos para una organización o proceso. Describe los criterios mínimos necesarios para planificar e implementar los procesos seleccionados por la organización para mejorar, considerando los objetivos del negocio.

No constituye un objetivo en sí, es un medio para alcanzar las mejoras. La adopción de las prácticas en las áreas de proceso y la evaluación del nivel de madurez o capacidad se debe dar como consecuencia de la implementación y la mejora de los resultados. 

No está enfocado a grandes organizaciones, cubre elementos generales aplicables a todo tipo de organización. Es aplicado por diferentes empresas sin importar su tamaño o número de personas involucradas en el alcance. De hecho, más del 60% de las evaluaciones realizadas corresponden a organizaciones con menos de 100 personas. 

No establece cómo deben ser implementadas las prácticas en una organización. Los roles, responsabilidades, métricas, técnicas, estándares, metodologías y demás consideraciones que se toman en cuenta para definir y ejecutar un proceso son establecidos por cada organización en función de sus necesidades y de las prácticas del modelo que va a considerar. Bajo esta perspectiva la adopción de enfoques Agile no están en contradicción con el modelo, pero si requiere una adecuada interpretación de la forma de adopción de las prácticas.

No certifica a la organización. El modelo utiliza los niveles de madurez y capacidad para evaluar el nivel de cumplimiento de las prácticas a través del método SCAMPI que permite identificar oportunidades de mejora en los procesos y determinar el nivel de la organización o de las áreas de proceso.

La interpretación adecuada del modelo y adopción efectiva de las prácticas en relación con las necesidades de mejora de la organización marcan la diferencia entre lo que es una implementación exitosa y un fracaso en el uso de CMMI.