Hay una idea errónea de que CMMI y Agile son polos opuestos, pero nada más lejano a lo que realmente ocurre.  CMMI, se basa en la institucionalización y la documentación de los procesos y metodologías, mientras que Agile hace hincapié en la interacción del equipo de trabajo y los “programas de trabajo sobre la documentación completa” (Agile Manifesto).  CMMI es de uso frecuente en los ciclos de vida de desarrollo de software crítico. Por otro lado, el enfoque Ágil se pone en acción cuando un proyecto de características cambios incrementales, en particular aquellos que no han sido incluidos en documentos de requerimientos iniciales.
Ha habido críticas de ambos modelos, así, CMMI sólo se utiliza en proyectos con alto coeficiente de seguridad que necesitan un número masivo de trabajadores, las capas de los procedimientos, y un ciclo de desarrollo rígido. Por otra parte, quienes implementan Agile, algunas veces como llamados “hackers” indisciplinados de proyectos de desarrollo!

El Software Engineering Institute (SEI) no piensa que los críticos están en lo cierto, de hecho, el instituto considera que todas las mismas se encuentran muy lejos de la realidad. El éxito o el fracaso de la aplicación de metodologías ágiles tiene nada que ver con la documentación, según Margaret Kent Kulpa y Johnson, autores de “Interpretación de CMMI: un proceso de mejora Enfoque, Segunda Edición (2008).” Podría escribir páginas y páginas de documentación sobre sus procesos sin necesidad de practicar lo que está en el papel.

Cuando los gerentes de TI encuentran los puntos en común entre ambos?
Los autores ofrecen la institucionalización, que CMMI define como “la forma arraigada de hacer negocios que una empresa sigue rutinariamente como parte de su cultura corporativa.” En términos del mundo real, una organización tecnológica puede tener un alto nivel de colaboración como parte del ADN de su empresa  o implementar una versión básica del software de vez en cuando en el ciclo de vida de un proyecto y adherirse a los principios de CMMI, al mismo tiempo.

Kulpa y Johnson sugiere varias maneras de institucionalizar métodos ágiles con CMMI mediante la adopción de prácticas asociadas con los niveles 2 y 3. Éstos son algunas de las más importantes que pueden ser consideradas como la forma más fácil de implementar los procesos en su organización.

1. Establecer una política para toda la empresa para la planificación y ejecución de Metodologías Agiles.
El primer paso es comunicar el por qué y cómo las metodologías ágiles se utilizarán en la organización, proyecto, o un subconjunto del proyecto. La comunicación podrían ser cara a cara las reuniones de acuerdo a lo que sugieren los métodos ágiles. Por otra parte, los planes para el uso de métodos agiles deben ser escritos para asegurarse de que todos los procesos se encuentran definidos y son adoptados. Para ser efectiva, la política debe tener información básica que todos deben conocer para trabajar en un proyecto.

2. Asignar responsabilidad y autoridad para llevar a cabo los métodos ágiles. Con el fin de asegurarse de que el plan se está implementando y las políticas seguidas, la persona debe tener la autoridad y el o los roles  correspondientes, como, por ejemplo, de “Product Owner”  o “Scrum Master”. Supervisar la aplicación de los métodos ágiles, mientras que al mismo tiempo, la adhesión a la disciplina de CMMI también significa monitorear si los procesos se están implementando de acuerdo con el plan comunicado. Cualquier desviación del plan debe ser corregido.

3. Identificar e involucrar a los principales interesados según lo previsto. Las metodologías ágiles involucran de forma proactiva a los clientes para obtener feedback con cada iteración o fase. Sin embargo, tenga en cuenta que los comentarios de los clientes no son la única opinión que hay que considerar,  los comentarios de otros interesados, tales como la alta dirección, los miembros del equipo, o el grupo del proyecto también deberán ser tenidos en cuenta.

4. Revise el estado de las metodologías ágiles con la alta dirección. La adopción a nivel empresarial o a nivel proyecto de las metodologías ágiles, necesitan el soporte de la Gerencia, y esto es posible si la misma conoce como funciona, o tiene una idea clara de las cuestiones implicadas en adoptar las mismas. Se recomienda proporcionar datos sobre el estado del “Burndown Chart”, que ayudará a la Gerencia, para poder proporcionar estrategias y recursos, así como también resolver cualquier problema o impedimentos reportados por los equipos de trabajo.

5. Entrene a las personas que ejecutan las metodologías ágiles . La aceptación en toda la empresa y la aplicación de metodologías ágiles es más fácil cuando es defendido por la gerencia, comunicado en forma clara, y valorado por todos los involucrados. Existen varios métodos ágiles, y la adopción de cualquiera de estos métodos significa la formación constante de las personas involucradas a través de instrucciones claras y definidas, sesiones informales de intercambio de conocimientos, el asesoramiento o la formación teórica formal.