Puntos de historia: Una invitación a la conversación

Puntos de historia: Una invitación a la conversación

En el mundo de desarrollo de software una preocupación inherente es cuanto demoramos en poder generar una solución que llegue al mercado lo antes posible, con esto en mente solemos dar una fecha a un entregable sin considerar mucho la incertidumbre, en muchos casos confiando en proyectos pasados. Debido a esto surgió una alternativa a la forma de afrontar estos retos, se trata de la Estimación Ágil a través de puntos de historia, pero ¿Qué son estos puntos? ¿Cómo se utilizan?, bien, a continuación te damos un breve paseo para que puedas entender un poco más de qué va esta estimación.

¿Qué es un punto de historia?

Los puntos de historia son una unidad relativa de medida utilizada en metodologías ágiles como Scrum para estimar el esfuerzo requerido para completar una tarea o funcionalidad específica, en lugar de utilizar medidas de tiempo concretas como horas o días, se da una ponderación abstracta que representa empleando una escala abstracta que refleja la complejidad y el trabajo involucrado.

La razón detrás de usar puntos de historia en lugar de estimaciones en tiempo es que las estimaciones precisas en horas o días pueden ser difíciles en el desarrollo de software, ya que es un proceso creativo y complejo, sujeto a variaciones y desafíos inesperados. Los puntos de historia proporcionan una forma más flexible y adaptable de abordar la planificación y la estimación en el desarrollo de software ágil. También puedes ver otras técnicas de estimación acá.

¿Cómo utilizamos los puntos de historia?

Los puntos de historia son utilizados en las sesiones de refinamiento y planeación del ciclo de desarrollo, en este espacio colaborativo donde participan todos los miembros del equipo de desarrollo y expertos (arquitectos, consultores, etc.) es donde se revisa, discute y valora cada historia, antes de que entre a un ciclo. Pueden leer sobre ciclo de desarrollo acá.

Para emplear los puntos de historias, debemos pasar por esta serie de pasos:

1.- Definir la escala

Lo primero que debemos hacer para poder utilizar los puntos de historia es definir cuál escala utilizaremos. Usualmente se emplea la secuencia Fibonacci, la cual es una secuencia matemática que comienza con 0 y 1, y a partir de ahí, cada número en la secuencia es la suma de los dos números anteriores. Así, la secuencia Fibonacci empieza así: 0, 1, 1, 2, 3, 5, 8, 13, 21, y así sucesivamente. Cada número representa una cantidad de complejidad mayor que el anterior. Esta escala permite a los equipos de desarrollo expresar diferencias de complejidad significativas entre las tareas sin entrar en detalles precisos de tiempo. Además, el uso de la secuencia de Fibonacci refleja la naturaleza incierta y a menudo impredecible del trabajo de desarrollo de software.

Es importante señalar que se debe siempre definir un mínimo y un máximo a la escala, por ejemplo podemos definir que «1» es la tarea más simple y «13» es la complejidad más alta por ende podría ser algo que tomaría todo un ciclo de desarrollo o Sprint (puedes leer un poco más de Sprint acá), con esto el equipo puede orientarse mejor en la estimación.

2.- Identificar una historia pivote

Para facilitar la comprensión de que tan compleja o simple puede ser una historia (tarea/funcionalidad), es ideal identificar una historia que sirva de pivote o referencia para la votación.

3.- Identificar una historia pivote…

Seguir leyendo…

Puntos de historia: Una invitación a la conversación Leer más »

Estimación Ágil: Un trabajo en equipo

Usualmente cuando pensamos en darle un peso a una actividad, solemos pensar en el tiempo que nos llevará hacerlo, hacemos un calculo de cuando demoraríamos en terminarla, sin embargo para llegar a este mágico número, pasamos inevitablemente por una medición del esfuerzo que debemos invertir, es esta medición lo que nos dice que dicha actividad es un pan comido o es un hueso duro de roer.

Pero, ¿Porqué estimar sin fechas?

Por su naturaleza compleja y de alta incertidumbre, esta es una disyuntiva que es muy común en los proyectos de software. Por lo tanto, los proyectos bajo un marco ágil buscan comprender esta complejidad para establecer una dimensión y aprender de la experimentación para tomar diferentes caminos hacia la solución, a diferencia de la metodología tradicional que se enfoca más en la seguridad de un bloque de fechas, compromisos detallados y rígidos.

Seguir leyendo…

Estimación Ágil: Un trabajo en equipo Leer más »

ChatGPT para principiantes

«ChatGPT para Principiantes» es una guía rápida para aquellos que desean utilizar esta potente herramienta de inteligencia artificial de manera sencilla. La interfaz web es amigable y consta de una ventana de texto donde los usuarios pueden formular preguntas o comentarios, y recibir respuestas en tiempo real. Ofrece la flexibilidad de ajustar configuraciones, como el tono de las respuestas y su longitud, y brinda consejos para obtener el máximo provecho. La interacción con ChatGPT puede abarcar desde obtener información y asistencia en tareas hasta divertirse con chistes y consejos. Es una herramienta accesible y versátil, adecuada tanto para principiantes como para usuarios más experimentados, permitiéndoles explorar y aprovechar al máximo sus capacidades de comunicación y generación de texto.

ChatGPT para principiantes Leer más »

Introducción a Kanban: Una Guía Sencilla

La agilidad en la gestión de proyectos ha transformado la forma en que los equipos abordan el trabajo. Entre las metodologías ágiles más populares, Kanban se destaca por su enfoque visual y su capacidad para optimizar flujos de trabajo. En esta guía, te introduciré a Kanban, desde su origen hasta sus prácticas clave, para que puedas empezar a aplicar este enfoque con confianza.

¿Qué es Kanban y su Origen?

Kanban es una palabra japonesa que significa «tarjeta visual» o «tablero». Surgió en los años 50 en Toyota, la famosa empresa automotriz, como parte de su sistema de producción justo a tiempo. Originalmente, las tarjetas representaban unidades de trabajo y ayudaban a controlar el flujo de producción.

Pilares Fundamentales de Kanban

1. Visualización del Trabajo

La visualización del proceso es el primer objetivo de Kanban. Esto implica mostrar todas las tareas y actividades en un tablero, ya sea digital o físico, para que todos los miembros del equipo tengan una visión clara del progreso y los cuellos de botella.

2. Limitar el Trabajo en Proceso (WIP)

Limitar el trabajo en el proceso es el segundo pilar. Esto implica establecer un límite máximo para la cantidad de tareas simultáneas que un equipo puede realizar. Al hacerlo, se evita la sobrecarga y se mantiene un flujo de trabajo continuo.

3. Gestionar el Flujo

El tercer pilar se refiere a gestionar el flujo. Aquí, el objetivo es mantener un flujo constante de trabajo, evitando picos de actividad que puedan generar estrés y luego largos períodos de inactividad.

4. Mejora Continua

El cuarto pilar, y no menos importante, es la mejora continua. Kanban promueve una cultura de mejora constante, donde los equipos analizan y ajustan continuamente sus procesos para lograr una mayor eficiencia.

Ceremonias en Kanban

Aunque Kanban no tiene ceremonias fijas como Scrum, es esencial establecer momentos de revisión y ajuste, por lo que se pueden generar un instancia de Reunión de Revisión de Kanban donde el equipo se reúne para analizar el rendimiento del flujo de trabajo y hacer ajustes si es necesario. Se evalúan métricas como el tiempo de ciclo y el lead time.

Una segunda instancia sería Reunión de Planificación de Kanban, aunque es menos organizada que la reunión de planificación de Scrum y que tiende a ser mas expedita, sin embargo resulta muy útil para priorizar el trabajo y asignarlo a los miembros del equipo según sus habilidades y necesidades.

¿Qué podemos medir en Kanban?

Tiempo de entrega (Lead time)

Es el tiempo que transcurre entre el inicio de una tarea y su finalización. Ayuda an entender cuánto tiempo lleva terminar una tarea, lo que es esencial para la planificación y la entrega predecible.

Tiempo de Ciclo (Cycle Time)

Es el tiempo que una tarea pasa activa en el proceso de trabajo. Incluye el tiempo de trabajo real y el tiempo de espera. Conocer el tiempo de ciclo es crucial para identificar y reducir cuellos de botella.

Rendimiento (Throughput)

Representa la cantidad de trabajo que se completa en un período de tiempo específico. Es una métrica valiosa para entender la capacidad real del equipo y para realizar estimaciones precisas.

En resumen, Kanban ofrece un enfoque flexible y altamente visual para gestionar el trabajo. Al adoptar sus principios y prácticas, los equipos pueden mejorar la visibilidad, la eficiencia y la calidad de sus procesos. ¡Empieza con un tablero y observa cómo Kanban transforma la forma en que abordas tus proyectos!

Introducción a Kanban: Una Guía Sencilla Leer más »

Scrum (Fundamentals)

El término «Scrum» se ha vuelto más común en el mundo del desarrollo de software y la gestión de proyectos. Pero, ¿alguna vez te preguntaste de dónde proviene este nombre tan peculiar? Te sorprenderá la respuesta. En el ámbito de la gestión de proyectos, el término Scrum se deriva de un término de rugby. Un

Scrum (Fundamentals) Leer más »

¿Cómo se diseña un Indicador?

Anteriormente conversamos sobre los Indicadores de Gestión y su importancia para medir y apoyar en el Control de los procesos. Este post, busca ilustrar los pasos necesarios para construir correctamente un indicador. Es muy importante resaltar que un indicador debería ayudar a medir una única cosa, por lo cual, si necesitamos medir varias cosas deberíamos

¿Cómo se diseña un Indicador? Leer más »

¿Cómo se controlan los procesos?

En el mundo empresarial actual, la eficiencia y la calidad son dos aspectos cruciales para mantener la competitividad, por lo que es sumamente importante conocer nuestros procesos. En un post anterior conversamos un poco sobre los procesos y la forma de modelarlos. El control de procesos se erige como una herramienta esencial para mantener la

¿Cómo se controlan los procesos? Leer más »