Comparación de CMMI y Agile

La siguiente tabla fue tomada de la nota técnica publicada por el SEI “CMMI or Agile: Why Not Embrace Both!” CMU/SEI-2008-TN-2003 y permite entender de manera resumida los dos enfoques, tanto de CMMI como de Agile, desde diferentes puntos de vista. Foco de atención organizacional

  • CMMI - Enfocado a la Organización. Los mayores beneficios se obtienen cuando se implementa a nivel organizacional de manera que todos los elementos que contribuyen al desarrollo de los productos y servicios están considerados en el proceso de mejora.
  • Agile - Enfocado en el proyecto y equipo de trabajo. Los métodos Agile pueden aislar al proyecto/equipo de la Organización y aún ser efectivos.
Gestión
  • CMMI - Juega un papel fundamental en el logro del éxito del proyecto. Mayor atención a la gestión del proyecto, asegurar que los planes que afectan al proyecto están integrados, las dependencias están gestionadas y los problemas de coordinación son solucionados, con una visión compartida sobre el trabajo y los riesgos controlados.
  • Agile - Es una función de apoyo que ayuda a eliminar barreras en el avance, en oposición a la tradicional función de mandato y control. Esta forma de gestión se puede extender en la medida que se amplia el alcance de aplicación del enfoque Agile.
Confianza
  • CMMI - Algunas prácticas asumen la necesidad de compensar un ambiente de baja confianza caracterizado por objetivos de seguridad y misión crítica, alto riesgo de falla o gran cantidad de involucrados que no pueden expresar libremente sus intensiones y compromisos.
  • Agile - Fomenta un ambiente de alta confianza. Reconoce que los equipos de trabajo se desempeñan mejor cuando están compuestos de tareas e individuos maduros operando en grupos con gran confianza.
Planificación
  • CMMI - Promueve la planificación con base al establecimiento de un proceso definido que permita alcanzar los objetivos del proyecto. Considera un horizonte a largo plazo. No se requieren planes detallados, aunque muchas implementaciones de CMMI trabajan en detallar la siguiente fase del proyecto. Hace énfasis en la re-planificación y cambios necesarios.
  • Agile - Existen múltiples niveles de planificación, incluye planes a alto nivel del producto y al inicio de cada iteración, hasta más detallados respecto a las funcionalidades en cada iteración. Fuerte énfasis en la flexibilidad y re-planificación como condición de cambio. No supone el uso de diagramas de tareas debido a que los requerimientos para las tareas cambian constantemente.
Supuestos del mercado/usuarios
  • CMMI - Ampliamente beneficioso cuando el mercado objetivo es maduro y la innovación en los procesos se convierte en un diferenciador para el éxito de la Organización.
  • Agile - Mayor beneficio en mercados emergentes y poco definidos.
Consideraciones del diseño
  • CMMI - Asume que la arquitectura del producto es seleccionada o creada en las etapas iniciales de un proyecto y es actualizada cuando no es válida o utiliza un ciclo iterativo.
  • Agile - Proyectos exitosos cuando los estándares de arquitectura se aplican con flexibilidad en la medida que el proyecto avanza. En algunos casos minimizan la importancia de la arquitectura sobre los principios generales que es especificada de manera prematura.
Aprendizaje
  • CMMI - Formación con base en el análisis de procesos y habilidades necesarias, así como el diseño de los mecanismos para formación. Durante la ejecución de las actividades del proyecto. Mediante la planificación y uso del proceso en los proyectos, las mediciones y lecciones aprendidas que son compartidas en la Organización. Como parte del análisis de causa de los procesos y del cumplimiento de los objetivos de calidad y desempeño del proceso.
  • Agile - Ocurre a nivel de proyecto durante las iteraciones, con un enfoque a nivel operativo y justo en el momento.
Perspectiva
  • CMMI - Considera una visión a largo plazo.
  • Agile - Considera una visión de corto a mediano plazo.
Evaluación
  • CMMI - SCAMPI compara los procesos en la organización contra las prácticas en el modelo para evaluar si la Organización cuenta con los procesos para cumplir las metas de CMMI.
  • Agile - El deseo de los que utilizan métodos Agile es que se revisen únicamente sobre los resultados (satisfacción del cliente o resultados del proyecto)
Desarrollo humano
  • CMMI - Enfoque limitado en la gente a nivel de proyecto. A nivel de la Organización no promueve heroísmos pero busca la creación de un ambiente que promueve la excelencia de la gente sin actos heroicos.
  • Agile - Enfoque en los equipos de trabajo y en las personas. Existe la tendencia a contratar buenos recursos hacía la formación de “héroes” en una cultura que balancea la vida personal con el trabajo.
Énfasis en el ciclo de vida
  • CMMI - Fuerte énfasis en la revisión en la medida que se avanza. Es consistente con ambientes donde existe un alto costo por falla y el objetivo es evitar proactivamente esos costos. Promueve la documentación, análisis y revisión antes de que el producto sea integrado, así como frecuentes validación para asegurar que se construye el producto correcto. Cada proyecto determina los tiempos para las actividades de revisión y pruebas.
  • Agile - Utiliza de manera concurrente el desarrollo, pruebas de iteración, revisiones entre pares según sea necesario. La tendencia es validar frecuentemente, sobre el uso, y verificar después. El desarrollo incremental asume un bajo costo de retraso y de falla. Tomar precauciones con los ciclos de tiempo controlados.
Predecible
  • CMMI - A nivel de proyecto en los subprocesos críticos mediante la gestión estadística y el monitoreo de su desempeño con los modelos de predicción para determinar si el proyecto alcanzará sus objetivos. A nivel de la Organización el conocimiento de la capacidad de los procesos con base en el desempeño de los proyectos y cuáles son candidatos de innovación.
  • Agile - Utilizando las iteraciones limitadas en tiempo, la evolución de las soluciones, identificar de defectos de manera temprana y corrección rápida se logra una velocidad de desarrollo predecible. Existen expectativas sobre el alcance y las entregas de las iteraciones para que sean predecibles.
Costo de falla
  • CMMI - Desarrollado para ambientes con alto costo por falla.
  • Agile - Prosperó en ambientes de bajo costo por falla o con incremento lineal.

No hay comentarios:

Publicar un comentario

CMMI v2, cinco puntos para entender la nueva versión del modelo

El mes de marzo del 2018 fue el lanzamiento de la versión 2.0 del modelo CMMI (Capability Maturity Model for Integration) por el CMMI Ins...