martes, 6 de diciembre de 2016

SCRUM: Gestión Ágil de Riesgos - Implementación


En estos días di una charla en el evento DevOps Journey LATAM 2016 y quería compartir algunos de los conceptos e ideas que traté.
DevOps Journey LATAM, 02 de Diciembre de 2016, Hotel Atton el bosque. Agile Risk Management in devops Context.

¿Por qué ser ágiles?


Pomo dicen las fraces...
“El Software se está comiendo al mundo” (Marc Andreessen) y “La capacidad de aprender con mayor rapidez que los competidores, será la única ventaja competitiva sostenible" (Peter Senge).

¿Por qué usar herramientas?


Buscamos priorizar a “Individuos e interacciones sobre procesos y herramientas”, pero nunca descartamos el uso de herramientas. Solo buscamos hacerlo de una manera ágil siempre que la herramienta ayude a aportar valor y facilite el trabajo.

Para implementar alguna gestión de riesgos con alguna herramienta de Administración Ágil de Proyectos como Jira hay que tener en cuenta que:
  • La herramienta es solo un medio de comunicación que posibilita las conversaciones referente a un issue. No debe ser nunca un fin ni un medio de freno o limitación burocrática. Se debe privilegiar siempre el cara a cara.
  • La herramienta es un medio para lograr una “Organización Inteligente”, una organización con memoria, que aprende  continuamente, tanto ella, como sus miembros [Senge 2012]. Así posibilita la transparencia organizacional y la toma de decisiones basadas en datos.
  • Siempre se debe privilegiar la simplicidad. Centralizar la información ayuda a generar reportes automáticos y no tener dispersión de información ni tareas recurrentes de relevamiento de datos en forma manual. Eso agiliza las tareas de irradiación de información.
  • La herramienta debe ayudar a la “facilitación de procesos” para lograr un “flujo de trabajo eficiente”. Ayuda a la facilitación siendo un soporte al manejo de impedimentos y al análisis de causa raíces para descubrir soluciones transversales.

Modelo de implementación con Jira, Confluence y Google Sheet


Podemos implementar un modelo de Gestión Ágil de Riesgos basado en ticket de Jira (Risk) y Hojas de cálculo de Google Sheets como se muestra en el siguiente modelo:


La gestión de riesgos puede incluir o juntarse con la gestión de impedimentos y bloqueos usando tickets jira tipo Problem y Blocker. Se puede usar un proyecto transversal para impedimentos transversales reportados por diferentes equipos o los equipos que reportan problemas de otros equipos pueden engancharse en los ticket de otros equipos.

SM=Scrum Master; AM: Agile Manager, Release Train Engineer o Delivery Manager.


La idea es usar Jira lo más simple posible y que ofrezca soluciones transversales a DevOps. Tips Jira:
  • Para los riesgos se pueden usar dashboards por equipo. Y en un proyecto transversal se pueden recolectar los riesgos transversales o recurrentes de diferentes equipos mediante consultas JQL.
  • También se puede usar un proyecto Jira para tener un tablero de riesgos e impedimentos transversales. A lo cual también se deberían crear issueType en Jira de tipo Risk y/o Impediment.
  • En caso de necesitar reportes o cálculos que no se puedan hacer con Jira se puede usar las Sheets de Google Drive. Todo dependerá de la creatividad y necesidad de cada organización. Siempre buscando la simplicidad y siguiendo a la agilidad.
  • Propuesta de usar los link “blocks“ para indicar dependencias y usar un label 'ExternalDependency' para indicar dependencias externas.
  • Se pueden hacer consultas de dependencias con un filtro. Por ejemplo: issuelinktype in ("blocks") and project="OPDIST" and labels="ExternalDependency" and NOT status="Done" and NOT status="Closed" and NOT status="In Production"
También se puede usar Confluence. Algunos tips:
  • Propuesta de usar riesgos como páginas de Confluence con label de página 'riesgo’. Cada riesgo es una página.
  • Cada página de riesgo debería tener un título con el formato RiskWord-ProjectCode-Index. Por ejemplo ‘Risk-ProjectA-1'. 
  • Se pueden concentrar los riesgos en una página Confluence. Los riesgos se pueden desplegar en una tabla con la macro:  ‘Page Properties Report’ filtrando por label 'riesgo’ (o risk).
  • Se pueden desplegar dependencias de Jira en Confluence con un filtro (como se hace en Jira).


No hay comentarios:

Publicar un comentario