lunes, 30 de abril de 2018

Una breve reflexión sobre #NoEstimates

Durante las X Jornadas Latinoamericanas de Agilidad en Santiago de Chile en Octubre de 2017, mi amigo y muy respetado agilista Roberto Mejías me invitó a hablar sobre #NoEstimates para su video blog “Rob Agile”. A continuación les presento el resultado de ese trabajo y agrego la transcripción del mismo.








Saludos Agilistas, mi nombre es Fred Madrigal, soy de Costa Rica y soy el fundador de sINNplify, una empresa dedicada a Agile Coaching. En esta ocasión voy a hablar de un tema un poquito polémico en agilidad que es #NoEstimates.

¿Qué es No Estimates?


No Estimates es una corriente en agilidad que parte de la creencia que el ejercicio de hacer estimaciones como tal no agrega valor y por eso creemos que no se debería hacer. Es desperdicio desde el punto de vista de Lean y en el mismo ejercicio -por ejemplo- de Planning Poker para obtener puntos de historia, el punto ni siquiera es el número o el estimado que se obtiene, sino la generación de una conversación para obtener ese número; y el valor del ejercicio está en la conversación. Por lo tanto si se puede obtener una conversación sin llegar al número, para qué llegar al número.

Bueno, No Estimates es un tema que a veces es difícil de introducir, especialmente en organizaciones muy tradicionales donde quieren ser… quieren controlar lo que va a suceder con el proyecto y desde ese punto de vista el querer predecir (que a final de cuentas se trata de predecir) qué se va a tener para un momento dado, desde nuestro punto de vista es un ejercicio o una manifestación de comando y control. Nosotros creemos más en la adaptabilidad y en volvernos adaptables que en ser predecibles.

Desde este punto de vista para nosotros es más importante invertir esfuerzo en determinar qué es lo más valioso, qué es lo que mayor impacto puede producir en un momento dado, que en tratar de predecir algo que no se puede predecir porque el ámbito del problema en el que trabajamos es complejo y emergente y por lo tanto es difícil saber qué va a pasar a lo largo del tiempo. Lo único que tenemos seguro es que va a cambiar.

En ese sentido cuando nos preguntan ¿para cuándo va a estar esto?, hay que tomar en cuenta que normalmente de todo lo que se pide en un proyecto de software, el 20% de la funcionalidad va a generar el 80% del valor, el otro 80% de funcionalidad genera solo un 20% de valor. Ahí yo les pido que recuerden el principio ágil que dice “la simplicidad -o el arte de maximizar el trabajo no hecho- es esencial”; si podemos no hacer ese 80% de esfuerzo que genera solo el 20% de valor estamos siguiendo ese principio.

De esta manera, personalmente me hace todo el sentido del mundo enfocar los esfuerzos en determinar en todo momento cuál es esa funcionalidad que está dentro de ese 20% y que me va a generar el 80% de valor. Y una vez que haya superado ese umbral, pues decidir cortar el proyecto y pasar al siguiente proyecto donde pueda identificar otra fracción de 20% de funcionalidad que me va a seguir generando el 80% de valor.

Consejos y errores al momento de implementar #NoEstimates


Ok, en cuanto a consejos y errores yo creo que en esto hay que recordar que uno de los pilares de Scrum es la Transparencia. Intentar hacer #NoEstimates a escondidas no es una buena idea. Creo que cuando uno decide probar esto, debe tener algún tipo de “buy in” de las personas, quizás esa es la parte difícil; pero no es tampoco imposible.Lo que me gusta de #NoEstimates es precisamente que te obliga a tener esas conversaciones que son difíciles temprano en el proceso, en vez de tenerlas de manera tardada.

Otro consejo con respecto a #NoEstimates, es tener una conversación cuando surge la pregunta “¿para cuándo voy a tener esto?”. En este contexto a muchas personas no les gusta o no se meten en #NoEstimates porque esa pregunta es difícil de responder (si estás haciendo #NoEstimates). Yo la reflexión que invito es: el problema no es lo difícil de responder la pregunta, sino preguntarse si ¿lo que está mal realmente es la pregunta misma? Quizá en este aspecto yo les invitaría a tratar de convertir una conversación de “¿para cuándo está eso?” por “¿qué es lo más valioso que podemos entregar en este momento y a lo largo de todo el proyecto?”.

Otro tip que se me ocurre para #NoEstimates y es algo que se requiere en #NoEstimates es que las historias sean pequeñas. En ese aspecto una de las cosas que a mí me ha servido muy bien, es trabajar con sprints de una semana. Esta es una idea que al principio no me gustaba tanto, pero me he dado cuenta que al trabajar con sprints de una semana, eso provoca que las historias naturalmente sean relativamente pequeñas.

El mayor grado de estimación -y alguien por ahí me decía que tal vez el nombre no debería ser #NoEstimates sino #ExtremeEstimates o #MinimumEstimates- el grado de estimación que yo creo que es necesario durante el refinamiento del backlog es preguntarse “¿esta historia se puede hacer durante el sprint (que como recomiendo es de una semana), o no?”. Si se puede hacer en un sprint o menos, la historia es suficientemente pequeña. Si la respuesta es “no” la historia se divide y partimos de ese punto.

Bueno, agradezco mucho la invitación para poder hablarles de #NoEstimates. Correspondo el gesto con una invitación a los que están viendo este video de intentarlo. Y está bien, puede que esto no funcione para todos, pero si les digo: ¡inténtenlo! Porque solo de esa manera van a darse cuenta si realmente funciona o no funciona para ustedes.


¡Pura vida! Y hasta la próxima…

No hay comentarios.:

Publicar un comentario