Metodologías de Desarrollo

Lean en Desarrollo de Software: Redefiniendo la Entrega Ágil

Optimizando la Entrega de Productos a través de los Principios Lean En la constante búsqueda de la eficiencia y la mejora continua, el mundo del desarrollo de software ha adoptado diversas metodologías a lo largo de los años. En este contexto, el enfoque Lean ha emergido como un catalizador para transformar la forma en que […]

Lean en Desarrollo de Software: Redefiniendo la Entrega Ágil Leer más »

La Importancia del QA en Proyectos de Desarrollo de Software

¡Saludos, arquitectos del código y constructores de la digitalidad! Hoy exploraremos un pilar esencial en el mundo del desarrollo de software: el Aseguramiento de la Calidad (QA). Acompáñenos mientras navegamos por las razones cruciales que hacen que el QA sea un componente vital en el éxito de los proyectos de desarrollo de software. 1. Identificación

La Importancia del QA en Proyectos de Desarrollo de Software Leer más »

¿Cúal es el rol del DevOps en la organización?

En el vertiginoso mundo de la tecnología, la implementación efectiva de prácticas y culturas DevOps se ha vuelto esencial para el éxito de las organizaciones. Este artículo examina de cerca el rol fundamental que desempeña DevOps en la estructura y operación de las empresas modernas. Introducción a DevOps: DevOps, una combinación de «desarrollo» y «operaciones»,

¿Cúal es el rol del DevOps en la organización? Leer más »

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 »