lunes, enero 30, 2017

La Ilusión del Control o ¿Cómo Hago para Controlar un Proyecto Ágil?






Hola a todos

Dentro de las muchas ocasiones en las que comparto con clientes, equipos, product owners, scrum masters o personas que van a comenzar a trabajar en Agile una pregunta recurrente es:

¿Cómo hago para que el proyecto no se salga de control?


Vamos por partes entonces:

¿Qué se quiere decir con la pregunta?

La Rae define control como (Ver definición - clic aquí):


y cuando un cliente o gerente, lider funcional, product owner, o gerente de proyecto pregunta esto se refiere típicamente a esto:

¿Cómo hago para que el proyecto no cueste más, no se demore más, se construya realmente lo que se requiere o no se quede eternamente consumiendo recursos(1)?

Poniendo este tema en blanco y negro, comencemos.

No es que exista mucho control con los proyectos en cascada 

En el informe del caos los proyectos en cascada no salen muy bien librados versus los ágiles, los cuales muestran un resultado más satisfactorio en cuanto tiempo y costo.(https://www.infoq.com/articles/standish-chaos-2015 )



Dado esto:
  • La probabilidad de cumplir estas expectativas es más alta en Ágil que en Cascada, ahora respecto a que el proyecto se vaya a desbordar el problema existe en cualquiera de los dos enfoques, el problema radica en el mecanismo para estar informados si vamos a lograr o no la meta propuesta y reaccionar a tiempo.
  • Los proyectos en cascada cuando se salen de control - de tiempo o costo- (el alcance lo tienen garantizado, tal vez se construya lo que NO se necesita - como ocurre en muchos casos - pero esta garantizado el "qué") o costarán más o nos demoraremos más (ambas son dinero para alguien), el punto clave es que tan diestro es el proveedor para gestionar los cambios:
    • si el proveedor es experimentado o tiene un buen gerente de proyectos el sobrecosto lo asume el cliente, sino 
    • el sobrecosto lo asume el proveedor, caso más común.
  • En cascada (y muchos lo hemos vivido) el proyecto y el cronograma va bien hasta la parte de análisis (como diría un conocido mío: "el papel aguanta todo", todo se complica cuando comienzan las fases de desarrollo, la fase de pruebas con informes de avance que del 90% luego a las tres semanas 90.3% , a las 4 semanas 90.38% y el proyecto se demora un 90% del tiempo cerrando el 10% faltante del alcance (fruto de la procrastinación o postergación del proceso en cascada) y si logramos entregar el proyecto terminamos entregando el producto tardíamente a nuestros clientes o al mercado, tal vez cuando ya no lo necesitan o cuando las condiciones iniciales que dieron origen al proyecto cambiaron.
La verdad, a lo anterior yo no llamaría control


Cómo se "controlaría" un proyecto en ágil

Ahora respecto a la comprobación, inspección, fiscalización, intervención. del cual habla la RAE, se tienen varias soluciones:

1. La Transparencia

En ágile nos enfocamos en valernos de radiadores de información que nos permitan tomar decisiones informadas y todos conocer como está el proyecto y producto en cualquier momento:

  • Burndown chart del Sprint
  • Burndown o burn up release (clic aquí)
  • Flujo Acumulativo
  • Velocidad
  • entre otros

2. La brújula de la agilidad es la simplicidad

Comencemos recordando el décimo principio del manifiesto ágil:

la simplicidad o el arte de maximizar la cantidad de trabajo no realizado es esencial

Decifrando este juego de palabras podemos parafrasearlo diciendo

Nuestra mayor prioridad es NO generar ni software ni trabajo de desperdicio (o hacer algo que terminará siendo inutil)


3. En Scrum existen tres roles que te pueden ayudar a tener "control" de tu proyecto / producto, en cuanto tiempo, costo y alcance.

Product Owner (PO)
En primer lugar el PO es quien esta encargado dentro de sus funciones de dos aspectos claves:

  • ROI (Return On Investment): Preocupado por salir a producción con la menor cantidad de software posible que solucione el problema de negocio
  • DECIR NO (5): El PO al negociar con los stakeholders (interesados) les debe decir para ciertas funcionalidades:
    • eso no se puede hacer aún, 
    • necesitamos generar valor con lo mínimo posible
    • eso va para otra versión o release
    • eso aun no tiene prioridad
    • entre otras.
Es decir la misión del PO es mantener el Backlog de cada release lo mas pequeño posible de forma que se genere valor con la menor cantidad de software.

Scrum Master (SM)
El otro rol es el Scrum Master, este es el coach del PO y estará atento a que quien esta ejecutando este rol lo haga bien y este preocupado sanamente por mantener un product backlog refinado y priorizado.

El Equipo Desarrollador (Development team, o equipo solucionador)
Y por si fuera poco, es una buena practica que cada Relase tenga un objetivo (3)(4), por lo tanto cuando el PO este "corrompiendo el alcance" - como dicen el el mundo PMBoK - por añadir lo que no es clave para el proyecto, tanto SM como Equipo Desarrollador se lo harán ver.

Adicionalmente existe el Review
Cada sprint (ciclo de trabajo entre 2 y 4 semanas) el equipo Scrum - PO, SM y Equipo Desarrollador -  más los Stakeholders del proyecto se reúnen a ver el demo del sprint -a ver software funcionando cumpliendo la definición de terminado- , ha realizar inspección y adaptación sobre el producto y a decidir como seguir avanzando sobre el mismo, de manera que no hay sorpresas y el progreso o no progreso es evidente para todos.

Y si es que lo anterior no funciona
Ahora si ves que el proyecto no lo va a lograr..
  1. Desde las primeras dos semanas tuviste software funcionando 
  2. Suspende el proyecto y fin de la historia.

Cerrando

Los proyectos y productos que son construidos con el enfoque ágil pueden darnos suficiente información sobre su estado y nos permitirán tomar decisiones informadas sobre el éxito y fracaso de los mismos,  depende de nosotros emplearlos o no. En cascada si decides interrumpir el proyecto es probable que no tengas al final ni siquiera software funcionando pues depende mucho de la fase en que se interrumpa o finalice abruptamente el proyecto

Hasta acá esta pequeña reflexión, espero sea útil.

Bienvenido el feedback y sus comentarios

Saludos ágiles

Jorge Abad

Referencias, Comentarios, Notas y Aclaraciones

  1. Entendiendo recursos como dinero y tiempo invertido por las personas o empresas
  2. http://agilemanifesto.org/iso/es/principles.html
  3. La "Zona de Valor de Negocio". Una reflexión sobre ¿cuándo termina un release en un proyecto Ágil / Scrum?-  http://www.lecciones-aprendidas.info/2016/04/la-zona-del-valor-de-negocio-una.html 
  4. Go Product Map -  http://www.romanpichler.com/tools/product-roadmap/
  5. Este post está altamente relacionado con este: El valioso "NO" del Product Owner



No hay comentarios.:

Publicar un comentario