Si la madurez de la organización en base a CMMI se basa en la definición y aplicación de procesos en diferentes áreas resulta fundamental la verificación de que los mismos se están aplicando de forma correcta.
Definir procesos y procedimientos puede resultar sencillo, incluso entretenido (ya que al fin y al cabo se están escribiendo las reglas del juego), sin embargo el cumplimiento de los mismos por parte de las personas que intervienen en ellos es más complicado.
En el caso concreto de los desarrolladores de software juega en nuestra cuenta nuestro carácter, nuestro individualismo, nuestra creatividad y tendemos a anteponer esos sentimientos al cumplimiento de las especificaciones y estándares que componen los procesos, como si fueran incompatibles, algo que es simplemente una ilusión, ya que los procesos determinan un orden, una forma de hacer las cosas, te marca un camino, dentro del cual se tiene un margen de maniobra. Es evidente que hay que renunciar a cosas pero es que la situación contraria donde todos actúen como quieran y cuando quieran, siempre va a ser más perjudicial.
Por tanto, resulta fundamental que exista un área de proceso que precisamente se encargue de fiscalizar el cumplimiento de las reglas del juego. Si tenemos procesos es para respetarlos. Por supuesto que nos hemos podido equivocar al definirlos, pero la solución no pasa por obviar al proceso, sino por corregir sus deficiencias.
En los procesos existen hitos y entregables, resulta importante evaluar la consecución de los mismos, así como la calidad y adecuación de los artefactos producidos.
Los procesos se llevan a cabo para que el desarrollo del producto se realice dentro de un entorno controlado y medible (o por lo menos lo más controlado y medible posible), es decir, los procesos no son un fin en sí mismo, no tendrían sentido sin la existencia de un producto software a desarrollar. Por ese motivo, de la misma forma que es necesario asegurar la calidad del proceso también lo es la verificación de la calidad del producto, dentro de los umbrales de calidad definidos en la propia organización y/o combinados con los especificados por el cliente.
Mediante este análisis es posible que se encuentren disconformidades, las cuales deben ser reportadas y resueltas. Puede resultar adecuada la existencia de personal específico independiente a los equipos de proyectos que se encarguen de realizar este tipo de evaluaciones, sin menoscabo de que en el propio plan de proyecto se definan diferentes hitos internos para el control de la calidad del proceso y del producto.
¿Deben llegar las disconformidades al nivel de gerencia? Dependerá del proceso que se defina. En mi opinión, el mecanismo de control del equipo externo al proyecto resulta suficiente, si bien sí que entendería que desviaciones importantes respecto a los procesos especificados o la no corrección de deficiencias detectadas fueran comunicadas a niveles superiores en la organización para que conozcan las circunstancias y puedan tomar decisiones conducentes a normalizar la situación.