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.
martes, octubre 25, 2022
miércoles, abril 06, 2022
¿Cuándo podríamos estimar una historia de usuario con mejor certeza? La matriz de Stacey, una técnica a usar en el Refinamiento
Hola a todos
La matriz desarrollada por Ralph Stacey, conocida como la Matriz de Stacey, permite entender cuando de acuerdo con los ejes de Requerimientos y Tecnología, podemos tener una aproximación de gestión simple, complicada, compleja;
![]() |
| Matriz de Stacey. Tomado de (1) |
y dados estos escenarios, se ha usado en los últimos años, para justificar en que escenarios trabajar con métodos tradicionales y cuando con enfoques ágiles (existen cientos de artículos al respecto).
![]() |
| Matriz de Stacey. Tomado de (2) |
Usando este mismo enfoque, podríamos identificar en un taller de Inception o de Refinamiento, cuando una historia de usuario o una épica incluye mucha o poca incertidumbre para ser estimada y, por ende, desarrollada, tanto desde el punto de vista de requerimientos, como de tecnología, proporcionándonos estimaciones indirectas sobre tiempos y esfuerzos requeridos (toda estimación incluye una probabilidad y una incertidumbre asociada).
Los equipos ágiles deben preferir historias en esta zona de confianza, y estos elementos podría hacer parte de una Definición de Ready o Preparado adecuada, para que las historias puedan ser incluidas en el planning. Los siguientes criterios que garantizan esta zona de estimación con certeza:
- Las historias cumplen cumplen INVEST y las 3C
- Existe un entendimiento consistente de parte del product owner y del equipo acerca de la historia de usuario.
- Las historias cuentan con claros criterios de aceptación
- Se han resuelto las dependencias técnicas y funcionales
- Las ambigüedades se han resuelto
- El tiempo para construir-probar-desplegar la historia de usuario se encuentra en horizontes de tiempo menor o igual a 4 días-persona (esto es una heurística que he observado en los equipos ágiles, en este número de dias las estimaciones son más certeras y confiables. Habrá que hacer un estudio riguroso para confirmar mi experiencia e hipótesis).
Referencias
- Entendiendo la complejidad: La matriz de Stacey - https://academy.jeronimopalacios.com/courses/145560/lectures/5315213
- https://www.researchgate.net/figure/Stacey-Matrix-Stacey-1996-adapted-to-software-development_fig3_336899045
- Leído y Recomendado: Patrones de División de Historias de Usuario o Cómo Dividir una Historia de Usuario
domingo, febrero 28, 2021
"Todos tienen un plan hasta que son golpeados en la cara". - Mike Tyson
lunes, abril 06, 2020
La Guía de Scrum 2017 - En Mapa Mental
La Guía de Scrum, la oficial, la publicada en https://scrumguides.org/, y en su versión en español para suramérica en 2017 https://scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Spanish-SouthAmerican.pdf traducida por mi estimado amigo Lucho Salazar, es un trabajo de sus creadores Jeff Sutherland y Ken Schawber de más de 20 años sobre ella.
Es bastante rica en conceptos, prácticas y sugerencias, fuera de ser muy, pero muy resumida.
Muchas veces al hacer una lectura de la misma, no somos conscientes de la cantidad de información allí depositada, y como nos pasa a muchos, cada vez que vamos a buscar un concepto, nos encontramos con perlas ocultas a nuestros antiguos ojos desprevenidos (los ojos del pasado) o tal vez sin el conocimiento para entender lo allí descrito, (me decía mi amiga Paola Becerra, el ojo ve lo que es capaz de interpretar).
Bueno, con el fin de decodificar un poco la guía, me he animado a ponerla en formato de mapa mental.
|
| Mapa Mental - Capítulos |
|
| Mapa Mental - Capítulos y Subcapítulos |
Descárgalo y Úsalo
A continuación, pongo a su disposición varios formatos de descarga y visualización- Descargar PDF - aquí (es el más sugerido debido al tamaño, debes descargar y abrir desde un navegador web, como: Chrome, Edge, o Firefox, etc)
- Word - aquí
- PNG Aqui
- SVG - aquí
Espero que esta decodificación les sea tan útil como lo fue para mí, en este entendimiento y reestudio de la guía.
Disfruten las perlas (las que estan con asterisco (*) y en verde)
Saludos ágiles
Jorge Abad
domingo, agosto 12, 2018
Un Método Adicional de División de Historias de Usuario: Criterio de Equipo o Hasta Acá Llegamos
Hola a todos
Existe un método adicional de división (splitting) de historias de usuario al presentado en Leído y Recomendado: División de historias de usuario -clic aquí- y es el usado por el Criterio del Equipo o al que yo llamo "Hasta acá llegamos" y la situaciones en las que he observado que se presenta son las siguientes:
Situación 1: El equipo observa una historia de usuario muy grande
- El Product Owner (PO) explica una historia de usuario
- El Equipo la estima y la ve muy grande (ver post) o muy riesgosa,
- Entre PO y Equipo se estima hasta donde llegan en esa historia (dependiendo si la dividen por valor para el Sprint o Riesgo) y si el resto será en otra historia de usuario que posiblemente se construya en este sprint o se decida realizar el siguiente.
Situación 2: El product backlog esta casi listo y se quiere añadir una historia de usuario
- Se tiene el sprint backlog casi listo, queda un poco de capacidad libre para una nueva historia de usuario.
- El PO explica una historia de usuario
- El Equipo observa que no hay capacidad para asumir esta historia de ese tamaño y las subsiguientes historias también parecen ser de tamaños similares o superiores.
- El Equipo con el PO dividen la historia de forma que se logre incluir lo que más genera valor en el planning actual y se deja para otro sprint el resto (pero en una nueva historia).
Espero haya sido útil este corto compartir.
Saludos ágiles
Jorge Abad
miércoles, julio 25, 2018
Aclarando Sobre Historias de Usuario
genial...es lo mejor que puede suceder.. y observo varias cosas:
un abrazo Señor Tester y espero algún días hagas parte de un verdadero equipo ágil
- las historias de usuario no se envían, se explican en el planning
- entre más ambiguas mejor...pues implicará que el #ProductOwner, se haga entender por todo el equipo
- Al tester no lo estan invitando al planning mal #Agile, mal #Scrum o #FrAgile -- tiene que estar allí con todo el equipo, hace parte del equipo
- te recomiendo este post - Algunas Ideas Claves sobre Historias de Usuario - clic aquí..-
- las historias de usuario NO SON ESPECIFICACIONES.. su creador argumenta que si hubiera querido que fueran especificaciones, se llamarían ESPECIFICACIONES DE USUARIO, pero se llaman historias por que deben ser contadas y explicadas
- Al Señor Tester le esta tocando un equipo que hace mal #Agile, mal #Scrum o #FrAgile
domingo, diciembre 10, 2017
Un Cuarto Método para Estimar la Velocidad (capacidad) de un Equipo Scrum en el Primer Planning
Hola a todos
Hoy quisiera compartir un cuarto método de los tres anteriormente compartidos en el post "Tres Métodos para Estimar la Velocidad (capacidad) de un Equipo Scrum en el Primer Planning" - (clic aquí para leerlo).
Es muy parecido al ojo de buen cubero.
El proceso es sencillo
- Se toma una historia de usuario que todo el esfuerzo (1) requerido para construirse tome entre uno y dos días-persona (o sea, si sumas todas las horas usadas para construir la historia de usuario sin considerar tiempos muertos tome entre uno y dos días) - Consejo: entre más cercano a un día de esfuerzo es mejor - de ahora en adelante esa será la historia pivote (2) y tendrá el tamaño de un punto
- Luego pregúntale al equipo. ¿cuántas historias pivote o de un punto son capaces de hacer en un sprint?
- El equipo hará su estimación y dirá por ejemplo somos capaces de hacer 20 de esas.
- Ok, acabas de tener la capacidad de tu equipo
- Ahora si, con esta información comienza el planning y compara todas las historias con respecto a la historia de usuario pivote, preguntando por ejemplo ¿esta nueva historia es 1,2,3,5,8 veces la historia pivote?, El equipo realizará planning póker y sumaras los puntos hasta que llegues a un número cercano a 20.
- Si el sprint es de 2 semanas, es decir 10 días hábiles, y 8 de ejecución quitando las reuniones de planning, dailys, refinamiento, review, retrospectiva
- si la historia es de aproximadamente 1 día, el tamaño máximo deberá ser 8 puntos, 13 puntos sería imposible de lograr
- si la historia es de aproximadamente 2 días, el tamaño máximo deberá ser 5 puntos (y eso con un alto riesgo de no lograrse)
Notas, Aclaraciones, Comentarios y Referencias
- Esfuerzo es diferente a Duración, algo te puede tomar 2 días de esfuerzo pero la duración puede ser 3 pues hay tiempos muertos entre una tarea y otra hasta completar la historia de usuario
- Hace un tiempo realice una tabla de tamaño de historias de usuario de acuerdo al tamaño del sprint (http://www.lecciones-aprendidas.info/2017/05/Tamanos-sugeridos-de-historias-de-usuario.html ), cada vez me convenzo más que deben ser lo más pequeñas posibles.
viernes, junio 16, 2017
El Planning, el Tasking, el Tablero Kanban, la Guía de Scrum y un Tip Poderoso para “Oler” Impedimentos
- Tema Uno: ¿Qué puede hacerse en este Sprint? (conocido como “El Qué”): El cual consiste en la identificación del Objetivo del Sprint y la lista de ítems de backlog que hacen parte del producto que si se completan lograrían el Objetivo del Sprint
- Tema Dos: ¿Cómo se conseguirá completar el trabajo seleccionado? (conocido como “El Cómo”): El cual consiste que el Equipo de Desarrollo decide cómo construirá esta funcionalidad para formar un Incremento de producto “Terminado” durante el Sprint que cumpla con el Objetivo y contenga los ítems seleccionados en el paso anterior más el plan para terminarlos.
- Se sugiere que el trabajo se descomponga de forma gradual en unidades, o sea, NO SE DESCOMPONGA TODO A PRIORI en el planning del sprint (ya sea por timebox o conveniencia), sino que se identifique claramente las tareas próximas de lo próximo que se va a hacer y luego se descomponga el resto cuando estemos cercanos a construirlo (esto es conocido en el mundo de gerencia de proyectos como Planeación Gradual o Rolling Wave Planning – la cual empleamos nosotros ampliamente en el mundo ágil –). Acá quiero hacer una precisión, nunca lo he hecho así, siempre sugiero o hago la descomposición de todas las historias de usuario en tareas durante el planning –y nos ha ido bien –, haré el experimento y lo compartiré.
- Lo segundo que me parece MUY PODEROSO es descomponer el trabajo en unidades de UN DÍA O MENOS.
Cómo he trabajado el tasking o cómo lo he visto
Forma de tasking
|
Observación
|
·
Dividir la historia de usuario en tareas de
tamaños de unidades entre 1 y 8, así: 1h, 2h, 3h, 4h, 5h, 6h, 7h, 8h
|
La verdad esta no me gusta, lo que he encontrado es que no somos
buenos estimando en esta forma, pues la precisión aun a nivel de tareas aún
es baja en desarrollo de software, adicional abre el espacio a la
microgestión que limita al equipo y no permite que el equipo aprenda.
|
Esta forma me gusta, brinda amortiguación si se falla en la
estimación.
|
|
·
Dividir la historia de usuario en las tareas
de tamaños de 2h, 4h, 8h
|
Esta es la que más me gusta, por la misma razón de la anterior,
adicionalmente permite que falles, aprender, mejorar, da más libertad al
equipo.
|
·
Dividir la historia de usuario en tareas sin
horas pero garantizando que cada tarea es menor a un día
|
Esta forma la he visto en equipos muy maduros en los cuales la
confianza y transparencia son una constante presente en su día a día.
|
Ahora el Super Tip
- Existe un posible impedimento
- Existe una posible dificultad en desarrollar la tarea
- Existe una posible falta de foco o de habilidad por parte de desarrollador que esta trabajando en ella
- Se estimó de una forma muy optimista o con falta de conocimiento del real tamaño
- Existe un desbordamiento de alcance
- O es un punto de mejora para discutir en la retrospectiva
Cerrando
- ¿Cuándo fue la última vez que leíste la guía oficial de Scrum?
- ¿Qué descubrimiento has hecho?
- ¿los puedes compartir?
Notas, Aclaraciones, Comentarios y Referencias
- La que se encuentra en Scrumguides.org
- Es correcta esta forma de escribirlo, la RAE lo permite ver acá Pósit http://dle.rae.es/?id=TnfXVsj
domingo, diciembre 25, 2016
Tres Métodos para Estimar la Velocidad (capacidad) de un Equipo Scrum en el Primer Planning
Hola a todos
Uno de los primeros retos que enfrenta un Scrum Master con su Equipo es realizar el primer planning, pues para este no hay velocidad anterior (1), quiero compartirles tres propuestas de como se hace este cálculo, las cuales son muy sencillas, pues la verdad en la agilidad preferimos invertir más tiempo en el desarrollo de software que en la estimación que a la larga siempre fracasamos en ellas y terminan siendo un desperdicio.
Demos inicio.
Datos de entrada
- Un equipo multifuncional de 6 personas
- Un Product Owner (obviamente, no esperaría menos)
- Un Scrum Master (obviamente, no esperaría menos)
- Un sprint de 10 días)
- Días de reuniones del sprint: 1.5 días aproximadamente (ver tabla de tiempos reuniones de Scrum - clic aquí -)
- Planning medio dia
- Review y retrospectiva medio día
- Refinamiento máximo el 10% del tiempo del sprint
- Días efectivos del sprint: 8.5 días (8.5 días = 10 días del sprint - 1.5 días de reuniones)
- Días-persona disponibles para el producto: 51 días-persona/sprint
- (8.5 días x 6 personas = 51)
Método 1: Un día-persona es igual a un punto (punto de historia)
Los pasos son los siguientes:- Determino cuantos días-persona tengo (datos de entrada: 51 días-persona)
- Le presento al equipo una funcionalidad, por ejemplo la siguiente pantalla, con todos sus criterios de aceptación
- Les pido que estimen la totalidad de esfuerzo(2) requerido en días(3) para realizar las siguientes actividades correspondientes a una Definition of Done:
- Análisis de la historia de usuario
- Diseño
- Implementación (desarrollo)
- Web services (Si es que los hay)
- Modificaciones a la base de datos (si es que los hay)
- Codificación
- Pruebas unitarias
- Inspección o prueba par
- Realizar correcciones fruto de la inspección par (o prueba par)
- Despliegue en ambiente calidad
- Ajuste en calidad
- Elaboración de casos de prueba
- Probar
- Reportar las pruebas
- Corregir en ambiente de desarrollo
- Despliegue en Calidad
- Volver a probar
- Hacer los manuales o documentos que al cliente le agregan valor (manual de usuario, manual técnico o cualquier otro documento de la Definition Of Done)
- Alguna otra actividad de la Definition of Done
- El equipo estima que para esto por ejemplo toma 2 días de esfuerzo entonces son 2 puntos (o puntos de historia)
- Y la velocidad máxima que tendrá ese equipo en este sprint y en los demás sprints será de 51 puntos
- Luego se siguen estimando el resto de historias de usuario hasta que se se llega a la velocidad del sprint
Ventajas
- Para toda la organización y todos los equipos la medida es única (1 día-persona = 1 punto)
- Los equipos tienen velocidad estática, aunque mejoren sus procesos, interacciones, forma de trabajo, se automaticen tareas repetitivas su velocidad será siempre la misma
- Serán fiscalizados en función los puntos que son capaces de lograr debido a la cantidad de integrantes y presionados a lograr el 100% de lo comprometido
Método 2: Un punto (punto de historia) es igual a una funcionalidad pivote
- Determino los días persona (datos de entrada: 51 días-persona)
- Le presento al equipo una funcionalidad, por ejemplo la siguiente pantalla, con todos sus criterios de aceptación
- Les pido que estimen la totalidad de esfuerzo(2) requerido en días(3) para realizar las siguientes actividades correspondientes a una Definition of Done:
- Análisis de la historia de usuario
- Diseño
- Implementación (desarrollo)
- Web services (Si es que los hay)
- Modificaciones a la base de datos (si es que las hay)
- Codificación
- Pruebas unitarias
- Inspección o prueba par
- Realizar correcciones fruto de la inspección par (o prueba par)
- Despliegue en ambiente calidad
- Ajuste en calidad
- Elaboración de casos de prueba
- Probar
- Reportar las pruebas
- Corregir en ambiente de desarrollo
- Despliegue en Calidad
- Volver a probar
- Hacer los manuales o documentos que al cliente le agregan valor (manual de usuario, manual técnico o cualquier otro documento de la Definition Of Done)
- Alguna otra actividad de la Definition of Done
- El equipo estima que para esto por ejemplo toma 3 días de esfuerzo
- Se considera esa funcionalidad será el pivote y es igual a 1 punto y que estimemos relativamente el resto de las historias de usuario o pantallas según el caso.
- La velocidad esperada ese primer sprint será = 17 puntos (51 días-personas/3 días =17 puntos)
- Para la siguiente historia saco el lapicero de Will Smith de Men in Black y pido que miren fijamente, diciéndoles que olviden el cálculo 1 punto es aproximadamente 3 días y que sigamos pensando solo en la pantalla y estimemos relativamente respecto este pivote.

Equipo por favor miren a acá un momento y olviden que esta historia de usuario toma 3 días. - Se siguen estimando el resto de historias de usuario hasta que se se llega a la velocidad del sprint
Ventajas
- Se desvincula el concepto de días u horas a las estimaciones
- Los equipos encuentran mejores formas de interactuar y de resolver los problemas con el tiempo, por lo tanto con seguridad habrá aumento de velocidad y esta pantalla que en inicio tomaba 3 días es probable que al sexto sprint tome menos viendo la organización de forma tangible la mejora del equipo.
- Se pierde el “control” basado en días
- Los equipos no tienen velocidad estándar
Método 3: "Ojo de buen Cubero" o "nos comprometemos hasta aquí"
- El equipo escucha las historias en orden, resuelven el qué y el cómo de cada una de ellas.
- hasta un momento donde el equipo dice: "Somos capaces con estas historias, paremos el planning"
- Se desvincula el concepto de días u horas a las estimaciones
- Es necesaria la confianza en el equipo
- Se pierde el “control” basado en días
- Los equipos no tienen velocidad estándar
Concluyendo
De estos tres métodos sugiero más al método 2 (aunque por años usé el método 1) y con equipos maduros al método 3. Espero que este post les sea de ayuda en su primer planning,Saludos ágiles
Jorge Abad
Importante: compartí un cuarto método en: Un Cuarto Método para Estimar la Velocidad (capacidad) de un Equipo Scrum en el Primer Planning (clic aquí)
Notas, referencias, comentarios y observaciones
- Para la estimación de la velocidad o capacidad del segundo sprint se usa un concepto que se llama “el clima del dia anterior”, y se basa en la premisa si ayer hizo un clima es muy probable que hoy haga el mismo clima, si el sprint pasado hicimos 30 puntos es muy probable que estemos cercanos a ese puntaje, entre 25 y 35, ya es potestad del Equipo y del ScrumMaster si van más allá o nó. Lectura Recomendada Comprometiéndonos un poco más allá en el planning - clic aquí- )
- Obvio es probable que entre una actividad y otra toque esperar un tiempo, pero nos estamos refiriendo solo a tiempo de trabajo y no se incluyen tiempos de espera)
- Se sugiere en días, pues de esa manera se amortiguan las malas estimaciones.
- Lectura recomendada:Uno de los objetivos secundarios del planning no es la puntuación, sino determinar con cuanto se compromete el equipo dada su capacidad (clic aquí)
- Libro recomendado: Scrum y XP desde las trincheras (clic aquí)
miércoles, noviembre 02, 2016
[Agenda Scrum] Pasos para Realizar un Planning
Bajo esta etiqueta, quiero compartirles los pasos que he encontrado para realizar las diferentes reuniones, ceremonias o conversaciones de Scrum, no son estrictos, no son obligatorios, cada Scrum Master y Equipo encontrarán la forma de hacerlo - no dudo que mejores -, he aquí una propuesta para cada una de las sesiones.
Quiero compartirles en este post los pasos sugeridos para el Planning
Forma 1: A cada historia se estiman sus puntos y tareas a la vez
- Preparar la reunión
- El Scrum Master(SM) comparte el propósito de la reunión, timebox y los pasos a seguir
- Se establecen las reglas y los acuerdos entre los asistentes para hacer efectiva la reunión
- El Produt Owner(PO) comparte el objetivo del Sprint
- El SM comparte la capacidad o velocidad del equipo en puntos (o en algun sistema equivalente) considerando la presencia o no de team members, o reuniones citadas.
- El PO lee la historia de usuario
- El equipo hace preguntas
- El SM invita a que el equipo estima historia de usuario estimen en puntos (se puede usar la serie de Fibonacci u otra serie)
- Con la facilitación del SM se llega a un acuerdo sobre cuantos puntos tiene la historia
- Se identifican las tareas técnicas para realizar la historia de usuario (ej: crear tabla, crear pantalla, modificar SQL, armar webservice, probar, desplegar, etc)
- (opcional) a las tareas se les asigna horas por parte del equipo llegando a acuerdos ayudados por el SM
- Se valida si la capacidad del equipo es alcanzada en horas y en puntos por la historia de usuario estimada, si la respuesta es NO, se retorna al punto 6 con la siguiente historia de usuario
- Si la capacidad en horas o puntos es alcanzada se finaliza el Planning
- El SM comunica entonces:
- Cual es el objetivo,o se actualiza con la retroalimentación de todos
- las historias planeadas
- las fechas para refinamiento, review, retrospectiva.
- Se actualizan las herramientas de gestión
- Preparar la reunión
- El Scrum Master(SM) comparte el propósito de la reunión, timebox y los pasos a seguir
- Se establecen las reglas y los acuerdos entre los asistentes para hacer efectiva la reunión
- El Produt Owner(PO) comparte el objetivo del Sprint
- El SM comparte la capacidad o velocidad del equipo en puntos (o en algun sistema equivalente) considerando la presencia o no de team members, o reuniones citadas.
- El PO lee la historia de usuario
- El equipo hace preguntas
- El SM invita a que el equipo estima historia de usuario estimen en puntos (se puede usar la serie de Fibonacci u otra serie)
- Con la facilitación del SM se llega a un acuerdo sobre cuantos puntos tiene la historia
- Se valida si la capacidad del equipo es alcanzada en puntos por la historia de usuario estimada, si la respuesta es NO, se retorna al punto 6 con la siguiente historia de usuario.
- Si la capacidad puntos es alcanzada se identifican las tareas técnicas para realizar todas historias de usuario (ej: crear tabla, crear pantalla, modificar SQL, armar webservice, probar, desplegar, etc)
- (opcional) a las tareas se les asigna horas por parte del equipo llegando a acuerdos ayudados por el SM
- Se valida que la capacidad en horas no sea superada, en caso de ser superada se informa que es requerido remover una historia de usuario al PO
- El PO elige que historia no hace parte del sprint
- El SM comunica entonces:
- Cual es el objetivo,o se actualiza con la retroalimentación de todos
- las historias planeadas
- las fechas para refinamiento, review, retrospectiva.
- Se actualizan las herramientas de gestión
Notas, Referencias, Comentarios y Aclaraciones
- Un excelente post donde pueden consultar otra posible agenda es Migas de Pan – Scrum de mi gran amigo y agilista Carlos Gil - @cafegifo
miércoles, julio 13, 2016
Uno de los objetivos secundarios del planning no es la puntuación, sino determinar con cuanto se compromete el equipo dada su capacidad
Muchas veces veo a los equipos, scrum masters y product owners enfrascados en discusiones sobre la puntuación de los ítemes de backlog y la forma de obtenerla, este no debe ser el foco (desde mi punto de vista)
Pongamos las cosas claras, según la guía lo más importante del sprint planning es definir el objetivo que se quiere lograr (o la capacidad de negocio que vamos a proporcionar con el trabajo de esas máximo 4 semanas - prefiero pensar que son 2 semanas, que es un tamaño más sano de sprint - ), en segundo lugar tenemos:
- qué vamos a hacer
- cómo lo vamos a hacer
basado en esta pregunta el equipo determinará a cuantos ítemes de backlog se compromenten.
Si los ítemes de backlog (historias de usuario, casos de uso, requisitos en prossa o lo que sea) se estiman en:
- Días productivos (un punto = 1 dia productivo)
- basados en una funcionalidad pivote ( 1 punto = la construcción de una funcionalidad pequeña que agrega valor)
- basado en cantidad de historias de usuario (´por ejemplo: somos capaces con 6 historias de usuario en promedio por sprint)
- en ojo de buen cubero (creemos que somos capaces de hacer esta cantidad de historias, por que una vocecita interior nos lo dice), o
- en Garrapatandamandapispuntos, donde un Garrapatandamandapispunto equivale a 3 escaramanditabitas
Es perfecto, pues llega un momento donde el equipo dice (independiente del método que elijan):
Se que es dificil soltar nuestro afán de medir, pero dada la incertidumbre que tiene asociado el software ¿qué ganamos con ser más precisos?, ¿gastar más tiempo en estimaciones que igual van a fracasar?
Hasta acá esta pequeña reflexión
Saludos Ágiles
Jorge Abad
domingo, febrero 15, 2015
¿Cuántas historias por Sprint?
martes, enero 13, 2015
Leído y Recomendado: La Definición de “Ready” es tan importante como la Definición de “Done”
La Definición de “Ready” es tan importante como la Definición de “Done”
Usted no puede empujar a nadie a subir la escalera a menos que esté listo para subir por él mismo. – Andrew Carnegie
La Definición de “Ready” o DoR
¿Por qué es importante?
- Historias bien definidas y con al menos 5 criterios de aceptación (este valor es heurístico, igual se puede establecer un número máximo de criterios de aceptación);
- Historias de un Tamaño apropiado, que entre dentro de un sprint (un tamaño adecuado con que el equipo se sienta cómodo y mejore su throughput, un buen tamaño que permita un mejor entendimiento, mejores criterios de aceptación, más fácil de probar, más fácil revisar, mejora la moral del equipo);
- Que el equipo haya revisado las historias en una sesión de Grooming, donde se haya comprendido la naturaleza, el valor y desafíos técnicos;
- De ser necesario, que la historia haya tenido un spike para explorar las implicaciones de diseño, arquitectónicas o tecnológicas (cuando el equipo no tiene mucha incertidumbre sobre lo que implica técnicamente la historia, es apropiado un spike; luego de eso la historia se puede revisar nuevamente, estimar y pasar a la columna de Ready);
- Que la historia sea transversal, es decir que describa un comportamiento end-to-end (que sea “visible” para le negocio);
- Que el equipo comprenda el enfoque para las pruebas tomando en cuenta aspectos funcionales y no funcionales;
- Que se haya identificado dependencias con otras historias dentro del mismo backlog u otros backlogs a los que una historia pueda estar conectada;
- Que la historia se alinee (y esté “enganchada”) a un objetivo u objetivos del sprint, que sean claramente visibles y demostrables.
- Sprint plannings más rápidos;
- Involucramiento y conocimiento temprano del equipo sobre los desafíos del siguiente;
- Gestión colaborativa del backlog;
- Feedback temprano;
- Levantamiento temprano de riesgos y necesidades (si se necesita del apoyo de un arquitecto, el SM ya lo puede buscar y planificar para el siguiente sprint);
- Mayor conciencia del equipo sobre los objetivos de negocio y el alcance;
- Ayuda al PO a comprender la visión sobre aspectos técnicos que le indica el equipo, y a sensar con qué tamaño de historias se sienten cómodos;
- Historias mejor trabajadas en las cuales el equipo se siente parte y por ende mejora el compromiso.
Pensamientos finales
jueves, noviembre 20, 2014
La cara del santo hace el milagro. Efectividad del Planning y Review
Una de las cosas que he observado es la fortaleza que tienen el Planning y el Review, y el milagro que logra en el equipo:
- En el Planning: El Team Developer con el P.O. (Product Owner - Dueño del Producto), entiende que se quiere construir y se compromete con unos ítemes de backlog que llevará a la DoD (Definition of Done - Definición de terminado). La clave acá es que al equipo nadie le impone el compromiso, es un acto de libertad, coraje y confianza en si mismos -un consenso libre entre sus integrantes -. En el esquema tradicional hay un GP (Gerente de Proyecto) que le impone unos tiempos y estimaciones a su equipo, sin otra opción que cumplir o cumplir , ya sea en el tiempo asignado o en el propio después de la jornada laboral.
- En el Review: El Team le presenta al P.O. y a los Interesados* lo construido, y pasan a la gloria, a una ligera vergüenza si algo no sale como lo esperado, o una "humillación" sino cumplieron con poco o nada de lo comprometido (con su respectiva DoD). El que siente la frustración o felicidad es el equipo al mostrar el resultado a sus directos interesados (sin intermediarios o gerentes que cuenten el "chisme" de la típica pregunta ¿como les fue en la entrega?) La cara del P.O. y los Interesados es lo que más compromete y le da propósito a un equipo.
- tenemos que seguir dando la talla o
- no nos puede volver a pasar esta misma situación
** P.O.
sábado, noviembre 02, 2013
Scrum: La Reunión de REFINAMIENTO, clave para reducir Riesgos y reducir tiempo del Sprint Planning
Dice la guia [1]:
"El refinamiento (refinement) de la Lista de Producto es el acto de añadir detalle, estimaciones y
orden a los elementos de la Lista de Producto. Se trata de un proceso continuo, en el cual el
Dueño de Producto y el Equipo de Desarrollo colaboran acerca de los detalles de los elementos
de la Lista de Producto. Durante el refinamiento de la Lista de Producto, se examinan y revisan
sus elementos. El Equipo Scrum decide cómo y cuándo se hace el refinamiento. Este usualmente
consume no más del 10% de la capacidad del Equipo de Desarrollo. Sin embargo, los elementos
de la Lista de Producto pueden actualizarse en cualquier momento por el Dueño de Producto o a
criterio suyo."
Bajo este escenario la duración de la reunión de refinamiento debería ser:
Duración
máxima de la reunión en horas
|
||||
Tamaño del Sprint
|
1 Semana
|
2 Semanas
|
3 Semanas
|
4 Semanas
|
Refinamiento
|
1
|
2
|
3 |
4
|
Si lo miramos bien toma un tiempo considerable del sprint (aunque he experimentado en sprints de 2 que semanas 4 horas son suficientes), tal vez se haga en una sola sesión o en varias según el caso, pero una de las ideas claves de scrum es:
.
Lo cierto es que esta actividad tiene grandes beneficios tanto para el sprint que viene, como para la construcción del producto.
Esta reunión (no-oficial) de scrum tiene como objetivo, presentar los próximos ítemes de backlog al equipo que van a entrar tanto para el siguiente sprint como para los 2 o tres próximos y discutir aspectos sobre ellos. Una de las agendas que he empleado en los refinamientos es la siguiente:
- Lectura y estimación de las historias de usuario que posiblemente entran en el PRÓXIMO SPRINT. Se leen las historias de usuario con sus criterios de aceptación, se realiza la conversación, entendimiento y ajuste sobre las mismas.
- Lectura de historias de usuario (no al detalle, solo el título de las mismas) que entrarán en los próximos 2 ó 3 sprints
- En equipo se identifican los insumos requeridos para estas historias tanto desde el punto de vista de conocimiento como de entes externos al equipo (otras áreas, otros proveedores, etc)
- En equipo se identifican los riesgos que pueden hacer que esas historias no se completen y se identifican actividades a realizar para mitigarlos.
- El Scrum Master y el Product Owner (y en ocasiones el Team Develper) comienzan a trabajar conjuntamente en la resolución previa de:
- riesgos
- insumos
- e impedimentos
- El equipo conoce que viene para el próximo sprint
- El planning es una reunión mas liviana donde se presentan los aspectos modificados o afinados de las historias de usuario y algún cambio en la priorización.
- Todo el Equipo Scrum (Product Owner, Scrum Master, Team Developer) van observando como se va construyendo la visión del producto y se pueden alinear desviaciones.
Saludos ágiles
Jorge Abad.
















