A veces cuesta mucho alinear Scrum con la realidad de los clientes. Hay casos en los cuales el cliente espera un plan de releases que no evolucione, con deadlines inamovibles. No es que el cliente no cree en los beneficios de la utilización de Scrum, sino porque pueden existir restricciones del tipo "si no tengo A para la fecha B, ya no me es de valor" o "El lanzamiento está alineado a otro mundo de tareas que ya empezaron y van a terminar en fecha, por lo que la fecha de despliegue no la podemos mover aunque queramos"
Para eso trabajamos con dos técnicas de buffer, que tienen como único objetivo PROTEGER LA FECHA DE ENTREGA DE LOS RELEASES (para ver el tema en detalle no dejar de leer AgileEstimating and Planning de Mike Cohn :
- feature buffers: cada uno de los releases se planifica con una lista de funcionalidades que el producto no puede dejar de tener y una lista de funcionalidades que el producto puede dejar de tener. De esta forma protegemos el entregable comprometiendo con el cliente para una fecha determinada todas las funcionalidades que sí o sí hay que entregar y con una lista de funcionalidades que solo se entregarán si resta tiempo luego de terminar con las historias mandatorias.
- schedule buffers: aplicamos el concepto de estimar al 50%, esto quiere decir, realizar estimaciones en la que tenemos un 50% de probabilidad de cumplirlas. Calculamos el tamaño completo del entregable y se suma un buffer del 50% del tiempo total estimado. Es muy importante proteger los entregables y no los items ni las tareas, porque Scrum no es a prueba del síndrome del estudiante y parkinson. De esta manera nos reservamos tiempo y logramos asegurar los entregables.
Un buen ejemplo de libro sobre como justificar los buffers para que no sean confundidos con sobreestimaciones: "Cuando uno va manejando un auto, en general deja una distancia prudencial con respecto al vehículo que va delante, de tal manera de poder frenar a tiempo en caso que el primer auto lo haga. Esto no significa que no podemos ir a 120km por hora durante 5 horas a 30 centímetros y no pase nada, pero esa distancia es necesaria para asegurar que se puede llegar a destino sin chocar con el vehiculo de adelante.
De la misma forma, los buffer quizás no se usen, en ese caso agregamos ítems, pero son necesarios para asegurar el cumplimiento de un release "
Notarán una gran similitud entre la utilización de buffers en Scrum y en cadena crítica, y más adelante comentaremos cómo se aplica el principio de feeding buffers para trabajar con multiples scrums en el mismo proyecto.
No hay comentarios:
Publicar un comentario