Este blog comparte estrategias y aprendizajes sobre desarrollo de software, marcos, métodos y metodologías ágiles como Scrum, Kanban y XP, con un enfoque en escalamiento ágil y Business Agility. Su propósito es ayudar a profesionales de la gerencia de proyectos, productos, scrum masters, agile coaches, agentes de cambio, y líderes a mejorar sus procesos y promover la experimentación como motor de innovación, facilitando su adaptación en entornos empresariales cambiantes.
Mostrando las entradas con la etiqueta velocidad. Mostrar todas las entradas
Mostrando las entradas con la etiqueta velocidad. Mostrar todas las entradas
martes, octubre 25, 2022
jueves, diciembre 02, 2021
viernes, marzo 19, 2021
Video: Proyectando los puntos del siguiente Sprint y del Release usando el Método de Montecarlo
A continuación encontrarás la Hoja de Cálculo empleada durante el ejemplo, puedes descargarla para tu uso.
lunes, septiembre 16, 2013
Scrum: Comprometiéndonos un poco más allá en el planning
Hola a todos
Aunque existen estrategias para mejorar la velocidad de un equipo (ver algunas aquí) y como lo he expresado es mejor ser más productivos que más veloces (clic aquí), les comparto un pequeño tip para que el equipo vaya ganando velocidad en su construcción de producto.
Por lo general, cuando los equipos comienzan o fallan son temerosos escogiendo la cantidad de historias a implementar que harán parte del sprint backlog. Una buena forma de alejar el temor y lograr la confianza (basándonos obvio en el principio) de transparencia es:
Si el equipo compra la idea, al final pueden darse las siguientes situaciones:
Aunque existen estrategias para mejorar la velocidad de un equipo (ver algunas aquí) y como lo he expresado es mejor ser más productivos que más veloces (clic aquí), les comparto un pequeño tip para que el equipo vaya ganando velocidad en su construcción de producto.
Por lo general, cuando los equipos comienzan o fallan son temerosos escogiendo la cantidad de historias a implementar que harán parte del sprint backlog. Una buena forma de alejar el temor y lograr la confianza (basándonos obvio en el principio) de transparencia es:
"Ok, comprometámonos con lo que nos sentimos seguros (15 puntos por ejemplo) y dejemos esta historia como opcional (ej:3 puntos), y si alcanzamos a hacerla, pues ¡Genial!"
- Se logré solo lo inicialmente comprometido (cero líos, no hay ningún problema)
- Logren hacer lo adicional, en este caso 18 puntos (excelente)
- Si el equipo nota que después de varios sprints cumple el reto adicional, ellos mismos, el Product Owner o el Scrum Master pueden considerar que se puede aumentar la velocidad para el siguiente sprint, en este caso 16, 17 ó hasta los mismos 18 puntos, lo que decidan en consenso.
Saludos ágiles
Jorge Abad
martes, agosto 27, 2013
Productividad mejor que Velocidad.
-
Qué es mejor ir a 200 km/hora en la dirección equivocada, implicando que entre más avanzas más lejos estás.
o
Ir a 80 km/hora en la dirección de la visión - dirección correcta -.
-
- Productividad ( me lo recordaba Jorge Johnson @jorge_johnson) es dar valor de negocio.
- Velocidad es construir software, útil o no útil pero software al fin al cabo.
Bajo estas definiciones entonces:
- Hacer mucho software pero no generarle valor al cliente
- mucha velocidad y poca productividad
- ejemplo:
- hacer funcionalidades que serán poco usadas y que corresponden al "nice to have" y que no están alineadas con la visión del producto.
- Hacer poco software pero generarle valor al cliente.
- poca velocidad pero alta productividad
- ejemplos
- cuando estamos haciendo refactor que nos permitirá tener una mejor aplicación
- cuando estamos haciendo componentes complejos pero que requieren gran esfuerzo en su construcción.
- Hacer mucho software y generar mucho valor
- mucha velocidad y alta productividad
- ejemplo:
- construyendo funcionalidades de valor para el cliente de complejidad normal.
- Hacer poco software y poco valor
- poca velocidad y poca productividad
- ejemplo
- Construir un componente muy complejo que requiere mucho esfuerzo, que no será muy usado. - por lo general un capricho funcional de algún interesado con poder -, y que no se encuentra alineado con la visión del producto.
En síntesis, nuestro esfuerzo como Equipo o como Scrum Masters es guiar al Product Owner a que solicite las funcionalidades del producto que le proporcionen valor, sea que estas se hagan o no con velocidad, pues estamos bajo el principio de transparencia y sabemos que estaremos con nuestro equipo trabajando comprometidamente en el backlog priorizado, en el 20% de las características que dan el 80% de beneficio (ley de pareto para el agilismo).
Por lo tanto, siempre preguntemos:
Nota:
Aunque esta nota aplica para el agilismo, también es valida para el esquema tradicional.
--
Por lo tanto, siempre preguntemos:
- ¿es necesario?
- ¿le agrega valor al producto?
- ¿cuantos lo van a usar?
- ¿ese uso lo pueden hacer en una herramienta externa? (informes que perfectamente pueden manipular mejor en excel)
- y volver a preguntar ¿es realmente necesario?
- ¿prefieres nuestro tiempo en esta funcionalidad a esta otra?
- ¿si se acabará el dinero preferirías esto o aquello?
- ¿prefieres esta validación supercruzada entre estos 8 campos o que entreguemos esta historia que te saca el total de ventas del día? (por ejemplo)
Nota:
Aunque esta nota aplica para el agilismo, también es valida para el esquema tradicional.
--
sábado, agosto 17, 2013
Seis (6) estrategias para lograr mayor velocidad de los equipos en Scrum
Hace unos días en Ceiba (empresa donde trabajo como Scrum Master) filosofábamos en equipo la siguiente pregunta:
Nota aclaratoria: no fue presión mía como Scrum Master hacia el equipo, pero si es cierto que yo lancé la inquietud (realizando la Inception :-) como en la película el Origen, de Nolan y Di Caprio)
La respuesta a esta inquietud ha llegado gradualmente, y pienso que es uno de los interrogantes obligatorios que tiene que plantearse un Scrum Master y que debe plantearle al equipo.
Dentro de las responsabilidades del SM están:
Hay que reconocer que Scrum nos ha permitido ser muchos más veloces y productivos debido a:
Este patrón se basa en:
Este patrón es útil cuando el producto ya se encuentra en producción y se requiere atención inmediata a temas específicos.
El patrón se basa en:
Beneficios:
Beneficios:
Presento dos gráficas de este post, que muestran la necesidad de detener la deuda técnica y comenzar a "pagarla" antes de que la velocidad de nuestro equipo se vea frenada radicalmente.
Algunas de las formas de implementar el Slack son:
Recomiendo visitar este post: Cutting Slack in Scrum
Y pronto estaremos escribiendo artículos y recomendaciones de como ser mejores en Scrum.
Hasta ahora he encontrado estas 6 formas, talvez hayan más o sean realmente menos, si alguien conoce, aprende, o ensaya más y las puede/quiere compartir bienvenidas sean, es importante todos aprender de todos.
Queda abierto el espacio para sus comentarios y experiencias.
Saludos
Jorge Abad
---
Referencias:
¿qué era necesario hacer para lograr mayor velocidad (puntos por sprint)?
Nota aclaratoria: no fue presión mía como Scrum Master hacia el equipo, pero si es cierto que yo lancé la inquietud (realizando la Inception :-) como en la película el Origen, de Nolan y Di Caprio)
La respuesta a esta inquietud ha llegado gradualmente, y pienso que es uno de los interrogantes obligatorios que tiene que plantearse un Scrum Master y que debe plantearle al equipo.
Dentro de las responsabilidades del SM están:
- el seguimiento del proceso
- el coach al equipo
- y dentro de ese coach llevarlo a una productividad mayor (a un doble de productividad según Sutherland - padre de scrum- [1] )
Hay que reconocer que Scrum nos ha permitido ser muchos más veloces y productivos debido a:
- Involucramiento y compromiso del dueño del producto, que permite resolver inquietudes rápido
- Visibilidad y resolución rápida de impedimentos
- Retrospectivas bien hechas, que nos llevan a la mejora continua
- Empoderamiento del equipo, de forma que este por si mismo se auto-organiza y encuentra la mejor forma de entregar el producto
- Los valores de coraje y compromiso, que han permitido querer ir más allá y poder enfocarnos mucho más en como ser mejores
- Atención a la excelencia técnica, que ha hecho que nuestra deuda técnica cada vez sea menor, lo cual mejora nuestra velocidad. "La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad" [2] (principio del manifiesto ágil). (este punto lo retomaré más adelante)
- Teniendo el equipo motivado y feliz, equipos motivados son más ágiles "Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo." [2] (principio del manifiesto ágil).
Pero luego de estar allí, es necesario plantearse ¿es posible ser mejores? a continuación entonces, enumero en orden de importancia (según mi criterio) las formas en las que considero y he encontrado que podemos ser más veloces:
1. Seguir el patrón Scrumming the Scrum
En la conferencia de Jeff Sutherland | "Scrum: The Future of Work" [3], presenta este patrón de scrum como una de las formas de llegar "hiper-productividad" en los equipos![]() |
Patrón: Scrumming the Scrum [4] |
- Identificar y priorizar la(s) mejora(s) (kaizen) a realizarle al proceso de Scrum en la Reunión de Retrospectiva. Recordemos en la retrospecttiva debemos enfocarnos en:
- cómo mejorar el proceso de elaboración del producto, el cómo que Scrum no resuelve y deja en libertad a los equipos).
- cómo mejorar la calidad y el producto
- cómo mejorar la felicidad del equipo
- Enfocarse en la(s) mejora(s) más importante(s) y críticas. He leído por ahí que máximo 3 cosas muy importantes a mejorar (1, 3 ó 4 no recomiendo ningún número en especial - yo prefiero pocas cosas a muchas - intenten una opción y concluyan - recordemos que lo que funciona en un equipo no tiene por que funcionar en otro)
- Ponga el Kaizen en el primer lugar del sprint backlog con criterios de aceptación cuantitativos.
- Revise la mejora Kaizen en el Sprint Review como si fuera otra historia.
Beneficios:
- terminar antes
- solicitar mas backlog para el sprint
- incrementar la métrica de "el clima de ayer" para el próximo planning.
2. Seguir el patrón de Interrupción
Otro de los patrones expuestos en esta conferencia Jeff Sutherland | "Scrum: The Future of Work" [3] para llegar a la "hiper-productividad", es el presentado a continuación:.Este patrón es útil cuando el producto ya se encuentra en producción y se requiere atención inmediata a temas específicos.
El patrón se basa en:
- Luego del Kaizen determine una cantidad de puntos disponibles para tareas inmediatas que requiere el Product Owner.
- Si identifica que no se van a consumir úselos en más historias.
Beneficios:
- Equipo dispuesto para atender urgencias con un tiempo asignado para ello, sin que les quite velocidad y compromiso..
- Product Owner contento con su equipo, debido a que pueden atender temas urgentes.
3. Hacer Sprints más cortos
Esta recomendación nos la dió Ricardo Colusso (@rcolusso) de kleer.la en donde nos sugería realizar sprints de 1 semana.Beneficios:
- Poder fallar más rápido, debido a ciclos de retroalimentación más cortos.
- Despliegue de producto más rápido
Requerimientos
- Más compromiso del Product Owner
- Más historias de usuario refinadas y cumpliendo el criterio de Ready.
- Historias de usuario más pequeñas
Nota: No he intentado esta sugerencia
4. Tener un backlog refinado y con el criterio de ready
Otra de las recomendación que nos la daba Ricardo Colusso (@rcolusso) de kleer.la y que también remarcaba Sutherland era la necesidad de tener un backlog refinado y con el criterio de ready, esto indiscutiblemente proporciona una visión clara hacia donde va el producto.Beneficios:
- Visión de producto
- equipo enfocado
Requerimientos
- Más compromiso del Product Owner
- Realizar la reunión de refinamiento al la mitad del sprint
- tener al menos 2 sprints más con historias de usuario cumpliendo el criterio de Ready.
5. Resolviendo la deuda técnica
La deuda técnica es uno de los elementos que termina frenando la velocidad de los equipos y va en contra de la atención a la excelencia técnica (que es uno de los principios del manifiesto ágil). Recomiendo el post de Henrik Kniberg - The Solution to Technical Debt . Aunque pienso que es un tema de estudio y de compromiso con el cliente, producto, product owner y mismo equipo.Presento dos gráficas de este post, que muestran la necesidad de detener la deuda técnica y comenzar a "pagarla" antes de que la velocidad de nuestro equipo se vea frenada radicalmente.
![]() |
Efecto de programar con código apestoso (crappy code) (en español no encuentro una palabra polite para crappy) [4] |
![]() |
Efecto de trabajar con código limpio (clean code) [4] |
Beneficios:
- Velocidad
- entendimiento del código
- excelencia técnica
Requerimientos
- Equipo con coraje y conocimiento técnico
- Equipo y Scrum Master que sepan vender la idea de resolver la deuda técnica el Product Owner.
- Hacer la deuda técnica como parte del kaizen y darle prioridad e importancia en el proyecto.
Recomendación
- Tener lineamientos técnicos que se cumplan desde el inicio del proyecto.
6. Teniendo una holgura (Slack) cada cierto tiempo
Por último, la holgura o Slack es un tiempo intencional dejado entre sprints para cubrir cualquiera de las siguientes tareas:- Innovación técnica
- transferencia de conocimiento entre equipos
- realizar ajustes pendientes de soporte y mantenimiento
Algunas de las formas de implementar el Slack son:
- dejar un tiempo pequeño entre sprints de 1 a 2 días
- 6×2 + 1 - despues de 6 sprints de 2 semanas, descansar una.
- El viernes del desarrollador: Cada viernes el desarrollador tiene tiempo para alguna de estas tareas.
- Una carta dorada. Esta carta en el juego del poker le dará al desarrollador un día libre (el que quiera) para usar el slack en lo que el quiera.
- etc..
Recomiendo visitar este post: Cutting Slack in Scrum
En conclusión
Si seguimos estas directrices, no dudo que podremos mostrar gráficas de velocidad similares a la que presenta Jeff Sutherland![]() |
Incremento de velocidad aplicando los patrones 1 y 2 [4] |
Y pronto estaremos escribiendo artículos y recomendaciones de como ser mejores en Scrum.
Consideración importante respecto a la puntación de historias
Cuando se mejore la velocidad y encontremos qué cosas que antes nos tomaban más tiempo, pero ahora luego de la mejora nos toman mucho menos, debemos de tener una consideración importante respecto a la puntuación:- si tus puntos fueron diseñados poniendo un pivote de funcionalidad conocido (ejemplo una pantalla con un formulario de 8 campos), no hay lio, ese pivote y las demás funcionalidades las hará el equipo más rápido y la puntuación seguirá siendo la misma.
- Si tu pivote esta basado en días felices/productivos (ver [7]) (yo uso esa técnica), considera que si haces algo más rápido debes puntuarlo de la misma forma que usabas al principo del proyecto, como si no tuvieras hiper-velocidad o hiper-productividad, ejemplo:
- si una pantalla tipo a= te tomaba 2 días felices (2 puntos).. .pero luego de la mejora te toma un dia feliz (un punto) síguela puntuando como antes, pues esa es la referencia inicial con la que se dimensionó el proyecto y permitirá visualizar la velocidad y la mejora.
Hasta ahora he encontrado estas 6 formas, talvez hayan más o sean realmente menos, si alguien conoce, aprende, o ensaya más y las puede/quiere compartir bienvenidas sean, es importante todos aprender de todos.
Queda abierto el espacio para sus comentarios y experiencias.
Saludos
Jorge Abad
---
Referencias:
- [1] Video - Jeff Sutherland | "Scrum: The Future of Work" - referencia a la productividad del equipo https://www.youtube.com/watch?feature=player_detailpage&v=RYIPSPWVc8o&t=1457
- [2] Principios del manifiesto ágil .http://agilemanifesto.org/iso/es/principles.html
- [3] Video - Jeff Sutherland | "Scrum: The Future of Work" https://www.youtube.com/watch?feature=player_embedded&v=RYIPSPWVc8o
- [4] Diapositivas -Jeff Sutherland | "Scrum: The Future of Work" http://scrumlab.scruminc.com/gallery/album/104-scrum-the-future-of-work/
- [5] Henrik Kniberg - The Solution to Technical Debt http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt
- [6] Cutting Slack in Scrum
- [7] Scrum y XP desde las trincheras. Por Henrik Kniberg. http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf
Suscribirse a:
Entradas (Atom)