domingo, 23 de octubre de 2011

Combinando CMMI y SCRUM (2)


Nota: este artículo se publicó originalmente en el LAB SCRUM de la web THEPROJECT.
Este tercer artículo concluye la serie dedicada a revisar la relación entre metodologías tradiciones y ágiles, y más concretamente a que pueden aportarse entre sí un modelo de procesos como CMMI y una metodología ágil como SCRUM.
Para ilustrar este último punto, se discutirán algunos aspectos que suelen discutirse durante las implantaciones de CMMI en entornos cercanos a SCRUM, además de dar algún ejemplo práctico de cómo se ha implementado.
Como desplegarlo (CMMI&SCRUM)
Aunque hace algunos años había la creencia extendida que CMMI y SCRUM eran vías paralelas, en el sentido que nunca se cruzarían, la aparición de literatura como [1] y de primeras implantaciones donde se combinaban [2] llevó a la comunidad CMMI (auditores, consultores y miembros de organizaciones con CMMI) a considerar que ambos enfoques no eran únicamente “compatibles”, sinó que podían amplificar sus fortalezas combinándose.
¡Las prácticas son el QUÉ, la metodología es el CÓMO!
Uno de los conceptos del modelo CMMI que pueden pasar inadvertidos a primera vista es que las prácticas (p.e. PP SP1.1 – Estimar el alcance del proyecto) no son actividades recomendadas de un proceso, sinó requisitos que deben cumplir las actividades de los procesos propios de cada organización.
Aunque sin conocer de cerca el modelo CMMI, el párrafo anterior pueda parecer confuso, se puede resumir en que “las prácticas CMMI son el QUÉ, y las actividades de los procesos de cada organización son el CÓMO”. Esto quiere decir que las actividades que realizamos pueden utilizar otros productos de trabajo y tareas que las sugeridas mientras se cumpla el objetivo. ¡De esta manera, es mucho más fácil entender el encaje de Scrum!
Ejemplos de las AP con ágil
Dos ejemplos de interpretación de prácticas CMMI con SCRUM son:
  • PP SP1.2 - Establish Estimates of Work Product and Task Attributes. Puede parecer que es obligatorio realizar un análisis de los requisitos y estimar usando los atributos de los productos de trabajo descubiertos, pero utilizando las técnicas de SCRUM (backlog, planning poker, análisis en la iteración) se puede conseguir perfectamente el objetivo.
  • PMC SP1.1 - Understand Requirements. La reunión de planificación de Sprint de los diferentes roles del proyecto (product owner, scrum master, etc.) junto con el Sprint Backlog cumplen perfectamente esta práctica. También se podría añadir una checklist para que los desarrolladores se aseguren que entienden los requisitos.
Las anteriores muestras se pueden ampliar fácilmente para demostrar que SCRUM y CMMI no sólo no son incompatibles, sinó que contrariamente se combinan muy bien para dar respuesta a equipos que quieren ser ágiles pero conservar un nivel de institucionalización de la metodología que asegure un funcionamiento uniforme entre los diferentes equipos de la organización.
Algunas implantaciones de CMMI y SCRUM
Para finalizar este artículo propongo una serie de productos de trabajo con herramientas libres que pueden dar respuesta a una implementación de SCRUM y CMMI para equipos pequeños y medios:
  • Estimación inicial y requisitos de alto nivel: OpenOffice Calc [3]
  • Análisis de requisitos: Wiki de Redmine [4]
  • Estimación detallada de tareas: OpenOffice Calc [3]
  • Carga automatizada en herramienta de seguimiento: Script de OpenOffice Calc [3]
  • Repositorio de código y documentación: Subversion [5] / Tortoise [6]
  • Pruebas automatizadas de interfaz (web): Selenium [7]
Para leer más

No hay comentarios:

Publicar un comentario