Mostrando las entradas con la etiqueta De Colección. Mostrar todas las entradas
Mostrando las entradas con la etiqueta De Colección. Mostrar todas las entradas

lunes, febrero 24, 2025

De Colección: Una buena definición de Historia de Usuario - continuación

Esta es la explicación del post: De Colección: Una buena definición de Historia de Usuario


Hola a todos


Uno de los retos más comunes en agilidad es definir claramente qué es una historia de usuario y, sobre todo, cuál es su tamaño adecuado. He encontrado útil compartir esta definición:

"Una Historia de usuario es una pequeña porción de valor cuyo tiempo de análisis, desarrollo, pruebas, corrección y despliegue, puede estar entre unas cuantas horas hasta máximo 36 aproximadamente."

Otra versión que enfatiza el impacto en el negocio es:

"Una Historia de usuario es una pequeña porción funcional de valor cuyo tiempo de análisis, desarrollo, pruebas, corrección y despliegue; puede estar entre unas cuantas horas hasta máximo 36 aproximadamente, que le permite al equipo de desarrollo de forma tangible y rápida mostrar progreso al negocio"


Justificación de esta definición

El propósito de estas definiciones es alinear expectativas sobre el tamaño y alcance de una historia de usuario. En la práctica, es común encontrar historias que son demasiado grandes o demasiado pequeñas, lo que afecta el flujo de trabajo y la entrega de valor real.


¿Qué significa una "pequeña porción de valor"?

Para que una historia de usuario tenga el tamaño adecuado, debe cumplir dos principios clave:

  1. Ser lo suficientemente pequeña para completarse en poco tiempo (idealmente en menos de dos días de trabajo acumulado). Esto permite que el equipo entregue de forma frecuente y fluida.
  2. Ser lo suficientemente grande para aportar valor tangible al usuario o negocio. Esto significa que debe entregar una funcionalidad completa y usable, no solo una parte técnica aislada.

Una historia demasiado pequeña puede caer en fragmentación innecesaria, por ejemplo:

  • "Agregar un nuevo campo en un formulario" (sin que esto implique una funcionalidad completa para el usuario).
  • "Implementar solo la lógica de frontend" sin que el usuario pueda interactuar con el sistema de manera funcional.

Por otro lado, una historia demasiado grande se convierte en un problema porque:

  • No se logra entregar dentro del sprint, afectando la previsibilidad del equipo.
  • Genera un esfuerzo desproporcionado que impide recibir retroalimentación temprana.
  • Puede requerir múltiples iteraciones para completarse, lo que dificulta la entrega continua de valor.

¿Por qué definir un límite de hasta 36 horas?

Anteriormente, usaba la referencia en días, pero esto generaba confusión. Algunas personas asumían que se trataba del esfuerzo acumulado de varias personas en paralelo, cuando en realidad el enfoque está en el tiempo total requerido.

Este límite de tiempo permite que las historias de usuario sean manejables y estén listas para ser desplegadas dentro del sprint sin convertirse en un obstáculo para el equipo. Además, facilita:

  • Un flujo de entrega continuo, evitando acumulaciones y bloqueos.
  • Un progreso visible para el negocio, al recibir incrementos de valor en ciclos cortos.
  • La detección temprana de problemas, reduciendo el riesgo de retrabajo.

¿Cómo lograr historias de usuario con el tamaño adecuado?

  1. Asegurar que cada historia entregue valor real. Si un usuario no puede interactuar con la funcionalidad o si no se resuelve un problema concreto, entonces la historia está mal definida.
  2. Evitar fragmentación innecesaria. Dividir en tareas técnicas (backend por un lado, frontend por otro) no es lo ideal, ni lo correcto. En su lugar, cada historia debe representar un incremento funcional, usable y comprobable del usuario.
  3. Reducir la complejidad sin perder el impacto. Si una historia es demasiado grande, dividirla de manera que cada parte siga teniendo sentido de negocio y sea usable por el usuario.

Definir historias de usuario en estos términos ayuda a los equipos a mejorar su agilidad y a entregar valor de forma consistente.

¿Tu equipo tiene una definición clara de historia de usuario? ¿Cómo manejan su tamaño? Comparte tu experiencia en los comentarios.

sábado, agosto 24, 2024

Registro de una conversación reveladora: características de los equipos y culturas de alto desempeño

Esta es una pequeña nota, donde dejo registro de una conversación reveladora que tuve con mi gran amigo Juan Andrés Ochoa, algoque hemos ido construyendo mutuamente:

Los equipos de alto desempeño cuentan con cuatro características:

  • Personas idóneas, es decir, son apropiadas para hacer la misión que se les va a encomendar.
  • Propósito.
  • Métricas que les muestren si están en el alto desempeño. Estas pueden ser tempranas y rezagadas, o un indice que combine ambas, es decir, en el caso de los equipos ágiles, soy un equipo ágil si impacto al negocio, entonces cuáles son las métricas que determinan que tengo agilidad (incluida, obviamente la excelencia técnica) y cuáles son las métricas que determinan que sí estoy impactando el negocio.
  • Una narrativa de cultura que proporcione un marco de actuación, que le cuente al equipo:
    • Lo que NO se espera del equipo, ejemplos: 
      • que no se gestione la deuda técnica, 
      • que no se asista a los eventos,
      • que no se respete a las personas.
    • Lo BÁSICO que se espera del equipo, ejemplos:
      • que cumpla sus compromisos,
      • entregue trabajo con excelencia,
      • se den retroalimentación mutua,
      • que reciban sin problema retroalimentación externa.
    • Lo EXTRAORDINARIO que se espera del equipo, ejemplos:
      • Investigar nuevas formas de hacer las cosas,
      • hacer de la innovación una forma de trabajo,
      • traer nuevos negocios a la empresa.
Lo anterior, se puede extrapolar al resto de la empresa cuando la vemos como un gran equipo conformado de equipos.

jueves, febrero 22, 2024

De Colección: Ejemplos de Historias de Usuario de la Fuente: Los Libros de Extreme Programming (XP)

Hola a todos,

Como sabemos las historias de usuario nacieron con Extreme Programming (XP) en 1999, para ilustrar el formato libre que estas tienen, quiero compartirles algunas historias de usuario que encontré en libros de la colección de XP:


Fuente:Planning Extreme Programming, Por Kent Beck, Martin Fowler

  • Encuentra la tarifa más baja.
  • Presentar al cliente las diez tarifas más bajas para una ruta en particular.
-
  • Mostrar vuelos disponibles.
  • Muestra posibles vuelos (con conexiones) entre dos planetas cualesquiera.
-
  • Ordene los vuelos disponibles según su conveniencia.
  • Cuando muestres los vuelos, ordénalos por conveniencia: tiempo de viaje, número de cambios, cercanía a la hora de salida y llegada deseada.
-

  • Compra de tiquete
  • Compra de billete con cargo a tarjeta de crédito. Verifique la validez de la tarjeta de crédito al hacer esto. Consulte también las normas generales de inmigración.
-

  • Realizar perfil de cliente.
  • Guarde los datos del cliente para una referencia rápida, por ejemplo, información de la tarjeta de crédito, domicilio, necesidades dietéticas y gravitacionales.
-
  • Revisar itinerarios.
  • Mostrar todos los itinerarios que tiene el cliente en el sistema.
-

  • Cancelar itinerario.
  • Si un cliente cancela un itinerario, cancele todos los vuelos, hoteles, etc.
-

  • Imprimir documentos de inmigración.
  • Imprima la documentación necesaria para salir y llegar a un planeta, solo para los planetas más fáciles.
-

  • Mostrar hoteles.
  • Mostrar hoteles cerca de un lugar.
-

  • Mostrar disponibilidad del hotel.
  • Mostrar hoteles que se encuentran disponibles para el período indicado en el itinerario.
-

  • Ofrecer búsqueda sofisticada de hoteles.
  • Permita al cliente buscar hoteles utilizando más que fechas y ubicaciones. Esto incluiría instalaciones, nivel de servicio, costos y recomendaciones.
-

  • Reserva un hotel.
  • Reservar un hotel. Cargue a la tarjeta de crédito y verifique la validez de la tarjeta de crédito.
-

  • Proporcionar programas de hotel/línea espacial.
  • Mostrar hoteles que tengan acuerdos de venta conjunta con la línea espacial que utiliza el cliente. Muestre los precios, incluidos los descuentos disponibles con estos programas, solo para líneas espaciales que colaboran activamente con nosotros en esta etapa.
-

  • Ofrecer alquiler de aviones.
  • Permitir al cliente alquilar un avión mientras se encuentra en un planeta. Vincula las fechas del vuelo espacial. Mejorar el perfil del cliente para incluir preferencias de avión (selección de seguro, manual versus automático, etc.)


Notas de Jorge Abad

  • No dudo que algunas de las anteriores sean épicas y requieran ser divididas. Con lo anterior, el punto a ilustrar quelos creadores de las historias de usuario usaban/usan un formato libre para ellas. 
  • Además, el formato de historia de Connextra popularizado por Mike Cohn (ver más acá - La historia de las historias de usuario, por Lucho Salazar)
    • Yo como    (rol)    
    • Quiero   funcionalidad   
    • Para   beneficio de negocio    
    • + Criterios de Aceptación, 
es valiosísimo, pero las historias de usuario no tienen por obligación que escribirse de una forma u otra, debe encontrarse el mejor esquema que sirva para la organización y su contexto.


Fuente: Extreme Programming Installed  Ron Jeffries, Ann Anderson, Chet Hendrickson


  • Las cuotas sindicales varían según el sindicato y se cobran únicamente en el primer período de pago del mes. El sistema calcula la deducción automáticamente. El importe se muestra en la tabla adjunta.

  • Cuando una transacción causa que la cuenta de un cliente entre en sobregiro, transfiera dinero desde la cuenta de protección contra sobregiros, si corresponde.
  • Cuando una transacción hace que la cuenta de un cliente entre en sobregiro, envíe un correo electrónico mostrando la transacción y el saldo al cliente. Si la protección contra sobregiros está vigente, muestre la transacción de sobregiro y los saldos de cuenta resultantes en el correo electrónico.

  • Para cada cuenta, calcule el saldo sumando todos los depósitos y restando todas las deducciones.

  • Produzca un estado de cuenta para cada cuenta, que muestre la fecha de la transacción, el número, el beneficiario y el monto. Se adjunta una declaración de muestra: haga que el informe se parezca aproximadamente a la muestra.
----
  • Cuando el GPS tiene contacto con dos o menos satélites durante más de 60 segundos, debe mostrar el mensaje "Pobre contacto de satélite", y esperar la confirmación del usuario. Si el contacto mejora antes de la confirmación, borre el mensaje automáticamente.
  • Si la estación que se reproduce actualmente contiene información digital, la información se muestra en la pantalla LCD de la radio. Si no hay información digital disponible, muestre la frecuencia de la estación.
  • Permitir al usuario agregar nuevos tipos de servicios a la lista inicial del sistema. Por ejemplo, es posible que desee agregar una entrada especial para lavar el automóvil en el lavado "gratuito" de la escuela secundaria. Incluya el monto y la fecha de los campos estándar, además permita al usuario agregar texto adicional o campos numéricos. Los informes deben sumar automáticamente los campos numéricos. (Nota del programador: es necesario dividir la historia. Separe los campos numéricos y de texto en dos historias, más una para la suma).
    • (Partición 1) Permita que el usuario agregue nuevos tipos de servicios, incluidos los campos estándar más cualquier campo de texto adicional que desee.
    • (Partición 2) Permitir al usuario agregar campos numéricos a los tipos de servicios definidos por el usuario.
    • (Partición 3) En todos los informes, muestre los totales de todos los campos numéricos, no solo los campos estándar de galones y cantidades en dólares.


Fuente: La Programación Extrema en la Práctica. James Newkirk, Robert C. Martin

  • La cabecera del sitio (esto es, en todas las páginas) deberá indicar si el usuario no ha entrado y ofrecerle un botón para entrar (similar a un carro de compras). Muestra el nombre o el e-mail si pulsa.
  • Cuando se dispara la entrada, y el sitio no puede detectar que el usuario es un miembro, el usuario es transferido a una página de entrada, y le pide su nombre de usuario y la contraseña y explica la filosofía y proceso de entrada del sítío.
  • La página de entrada debería al usuario permitirle saltarse el login y entrar como invitado.
  • Cuando el usuarío seleccione registrar, cargará la página de registro, solicitándole la dirección e-mail, nombre, apellido, afiliación y si desea o no ser informado sobre las novedades del sitio. Una vez enviado, el sistema genera una contraseña y la envía por e-mail al usuario. El campo e-mail no puede quedar en blanco.
  • Proporcionar una utilidad que permita a los usuarios invitar a otras personas a hacerse miembros (enviándoles un formulario HTML). Una vez que se reciba la contestación el sistema los registrará y les enviará un e-mail de confirmación con su contraseña.
  • Los usuarios usuarios deben ser capaces de cambiar su perfil (dirección de e-mail, contraseña, nombre, apellido, afiliación). Poner dos campos de contraseña para pedir confirmación.

  • Listado de historias de usuario para el proceso de estimación   (Nota Jorge Abad: Aunque no está el detalle de cada una, es interesante observar la granuralidad de las mismas) 
    • Historia de Usuario 4.1. Disparar el Mecanismo de Entrada
    • Historia de Usuario 4.2. No Desplegar Ventanas
    • Historia de Usuario 4.3. Dirección de E-mail como Nombre de Usuario
    • Historia de Usuario 4.4. Restricción de Portabilidad
    • Historia de Usuario 4.5. Cabecera Elegante del Sitio
    • Historia de Usuario 4.6. Historia de Entrar
    • Historia de Usuario 4.7. Cookies (Nota Jorge Abad: Esta historia es entre funcional y técnica) 
    • Historia de Usuario 4.8. Entrar como Invitado
    • Historia de Usuario 4.9. Entrada Transparente
    • Historia de Usuario 4.10. Registrar Usuario
    • Historia de Usuario 4.11. Miembro
    • Historia de Usuario 4.12. Contraseña Olvidada
    • Historia de Usuario 4.13. Migrar Datos de Access (Nota Jorge Abad: Esta historia es netamente técnica, por definción no debería ser una historia de usuario, pero indiscutiblemente es trabajo a realizar)
    • Historia de Usuario 4.14. Direcciones de E-mail Heredadas
    • Historia de Usuario 4.15. Notificación vía E-mail
    • Historia de Usuario 4.16. Especialización de la Notificación
    • Historia de Usuario 4.17. Anchura de la Página
    • Historia de Usuario 4.18. Invitación de los Miembros
    • Historia de Usuario 4.19. Cambiar el Perfil de Usuario


Recomiendo usar la siguiente definición de historia de usuario: (clic aquí) https://www.lecciones-aprendidas.info/2024/02/una-buena-definicion-de-historia-de-usuario.html

miércoles, febrero 21, 2024

De Colección: Una buena definición de Historia de Usuario

 Una buena definición de historia de usuario que me ha sido útil compartir es:


"Una Historia de usuario es una pequeña porción de valor cuyo tiempo de análisis, desarrollo, pruebas, corrección y despliegue, puede estar entre unas cuantas horas hasta máximo 36 aproximadamente."*


Otra definición que también puede funcionar es:


"Una Historia de usuario es una pequeña porción funcional de valor cuyo tiempo de análisis, desarrollo, pruebas, corrección y despliegue; puede estar entre unas cuantas horas hasta máximo 36 aproximadamente, que le permite al equipo de desarrollo de forma tangible y rápida mostrar progreso al negocio"

*Nota: antes usaba la expresión de días pero generaba confusión, y se terminaba creyendo que eran muchas personas trabando durante esos días, por eso preferí poner el tiempo total requerido.


La explicación de esta definición la encuentran en: De Colección: Una buena definición de Historia de Usuario - continuación

domingo, octubre 22, 2023

Leído y Recomendado: To Build a Top Performing Team, Ask for 85% Effort / Para formar un equipo de alto rendimiento, pida un 85% de esfuerzo

 Excelente Artículo: To Build a Top Performing Team, Ask for 85% Effort - https://hbr.org/2023/06/to-build-a-top-performing-team-ask-for-85-effort







A continuación el resumen realizado por Bardhttps://g.co/bard/share/614d8956a19c:

Resumen del artículo "Para crear un equipo de alto rendimiento, pida un 85% de esfuerzo"

El artículo "Para crear un equipo de alto rendimiento, pida un 85% de esfuerzo" de Ben Horowitz, publicado en la revista Harvard Business Review en junio de 2023, sostiene que la clave para crear un equipo de alto rendimiento es pedir a los miembros del equipo que se esfuercen al 85%.

Horowitz argumenta que pedir a los miembros del equipo que se esfuercen al 100% todo el tiempo es contraproducente. Esto se debe a que el agotamiento y el estrés que resultan de operar al máximo nivel pueden conducir a errores, decisiones pobres y, en última instancia, a un rendimiento inferior.

En cambio, Horowitz sostiene que pedir a los miembros del equipo que se esfuercen al 85% permite a los individuos y al equipo en su conjunto rendir de manera óptima a largo plazo. Esto se debe a que deja espacio para la creatividad, el aprendizaje y la recuperación.

Horowitz ofrece varios consejos para ayudar a los líderes a implementar la regla del 85% en sus equipos:

  • Establezca expectativas claras. Los miembros del equipo deben saber qué se espera de ellos en términos de rendimiento y esfuerzo.
  • Cree un entorno de confianza y apoyo. Los miembros del equipo deben sentirse cómodos para admitir cuando necesitan ayuda o descanso.
  • Facilite el aprendizaje y el crecimiento. Los miembros del equipo deben tener oportunidades para aprender y desarrollarse en sus roles.
  • Horowitz concluye que la regla del 85% es una forma efectiva de crear equipos de alto rendimiento que sean productivos, innovadores y sostenibles.


Algunos ejemplos de cómo implementar la regla del 85%:

  • En lugar de exigir que los miembros del equipo trabajen horas extras, ofrezca flexibilidad para que trabajen desde casa o en horarios flexibles.
  • En lugar de esperar la perfección, acepte que habrá errores.
  • En lugar de centrarse en la cantidad de trabajo realizado, concentre su atención en la calidad del trabajo.

La regla del 85% es un enfoque simple pero poderoso para crear equipos de alto rendimiento. Al pedir a los miembros del equipo que se esfuercen al 85%, los líderes pueden ayudar a sus equipos a rendir de manera óptima a largo plazo.


Muy relacionado con este que escribí hace un tiempo: Exigir el 100% de ocupación de las personas esta destruyendo la eficiencia de tu equipo y organización -  http://www.lecciones-aprendidas.info/2020/12/de-coleccion-exigir-el-100-de-ocupacion.html


Saludos ágiles,

Jorge Abad.



domingo, diciembre 04, 2022

10 Anti-patterns (bad practices) in prioritization of Product Owners, PMO and VMO


Hello everyone

One of the factors that most destroys agility is the lack of adequate prioritization patterns according to the context in which it is located, that is, both upstream (1) and downstream (2) practices are used (which even from the good intention) destroy value for the organization. In general, we can incur:

  • Building unnecessary things
  • Building things that are necessary but worthless
  • You don't build what's important
  • We let ourselves be carried away by intuition
  • We let ourselves be carried away by authority
  • We let ourselves be carried away by feelings of friendship or enmity
  • etc.

We destroy value and generate waste by dedicating time, effort and money from business areas, execution areas and suppliers in things that should not have been developed and relegating others, which would allow better financial performance or customer satisfaction.

---
---
---
(and one of mine)

"Building something that was not correctly prioritized is destroying value for the organization"

---

Below, I share some of the anti-patterns that I have observed when prioritizing both PMO - Project Management Office -, VMO -Value Management Office- and Product owners, and that I promote to be removed in processes of agile transformation or team agile coaching.  

I hope they will help you advance in the knowledge of better ways to prioritize the work to be done.

Expect more articles on this topic.

Agile greetings,

Jorge Abad.


 

References, notes, or comments

  1. Upstream: where the project, product or initiative is prioritized by the PMO, VMO or those who are responsible for prioritizing the portfolio.
  2. Downstream: where the product is being developed, and the solution team builds the different functionalities.

sábado, diciembre 03, 2022

De Colección: 10 Antipatrones (malas prácticas) en priorización de Product Owners, PMO y VMO



Hola a todos,

Uno de los factores que más destruye la agilidad es la carencia de patrones adecuados de priorización de acuerdo con el contexto en el que se encuentre, es decir, tanto aguas arriba (upstream) (1) como aguas abajo (downstream) (2) se emplean prácticas (que aun desde la buena intención) destruyen valor para la organización. En general podemos incurrir en:

  • construir cosas innecesarias
  • construir cosas necesarias pero carentes de valor
  • no se construye lo realmente importante
  • nos dejamos llevar por la intuición
  • nos dejamos llevar por la autoridad
  • nos dejamos llevar por los sentimientos de amistad o enemistad
  • etc.
En últimas, destruimos valor y hacemos que se genere desperdicio por dedicar tiempo, esfuerzo y dinero de áreas de negocio, áreas de ejecución y proveedores en cosas que no debían haber sido elaboradas y relegando otras, que permitirían un mejor desempeño financiero o de satisfacción del cliente.


---
---


(y una mía)

"Construir algo que no fue correctamente priorizado es destruir valor para la organización"
---

A continuación, te comparto algunos de los antipatrones que he observado al momento de priorizar tanto por PMO - Project Management Office -, VMO -Value Management Office- y Product owners, y que promuevo sean removidos en procesos de transformación ágil organizacional o de acompañamiento de equipos.

Espero te sirvan para avanzar en el conocimiento de mejores formas de priorizar el trabajo a realizar.

Espera más artículos sobre este tema.

Saludos ágiles,

Jorge Abad.


--- Ver video explicativo aquí ---


Referencias, notas o comentarios

  1. Upstream: donde se prioriza el proyecto, producto o iniciativa por parte de la PMO, VMO o quienes se encargan de priorizar el portafolio.
  2. Downstream: donde se está desarrollando el producto, y los equipos de solucionadores a construyen las diferentes funcionalidades.

domingo, noviembre 14, 2021

De Colección: De la Idea hasta las Historias de Usuario del Sprint Backlog - Un Ejemplo Completo

Hola a todos

Les comparto un ejemplo que desarrollé desde la Idea hasta el Sprint backlog de los primeros tres sprints. Los artefactos elaborados son;

  • Elevator Pitch (Visión)
  • Product Vision Board
  • Ideación de posibles funcionalidades
  • Asignación del valor usando la serie de Fibonacci modificada. 
  • Asignación del esfuerzo usando la serie de Fibonacci modificada
  • Uso del Modelo Kano de priorización para identificación de funcionalidades clave
  • Elaboración del User Story Map
    • Visión End-2-End
    • Cálculo de la relacion Valor / Duración de cada funcionalidad
  • Priorización de funcionalidades usando MoSCoW
  • Identificacion del Producto Minimo Viable (MVP)
    • Plan de Releases
    • Roadmap del producto
    • Explicacion del cálculo del tiempo y costo
  • Product Backlog vertical, donde cada realese esta priorizado por la relación Valor/Duración
  • División de historias de usuario de las primeras tres funcionalidades o épicas
  • Identificación de los primeros tres sprints donde la velocidad promedio del equipo es aproximadamente 20 puntos de historia por sprint.





La imagen la pueden descargar en alta resolución de:




Actualización 2022-11-10


Enlace a Mural - Clic aquí -



martes, mayo 18, 2021

100% de CPU es lento en nuestras máquinas, ahora llévalo a un 100% de ocupación tuyo de forma constante

Todos reconocemos y experimentamos que el 100% de CPU constate en nuestra máquina la relentiza y la hace ineficiente; me impacta es que no podamos reconocerlo en nosotros mismos y en nuestros colaboradores, y los/nos terminemos quemando.

Te invito a leer este artículo, donde está el sustento científico de esta "ineficiencia" en los humanos y una sugerencia para solucionarlo: "Exigir el 100% de ocupación de las personas esta destruyendo la eficiencia de tu equipo y organización" 



lunes, diciembre 28, 2020

De Colección: Exigir el 100% de ocupación de las personas esta destruyendo la eficiencia de tu equipo y organización

 


Hola a todos,

Con frecuencia me encuentro dentro de las organizaciones ya sean clientes o proveedores, expresiones en los gestores del personal, tales como:

"La ocupación de las personas debe ser del 100%, para eso se les paga"

o esta otra

"Exíjanles el 120% para que den el 100%"

Luego de esto, se activa el liderazgo egipcio, los látigos, las zanahorias, la microgestión, las acusaciones de distracción, el estrés, la sensación de esclavismo, el inflar las tareas para poder tener espacios para descansar, el ambiente se vuelve tóxico, y cualquier sentido de pertenencia se convierte en desvinculación y ganas de renunciar.

Como te puedes dar cuenta esto termina degradando el sistema, en vez de mejorarlo. El objetivo de este artículo es llevarte a que comprendas que:

"Una persona o un equipo con una asignación del 70% al 80% es mucho más productivo y eficiente que uno con una ocupación del 100%"

Debido a que las personas y equipos tienen espacios para:
  • la mejora continua individual
  • la mejora continua grupal
  • para aceptar la variabilidad
  • hacer con mejor concentración las tareas
  • mejora colaborativa
  • eliminar desperdicios
  • innovar
  • agregarle valor a lo que hacen
Si lo deseas puedes terminar acá de leer, pues lo que sigue es una larga justificación del por qué de esta afirmación, así que comencemos:


No podemos tratar a las personas como máquinas

En esta parte no voy a apelar a la evidencia científica sino a la experiencia personal, actualmente estamos en el 2020, el año en que estalló la pandemia del COVID-19 y muchos de nosotros nos hemos movido al trabajo virtual, adicional al impacto de esto en nuestras vidas,
  • ¿no han sentido lo pesado de tener una agenda completa 100% todos los días, por varias semanas?
  • ¿al final de día no terminan sintiéndose exhaustos y quemados?
  • ¿no les ha hecho falta espacios para café y conversar e interactuar con sus compañeros? ¿tener conversaciones interesantes y conversaciones triviales?
al menos yo sí, llevándome al punto que he tenido que insertar en mi agenda espacios para descansar, pararme, tomarme un café, y estos descansos han permitido que refresque mis ideas, que tenga más fluencia y mejor concentración, que trabajar 100% todos los días.

Ahora, no niego que hay días de sobrecarga y se asumen, pero un ritmo sobrecargado de forma constante termina yendo en contra de las personas y de los equipos.


Dice Sun Tzu en el Arte de la Guerra:
"Las armas son instrumentos de mala suerte; emplearlas por mucho tiempo producirá calamidades. Como se ha dicho: "Los que a hierro matan, a hierro mueren." Cuando tus tropas están desanimadas, tu espada embotada, agotadas tus fuerzas y tus suministros son escasos, hasta los tuyos se aprovecharán de tu debilidad para sublevarse. Entonces, aunque tengas consejeros sabios, al final no podrás hacer que las cosas salgan bien."

Te recomiendo estos dos artículos:
  • Ritmo Sostenible sobre Ritmo Insostenible - (clic aquí)
  • Recomendaciones sobre el sobreesfuerzo del equipo en un proyecto - (clic aquí)

En el trabajo de conocimiento nuestra aproximación es diferente

En el mundo de la fabricación de objetos físicos, las tareas son repetitivas, las actividades son razonablemente predecibles y los elementos que se crean pueden estar en un solo lugar a la vez. En el desarrollo de productos, muchas tareas son únicas, los requisitos del proyecto cambian constantemente y el resultado, gracias, en parte, al uso generalizado de diseño y simulación avanzados asistidos por computadora y a la incorporación de software en productos físicos, es información que puede residir en varios lugares al mismo tiempo, o que puede ser construida de forma eficiente o ineficiente, generando alta variación en las tareas, las estimaciones y los compromisos. Creer que un grupo de ingenieros de software expertos garantizará el cumplimiento de un cronograma detallado de varios cientos de filas y meses de planeación es cada vez más irreal, los enfoques ágiles permiten validar rápidamente los resultados obtenidos y navegar exitosamente en estos escenarios de incertidumbre. Pero para que esto se lleve a cabo de forma exitosa es necesario que tanto gestores, gerentes de área, gerentes de proyectos directores, líderes, agile coaches, scrum masters, product owners y product managers, comprendan el pensamiento lean-agile, para que cultiven y permitan que funcionen muchas prácticas que van en contrasentido de la gestión tradicional, sin esto, cualquier esfuerzo de cambio será en vano.






100% de la utilización es un desastre económico

Es normal pensar que los proyectos toman más tiempo cuando las personas no están trabajando el 100% de su capacidad, y, por lo tanto, una organización de desarrollo ocupada será más rápida y eficiente que una que no sea tan buena en utilizar a su gente, pero en el mundo Lean y en la práctica eso no es cierto, cuando la ocupación o utilización del tiempo de las personas se aproxima al 100% la eficiencia, la calidad y la velocidad disminuyen (2), existen varias razones:

No se considera la variabilidad de procesos de trabajadores de conocimiento

Los trabajadores de conocimiento no hacen tareas estandarizadas, en un mundo estandarizado un cambio del 7% en el trabajo generará un 7% más en completarlo, algo que no ocurren procesos de TI. En general existen tres fuentes de variación (3) en los procesos:
  • Recursos: 
    • Ejemplos: unas máquinas son lentas y otras rápidas, los expertos realizan las tareas más eficientemente que los novatos.
  • Unidades de flujo (o elementos que fluyen): 
    • Ejemplos: en una fábrica de autos personalizados los vehículos tendrán diferentes características. 
  • Factores externos
    • Ejemplos: los pacientes en una sala de urgencias no llegan de forma fluida, a un equipo comercial la solicitud de propuestas no es un flujo constante.
En el mundo de TI donde a pesar de usar la misma estrategia de construcción de software puede cambiar:
  • la persona que los realiza (incluso la misma persona en distinto tiempo)
  • el estado de ánimo de la persona
  • disponibilidades tanto de personas, áreas, recursos (servidores, comunicaciones, componentes)
  • los requerimientos
  • insumos
  • la calidad de la documentación
  • resultados esperados
  • dependencias
  • transacciones
  • complejidad técnica
  • supuestos y premisas
  • entre otros
se constituyen en fuentes de variación del proceso, y estas fuentes de variación generan un tiempo de flujo diferente según el porcentaje de utilización de los recursos, tal como lo formuló Sir John Kingman, el cual desarrolló la fórmula de teoría de colas que relaciona la variación, eficiencia de recursos y tiempo de travesía (16). Ver gráfica a continuación:

Relación entre variación, eficiencia de recursos y tiempo de travesía - Gráfica de Sir John Kingman (3)


Por lo tanto:
  • entre más cercanos estemos al 100% de utilización del tiempo de las personas más tiempo tomará la travesía del proceso
  • ampliar la utilización del 90 % al 95 % aumenta el tiempo de travesía en un nivel mayor, que el de aumentar la utilización del 80 % al 85 % (3)
  • agregar un 5% más de trabajo puede llevar un 100% más de tiempo (2)
  • cuando el tiempo de travesía aumenta, el flujo (la cantidad de ítems, requerimientos, tickets por unidad de tiempo) disminuye

Es importante anotar que, para TI aplica más la curva fucsia que la gris.

Por lo tanto:
"Cuanto mayor sea la utilización de tu equipo, más largo será el tiempo de travesía, es decir, si tienen un ciclo fijo de trabajo, menos cosas lograrán terminar"

 ----- 

"Cuanto mayor sea la variación en el proceso, más largo será el tiempo de travesía (3)"

Relación el Tiempo de Ciclo, la Utilización y el Tamaño de los Lotes

"Reduzca el tamaño de lote para: reducir la variabilidad e incrementar la predictibilidad"



Es por eso que en Scrum se insiste
¿Qué ocurre si el equipo es completamente Nuevo y no tienes ninguna estadística? Mira al factor de dedicación de otros equipos en circunstancias similares. ¿Qué pasa si no tienes otros equipos en los que fijarte? Adivina un factor de dedicación. Las buenas noticias son que sólo deberás adivinar para el primer Sprint. Después, tendrás estadísticas que podrás ir midiendo continuamente para aproximar mejor el factor de dedicación y la velocidad estimada. El factor de dedicación “por defecto” que usamos para equipos nuevos es habitualmente el 70%, dado que es ahí donde terminan la mayoría de nuestros otros equipos con el tiempo.
Tomado de: Scrum y XP desde las trincheras por Henrik Kniberg (4).



Digamos que determinamos que el factor de dedicación del equipo es del 50% (bastante bajo, normalmente oscilamos en torno al 70%).
Tomado de: Scrum y XP desde las trincheras por Henrik Kniberg (4).


"Operar un proceso de desarrollo de productos cerca de su plena utilización es un desastre económico" ― Donald G. Reinertsen, The Principles of Product Development Flow: Second Generation Lean Product Development

--

 "100% de utilización conduce a la no predictibilidad" ― Donald G. Reinertsen


No permite la atención de imprevistos

El tener un equipo o personas al 100% de su capacidad y con compromisos en ciclos cortos, no permite aceptar la atención a imprevistos, pues cualquier imprevisto afectará el compromiso. En entregas largas la aceptación de imprevistos es tomada más como un favor, pues no se visualiza el impacto del tiempo de desenfoque, pero ya hemos aprendido que las entregas largas no son exitosas en el mundo del software, es por eso que enfoques como Scrum o XP son exitosos hoy en día. Por lo tanto, una estrategia usada por equipos scrum para aceptar los imprevistos es usar el patrón: Illegitimus Non Interruptus (clic aquí), el cual consiste en reservar de la capacidad del equipo un porcentaje para atención de imprevistos en caso de que estos se presenten.

Tomado de (6)




Inhibe la colaboración y la innovación

Frases que nos decimos o nos dicen como:
  • "Te ayudaría, pero ahora no tengo tiempo"
  • "Esto se podría mejorar de esta manera, pero no tengo tiempo"
  • "Cuando tenga tiempo te voy a enseñar a ___________"
Con seguridad lo haríamos, pero estar 100% enfocados no permite ir más alla; es un enfoque del 100% en la tarea encomendada, que ahoga espacios de interacción y mejora que emergen al poder colaborar o al tener una carga menor de trabajo. La mejora y la innovación no ocurren fuera del horario laboral (de 6 pm a 10 pm), tal vez, vengan ideas fuera de este horario, pero la implementación requiere de tiempo laboral.


Tomado de (7)



Tomado de (10)

Una experiencia observable en talleres (y en la realidad)

En talleres donde se ejemplifica como es el mundo Lean y Kanban, se realizan varias iteraciones con equipos constituidos entre 5 y 8 personas, en los cuales construimos hamburguesas ficticias, o pizzas, o retratos o cualquier proceso organizacional, se realizan varias iteraciones del proceso con diferentes porcentajes de utilización y limitando el WIP, una y otra vez demostramos que la utilización cercana o igual al 100% genera desperdicio.

Tomado de (11)



Tomado de (11)
Para este ejemplo tener utilizaciones del 98% produjo: 
  • 7 hamburguesas, 
  • -1170 unidades de valor y 
  • 7 defectos, 
mientras que con utilizaciones del 74% se lograron:
  • 15 hamburguesas,
  • 1340 unidades de valor y
  • 0 defectos
Una y otra vez, concluimos que como gestores nuestro trabajo es maximizar el flujo de valor, no la utilización del recurso tiempo de las personas. Y esto se debe a la paradoja explicada en "Esto es Lean" (3), en la cual muestra que en el flujo de procesos esté en uno de los siguientes cuatro estados:
  1. Baja eficiencia de flujo y baja utilización: desperdiciolandia
  2. Alta eficiencia de utilización y baja flujo: islas eficientes
  3. Alto flujo y baja utilización: océano eficiente
  4. Alta eficiencia y alta utilización: el estado perfecto
Tomado de (3)

Lo cierto es que la perfección no va a ser posible alcanzarla debido a:

Tomado de (3)
variaciones en
  • lo que es solicitado
  • las variaciones en el proceso de lo que es solicitado
  • cuándo es solicitado
  • y la cantidad solicitada
Por lo que siempre estaremos rondando lo que se llama "Frontera de la Eficiencia"




Para llegar a esa frontera, tanto la literatura como la experiencia nos recomiendan
  1. Identificar si estas en el estado de Islas Eficientes o Desperdiciolandia (por lo general estas allí)
  2. buscar primero la eficiencia de flujo
  3. y luego la eficiencia de utilización 
Tomado de (3)

Para esto debes de valerte de:
  • Gestión visual del trabajo
  • Crear ambientes de colaboración
  • Tener una cultura de experimentación y aprendizaje (Toyota Kata (12) puede ser una gran herramienta en este escenario)
  • Visión Sistémica
  • Una cultura con seguridad sicológica en la que no exista temor a fallar
  • Una obsesión por la mejora continua (Kaizen)
Adaptado de (11)

Te invito a ver el siguiente video imperdible de Henrik Kniberg @HenrikKniberg, donde podrás ver el paradigma Lean, en donde se prioriza la generación de valor sobre la "utilización de los recursos" (pongo paréntesis pues constantemente los gestores denominan a sus colaboradores como "recursos", término que termina más destruyendo que ayudando, ver referencia (13)).




El perfil "T" ayuda a lo anterior

Imagina que tu trabajo fuera solo operativo y te dedicaras a hacer lo mismo en una hamburguesería: picar tomates, si picas tomates y estas al 100% dedicado a esa tarea (podemos decir que estas siendo 100% eficiente en tu tarea), pero solo el 60% de los tomates que picas son usados y el resto se echan a la basura pues no hubo hamburguesas a ser consumidas (solo el 60% de tu trabajo agregó valor). Similar a esto ocurre en un equipo donde todos son especialistas: los desarrolladores no pueden estar 100% desarrollando, los tester 100% probando o haciendo casos de prueba, y de igual forma con frontend, backend, automatización, etc., se generará desperdicio, y el flujo de valor estará limitado a la capacidad más pequeña, en el caso de la imagen inferior, en el "Caso 1" corresponderá al especialista 2.


Explicación de mayor flujo de valor con Perfil "T"


Pero si en vez de tener especialistas, existen generalistas (o perfiles T -ver más en (15)-) que son más expertos en unas áreas y en otras tienen suficiente conocimiento y experiencia para apoyar de forma valiosa, el flujo se aumenta, pues todos van a ayudar a los generalistas 2 y 4, como se observa en el "Caso 2" de la imagen superior.

Nota: La práctica de Pair Programming de XP (17), ayuda en la distribución de conocimiento y en asegurar la calidad de lo que se construye.

 

Cerrando 

Muchas de las prácticas de Lean parecen un contrasentido, pero al aplicarlas permiten a las organizaciones, a los equipos y a las personas alcanzar estados de alto desempeño, generación de valor con menor esfuerzo, por lo tanto, cierro este largo artículo con una serie de recomendaciones:
  • Tu trabajo como gestor no es micromanejar a las personas o equipos para que estén al 100% ocupados, tu trabajo es poner un objetivo, proveer los recursos para lograrlo, limitar el WIP, y maximizar el flujo.
  • Prioriza la eficiencia de flujo
  • Prioriza el aprendizaje continuo
  • Luego prioriza la utilización del recurso tiempo
  • Toma métricas y sigue experimentando
  • No satures a las personas o a los equipos de trabajo
  • Planea por debajo del 100% de la utilización crea un ambiente de innovación, colaboración y que permite aceptar la variabilidad
  • Te sugiero realizar una asignación de una persona o equipo del 70% al 80% para lograr altos índices de generación de valor y fluencia
  • Si va a existir sobreesfuerzo que sea por corto tiempo y acordado con el equipo (14) 
  • Reduzca el tamaño de lote o elementos del backlog 
    • para:reducir la variabilidad e
    • incrementar la predictibilidad

ahora que comprendes como maximizar el flujo, la pregunta es:
¿En qué cosas de valor vas a poner a trabajar a tus equipos de desarrollo de productos?



Saludos ágiles

Jorge Abad


(de este artículo se realizó una conferencia, la cual puedes consultar aquí: http://www.lecciones-aprendidas.info/2021/02/de-coleccion-exigir-el-100-de-ocupacion-video-conferencia.html )


-

Notas, Referencias, Aclaraciones, Comentarios, Observaciones y Agradecimientos

  1. Agradecimientos a mi compañero y amigo Roberto Moraga, Daniel Ramírez y a Adrián Hurtado por sus comentarios y sugerencias
  2. Six Myths of Product Development by Stefan Thomke and Donald Reinertsen https://hbr.org/2012/05/six-myths-of-product-development
  3. Esto es lean: Resolviendo la paradoja de eficiencia - https://www.amazon.com/-/es/Niklas-Modig-ebook/dp/B019E91600
  4. Scrum y XP desde las trincheras por Henrik Knibnerg. (http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf )
  5. Illegitimus Non Interruptus (clic aquí)
  6. Interrupt Pattern (clic aquí) 
  7. Flow Thinking @ Ericsson 3G - https://es.slideshare.net/erikschon/flow-thinking-ericsson-3g 
  8. La cita original decía "operating a product development process near full utilization is an economic disaster"
  9. La cita original decía: 100% utilization drives unpredictability - https://www.scaledagileframework.com/innovation-and-planning-iteration/
  10. 2 Second Lean Book - https://paulakers.net/books/2-second-lean
  11. Fuente Roberto Moraga @RMoraga
  12. Excelente presentación sobre Toyota Kata de Hiroshi Hiromoto (@hhiroshi) (clic aquí)
  13. Diatriba: El tema recurrente de llamar "RECURSOS" a las personas que trabajan en un proyecto (clic aquí)
  14. Recomendaciones sobre el sobreesfuerzo del equipo en un proyecto - (clic aquí)
  15. T-shaped skills (clic aquí)
  16. Fórmula de Kingman - https://es.wikipedia.org/wiki/F%C3%B3rmula_de_Kingman
  17. Programación en pareja o en pares- https://es.wikipedia.org/wiki/Programaci%C3%B3n_en_pareja

Leido y Recomendado: Seis mitos del desarrollo de productos