A-D
Gestión de software Agile
Definición: El desarrollo de software Agile se refiere al enfoque de gestión de proyectos de desarrollo de incrementos de software en iteraciones frecuentes basadas en los requisitos en evolución.
Sinónimos: desarrollo de software Agile, métodos Agile, gestión de proyectos Agile.
Etimología: Agile es un término general que hace referencia a una serie de metodologías de proyectos, siendo Scrum la más utilizada. El concepto de Agile surgió en 2001 cuando un equipo de desarrolladores de software independientes se reunió en un alojamiento de esquí en Snowbird, Utah, para analizar enfoques alternativos al método tradicional de gestión descendente y en cascada para desarrollar software. Originalmente conocidas como “metodologías de desarrollo de software ligeras”, los desarrolladores adoptaron el término Agile para reflejar su estilo flexible y austero de gestión de proyectos, que se caracteriza por iteraciones frecuentes. Para el domingo, los desarrolladores habían redactado el manifiesto de Agile, que incluyó 4 valores y 12 principios para el desarrollo de software Agile.
Uso: Los equipos de desarrollo multidisciplinario, que se organizan ellos mismos, trabajan en estrecha colaboración con el cliente y las partes interesadas para agregar valor a cada paso del proceso, apuntando a un objetivo de mejora continua.
La gestión de proyectos Agile se ha convertido en una serie de estilos de proyectos, siendo Scrum el más utilizado. Otros incluyen:
- Kanban
- Programación extrema (XP)
- Cristal
- Método de desarrollo de sistemas dinámicos (DSDM)
- Lean
- Desarrollo basado en funciones (FDD)
Es posible asignar un costo fijo a los proyectos Agile debido al enfoque en la priorización de funciones y las iteraciones con timebox. Si el presupuesto se agota antes de incluir todas las funciones, esas funciones se incluirán más adelante. En Agile, el equipo siempre está trabajando los elementos de mayor prioridad dentro del timebox del sprint, lo que garantiza que el cliente reciba el producto adecuado para cumplir con sus requisitos.
Beneficios para la gestión de proyectos:
- Proporciona flexibilidad en la evolución del desarrollo: se pueden realizar pequeños cambios fácilmente.
- Permite lanzamientos tempranos y regulares.
- Reduce costos.
- Reduce el desperdicio de recursos.
- Reduce el riesgo: los problemas se descubren y resuelven con anticipación.
- Fomenta la participación de los propietarios de productos, del equipo de desarrollo y de las partes interesadas.
- Fomenta la responsabilidad del equipo.
- Elimina la necesidad de un largo documento de especificaciones.
- Aumenta la satisfacción del cliente.
- Aumenta el rendimiento, la comunicación y la motivación del equipo.
Criterios de aceptación
Definición: Los criterios de aceptación especifican un conjunto de condiciones que el software debe cumplir para satisfacer al cliente. El propietario del producto redacta enunciados desde el punto de vista del cliente que explican cómo debe funcionar una historia o función de usuario. Para que la historia o función sean aceptadas, deben pasar los criterios de aceptación; de lo contrario, quedan desaprobadas.
Uso: Los criterios de aceptación deben redactarse en un lenguaje claro y fácil de entender. Por ejemplo, “Si he iniciado sesión, al hacer clic en el botón ‘Comprar’, el total de artículos de mi carrito debería aumentar un número”.
Beneficios para la gestión de proyectos:
- Confirma cuándo finaliza una historia de usuario.
- Ayuda al equipo a entender la historia/función.
- Elimina la ambigüedad de los requisitos.
Prueba de aceptación
Definición: Una prueba de aceptación se deriva de los criterios de aceptación y verifica si una función es funcional. La prueba solo tiene dos resultados: aprobado o desaprobado. Muchas veces, las pruebas de aceptación son automatizadas para que se puedan realizar en todas las versiones del software. Los criterios de aceptación suelen incluir una o más pruebas de aceptación.
Sinónimos: prueba funcional, prueba del cliente, prueba de historia
Uso: Las pruebas de aceptación garantizan que el software cumple con los requisitos del negocio y del cliente. Son redactadas por el propietario del producto y deben ser enunciados breves que expliquen el comportamiento y el resultado previstos. Por ejemplo, “El usuario hace clic en este botón y el texto se pone rojo”. El resultado de esta prueba es aprobado o desaprobado.
Beneficios para la gestión de proyectos:
- Aumenta la satisfacción del cliente al garantizar que se cumplen sus requisitos.
- Identifica los problemas de funcionalidad y facilidad de uso desde el principio.
- Promueve la colaboración entre desarrolladores y el usuario final.
Manifiesto de Agile
Definición: El manifiesto de Agile incluye 4 valores y 12 principios de un proceso de desarrollo de software iterativo. En febrero de 2001, 17 desarrolladores de software se reunieron en Utah para hablar sobre los métodos de desarrollo ligeros. Publicaron el manifiesto para el desarrollo de software Agile, en el que se explicaba cómo encontraron “mejores formas de desarrollar software haciéndolo y ayudando a otros a hacerlo”.
Uso: Los gestores de proyectos consultan el manifiesto de Agile cuando gestionan cualquier proceso que se adecue a sus conceptos básicos, como la metodología Agile.
Beneficios para la gestión de proyectos:
- Se hacen pruebas frecuentes y entregas continuas de software valioso.
- Acoge con satisfacción los cambios en los requisitos.
- Promueve la colaboración interfuncional.
Gestión del ciclo de vida de las aplicaciones (ALM)
Definición: La gestión del ciclo de vida de las aplicaciones (ALM) es un proceso continuo de gestión de una aplicación de software desde su planificación inicial hasta su retiro.
Uso: La ALM se aplica en todo el proyecto e implica el uso de una variedad de herramientas para ayudar con la gestión de requisitos, la arquitectura, la codificación, las pruebas, el seguimiento y la publicación.
Beneficios para la gestión de proyectos:
- Reduce el riesgo al supervisar continuamente el estado del proyecto.
- Reduce el tiempo de ciclo y los costos de desarrollo.
- Minimiza el tiempo de inactividad.
Backlog
Definición: Un backlog es una lista cambiante de requisitos del producto en función de las necesidades del cliente. No se trata de una lista de tareas pendientes; más bien, es una lista de todas las funciones deseadas para el producto. El equipo Agile utiliza el backlog para priorizar las funciones y comprender cuáles implementar primero.
Uso: El equipo de desarrollo extrae el trabajo del backlog para realizarlo durante cada iteración. El backlog puede cambiar durante el proceso de desarrollo a medida que el equipo aprende más sobre los requisitos del cliente.
Sinónimo: backlog del producto
Beneficios para la gestión de proyectos:
- Da a conocer las prioridades de funciones.
- Permite una planificación a más largo plazo.
- Garantiza que las necesidades del cliente sean escuchadas.
Limpieza del backlog
Definición: La limpieza del backlog se produce al final de un sprint, cuando el equipo se reúne para asegurarse de que el backlog está listo para el siguiente sprint. El equipo puede eliminar las historias de usuario que no sean relevantes, crear nuevas, reevaluar la prioridad o dividirlas en tareas más pequeñas. La limpieza del backlog es tanto un proceso continuo como el nombre de la reunión en la que se produce esta acción (una reunión de limpieza del backlog).
Sinónimo: refinamiento del backlog
Cómo se utiliza: Una vez que el equipo finaliza un sprint, se programa una reunión de limpieza del backlog. La limpieza del backlog está destinada a garantizar que el backlog solo contenga elementos relevantes que cumplan con los objetivos.
Beneficios para la gestión de proyectos:
- Garantiza que todas las funciones cumplan con los objetivos del proyecto.
- Ayuda al equipo de desarrollo a comprender las prioridades y mantenerse encaminado.
- Facilita la comunicación sobre qué funciones son importantes y cuáles no, y por qué.
Diagramas visuales grandes
Definición: Los diagramas visuales grandes son gráficos grandes que se muestran cerca del equipo Agile e indican su progreso. Usted podría crear un diagrama visual grande para mostrar los defectos, la velocidad (gráfico de evolución), las pruebas de aceptación de los clientes o para averiguar cuánto tiempo está desperdiciando el equipo.
Sinónimo: radiador de información
Uso: Los diagramas visuales grandes se utilizan para mostrar la información del proyecto de una manera informal. Por lo general, se exhiben en una pared, comparten información importante de un vistazo.
Beneficios para la gestión de proyectos:
- Dan a conocer el estado del proyecto a las partes interesadas.
- Mejoran la transparencia y la comunicación.
- Transmiten rápidamente información fácil de interpretar.
Gráfico de evolución
Definición: Un gráfico de evolución representa todo el trabajo pendiente. El eje vertical representa el backlog, mientras que el horizontal representa el tiempo. El trabajo restante puede estar representado por puntos de historia, días ideales, días de equipo u otras métricas.
Sinónimos: gráfico de evolución de versión, gráfico de evolución de iteración
Uso: Los equipos Agile utilizan los gráficos de evolución para dar seguimiento al trabajo total restante en un proyecto y para predecir cuándo finalizará.
Beneficios para la gestión de proyectos:
- Advierte al equipo si las cosas no van según lo planeado.
- Muestra el impacto de las decisiones.
- Da a conocer el progreso y predice cuándo finalizará el trabajo.
Gráfico de producto
Definición: Un gráfico de producto hace un seguimiento de la cantidad de trabajo que se ha realizado. Tiene dos líneas: una representa el trabajo total y la otra, el trabajo realizado. El eje vertical representa la cantidad de trabajo y se puede medir en cantidad de tareas, horas o puntos de historia. El eje horizontal representa el tiempo, generalmente medido en días.
Uso: Los equipos Agile utilizan los gráficos de producto para comprobar el progreso y gestionar el alcance o la desviación de funciones. Este gráfico permite a los equipos Agile realizar un seguimiento de cuándo se ha agregado o eliminado el trabajo del proyecto, y ayuda al equipo a determinar una fecha de finalización realista para el proyecto.
Beneficios para la gestión de proyectos:
- Reconoce y resuelve fácilmente los problemas del proyecto.
- Estima cuándo finalizará el proyecto.
- Mejora la comunicación y la transparencia.
Cadencia
Definición: La cadencia describe el flujo o el ritmo de los eventos o las tareas de un proyecto. Establece un patrón que el equipo puede seguir para comprender lo que está haciendo y cuándo finalizará.
Uso: Los equipos Agile se esfuerzan por lograr una cadencia durante su proyecto. Por ejemplo, en Scrum, las iteraciones de longitud fija, llamadas “sprints”, duran de una a dos semanas y permiten al equipo enviar software en una cadencia regular. En Kanban, la cadencia es el flujo continuo del trabajo.
Beneficios de la gestión de proyectos:
- Establece el orden y el ritmo.
- Mejora la eficiencia del equipo.
- Permite al equipo entregar software con frecuencia.
Capacidad
Definición: La capacidad representa la cantidad de trabajo que se puede realizar en un plazo determinado y se basa en la cantidad de horas que una persona o un equipo estará disponible para llevar a cabo el trabajo.
Uso: El propietario del producto y el equipo Agile determinan la capacidad o la cantidad de carga de trabajo que pueden asumir para un próximo sprint. La capacidad se decide durante la reunión de planificación de sprints.
Beneficios para la gestión de proyectos:
- Mejora la gestión de recursos.
- Estima la finalización de un proyecto.
Pollos y cerdos
Definición: Los términos “pollo” y “cerdo” provienen de “La historia del pollo y el cerdo” de Ken Schwaber, un desarrollador de software que ayudó a formular la versión inicial de Scrum. Más a menudo utilizado en Scrum, un “pollo” se refiere a alguien que participa en el proyecto, pero que no es responsable de ninguna entrega específica (como una parte interesada o un gerente). Por otro lado, un “cerdo” es alguien que está comprometido y es directamente responsable de las entregas.
“La historia del pollo y el cerdo” de Ken Schwaber
Un cerdo y un pollo caminan por una carretera. El pollo mira al cerdo y dice: “Ey, ¿por qué no abrimos un restaurante?”. El cerdo mira al pollo y dice: “Buena idea, ¿cómo quieres llamarlo?”. El pollo piensa y dice: “¿Por qué no lo llamamos 'Jamón y huevos'?”. “Me parece que no”, dice el cerdo, “yo estaría comprometido, pero tú solo estarías involucrado”.
Uso: Los pollos y cerdos se utilizan para definir a los participantes y los roles en Scrum. Los roles de “cerdo” suelen ser los miembros reales del equipo, el Scrum Master o propietario del proyecto. Los roles de “pollo” son los gerentes o las partes interesadas.
Beneficios para la gestión de proyectos:
- Aclaran y definen los roles.
- Establecen las expectativas de los proyectos.
- Promueven las responsabilidades.
Mejora continua
Definición: La mejora continua es un proceso de mejora de la calidad y la eficiencia mediante la realización de cambios pequeños e incrementales a lo largo del tiempo. En Kanban, se refiere específicamente al proceso de optimización del flujo de trabajo y reducción del tiempo de ciclo, lo que se traduce en un aumento de la productividad.
Sinónimo: Kaizen
Uso: La mejora continua se utiliza para introducir la mejora en el proceso de trabajo de manera incremental e implica los siguientes pasos: 1) identificar, 2) planificar, 3)ejecutar y 4) revisar.
Más específicamente para Kanban, no hay fechas de vencimiento establecidas, por lo cual el equipo se centra en el trabajo en curso. A medida que los miembros del equipo colaboran para resolver problemas y sugerir nuevas ideas, el proceso se vuelve más eficiente y optimizado, los tiempos del ciclo disminuyen y el flujo de trabajo se optimiza. Los equipos no necesitan ser multifuncionales en Kanban.
Beneficios para la gestión de proyectos:
- Mejora la productividad y la entrega.
- Aumenta la precisión en la previsión del trabajo y la entrega futuros.
- Agiliza el trabajo y reduce el desperdicio.
- Introduce mejoras de manera incremental.
- Aumenta la sensación de orgullo y logros en los miembros del equipo.
Integración continua (CI)
Definición: La integración continua es una práctica de ingeniería de software que implica la integración continua de nuevos códigos de desarrollo en la base de código existente.
Sinónimos: entrega continua, implementación continua
Cómo se utiliza: Una vez completada una función, los desarrolladores la prueban para detectar defectos y luego la integran en la base de código existente. Esto garantiza que el repositorio de código contenga siempre la última compilación de software en funcionamiento. En la práctica, este proceso se automatiza en gran medida mediante el uso de herramientas de control de versiones, políticas y convenciones de equipo, y herramientas de CI específicas.
Beneficios para la gestión de proyectos:
- Permite una retroalimentación rápida para que los defectos se puedan detectar y corregir rápidamente.
- Minimiza el tiempo y el esfuerzo necesarios para realizar cada integración.
- Proporciona un proceso automatizado de creación y publicación.
- Permite que el software pueda entregarse en cualquier momento.
Ciclo
Definición: Un ciclo se refiere a la cantidad total de tiempo que tarda una tarea o un elemento de trabajo en atravesar el flujo de trabajo desde el principio del trabajo hasta que se envía.
Uso: La metodología Kanban utiliza el tiempo de ciclo como métrica clave, en lugar de la velocidad, como en Scrum. A medida que los equipos Kanban se vuelven más eficientes a la hora de optimizar el flujo de trabajo y producir entregas, los tiempos del ciclo disminuyen y aumenta la productividad. Los ciclos no tienen límites de tiempo establecidos; más bien, el flujo de trabajo se basa en la entrega continua. Los equipos Kanban con habilidades compartidas experimentan tiempos de ciclo más breves. Los equipos deben esforzarse por lograr tiempos de ciclo más cortos y más uniformes. Los tiempos de ciclo también se pueden aplicar en Scrum.
Beneficios para la gestión de proyectos:
- Conduce a la mejora continua.
- Aumenta la capacidad de pronosticar entregas futuras (con tiempos de ciclo uniformes).
- Aumenta la productividad (con tiempos de ciclo más cortos).
Scrum diario
Definición: El Scrum diario es una breve sesión de comunicación y verificación de estado facilitada por el Scrum Master en la que los equipos Scrum comparten el progreso, informan los impedimentos y asumen compromisos para la iteración o el actual. El Scrum diario consiste en una conversación muy centrada que se mantiene en un plazo estricto; se lleva a cabo a la misma hora todos los días (idealmente, por la mañana) y en el mismo lugar. El tablero de tareas Scrum sirve como punto focal de la reunión.
Sinónimo: reunión diaria
Uso: El Scrum Master suele hacer estas tres preguntas a los miembros del equipo:
- ¿Qué lograron ayer?
- ¿Qué se comprometen a hacer o a finalizar hoy?
- ¿Qué impedimentos u obstáculos les impiden cumplir los compromisos?
Toda la conversación durante el Scrum diario debe centrarse en responder estas tres preguntas. Cualquier debate adicional que se derive de estas preguntas debe abordarse por separado. Solo aquellos que están involucrados en el sprint actual deben estar presentes en el Scrum diario.
Beneficios para la gestión de proyectos:
- Mantiene el flujo de trabajo encaminado.
- Ayuda a identificar problemas lo antes posible.
- Aumenta la responsabilidad, la comunicación y la colaboración del equipo.
- Permite al equipo ver el “panorama general” del sprint.
- Estimula la autoorganización y la planificación personal del equipo.
- Ayuda a los miembros del equipo a abordar los problemas y a realizar correcciones pequeñas, si es necesario.
- Proporciona interacción personalizada (si se encuentra en el sitio).
Reunión de actualización diaria
Definición: La reunión de actualización diaria es un componente clave de las metodologías Agile y sirve como un foro cotidiano para que los equipos Agile compartan el progreso, informen los impedimentos y asuman compromisos para la iteración o sprint actual. Esta breve reunión de 15 minutos generalmente se lleva a cabo todas las mañanas a la misma hora y en el mismo lugar. Debe ser lo suficientemente breve como para que los participantes estén de pie todo el tiempo; de este modo, se promueve la brevedad y se garantiza que la reunión no se extienda más allá del plazo asignado.
Sinónimos: Scrum diario, reunión diaria
Uso: Las reuniones diarias generalmente se llevan a cabo en torno al Scrum físico o al tablero de tareas Kanban del equipo (para equipos en el sitio). Los miembros del equipo responden tres preguntas sobre su estado laboral en esta línea:
- ¿Qué lograron ayer?
- ¿Qué se comprometen a hacer o a finalizar hoy?
- ¿Qué impedimentos u obstáculos les impiden cumplir los compromisos?
Toda la conversación durante la reunión diaria debe centrarse en responder estas tres preguntas. Cualquier conversación adicional que se derive de estas preguntas debe gestionarse fuera de la reunión diaria.
Beneficios para la gestión de proyectos:
- Mantiene el flujo de trabajo encaminado.
- Favorece la brevedad de la reunión (porque los participantes están de pie).
- Ayuda a identificar problemas lo antes posible.
- Aumenta la responsabilidad, la comunicación y la colaboración del equipo.
- Estimula la autoorganización y la planificación personal del equipo.
- Ayuda a los miembros del equipo a abordar los problemas y a realizar correcciones pequeñas, si es necesario.
- Proporciona interacción personalizada (si se encuentra en el sitio).
Definición de hecho
Definición: La definición del término “hecho” se refiere a un conjunto de criterios predeterminados que un producto debe cumplir para ser considerado hecho. El equipo llega a un consenso en cuanto a lo que define que una tarea está hecha y luego publica una lista de verificación de los pasos que deben seguirse antes de que se considere que el producto puede enviarse. El equipo muestra esta lista en la forma de un diagrama visual grande de manera destacada en el área del equipo.
Sinónimos: hecho único, hecho, hecho-hecho-hecho, lista de tareas hechas, lista de verificación de tareas hechas, sashimi del producto, definición de tarea completa, lista de tareas
Uso: El equipo acuerda una lista de criterios que deben cumplirse antes de que se considere que un incremento del producto está “hecho”, es decir, se han completado el diseño, la codificación, las pruebas y la documentación, y el código se ha integrado en el sistema en su totalidad. Si una tarea no cumple con los criterios de definición de hecho, no cuenta para la velocidad del equipo.
Beneficios para la gestión de proyectos:
- Mejora la probabilidad de entregar software funcional.
- Limita el costo de volver a hacer el trabajo una vez que se ha aceptado una función como “hecha”.
- Reduce el riesgo de que haya malentendidos y conflictos entre el equipo de desarrollo y el cliente o propietario del producto.
E-J
Historias epic
Definición: Los términos “epic” e “historias epic” se definen como grandes historias de usuario que, en su estado actual, serían difíciles de estimar o completar en una sola iteración. Las historias epic suelen ser de menor prioridad y esperan dividirse en componentes más pequeños.
Uso: Los epics a menudo se utilizan como marcadores de posición para nuevas ideas que no se han desarrollado completamente. Si bien las historias epic son comunes al desarrollar el backlog inicial del producto, finalmente deben dividirse en historias de usuario más manejables en las que los requisitos de la historia están definidos de manera más precisa.
Beneficios para la gestión de proyectos:
- Son útiles como marcadores de posición para grandes requisitos.
- Son útiles para dar un panorama general de las historias de usuario.
Estimación
Definición: La estimación es el proceso de asignar una medida cuantificable a la cantidad de carga de trabajo necesaria para llevar a cabo un proyecto o una tarea, con el fin de determinar la duración, el esfuerzo o el costo necesarios para finalizarlos.
Uso: El equipo Agile debe llegar a un consenso sobre una estimación del esfuerzo o la duración de la carga de trabajo necesarios para realizar la tarea en función de las estimaciones individuales proporcionadas por los miembros del equipo. Esto puede manifestarse como un juego conocido como “Planning poker”.
Beneficios para la gestión de proyectos:
- Proporciona una indicación de la duración, el esfuerzo o el costo general de un proyecto de software.
- Reduce la incertidumbre relacionada con el costo y la duración.
- Proporciona una guía para estimar tareas o proyectos.
Fallar rápido
Definición: El término “fracaso rápido” hace referencia al proceso de comenzar a trabajar en una tarea o en un proyecto, obtener comentarios inmediatos y luego determinar si seguir trabajando en esa tarea o adoptar un enfoque diferente, es decir, adaptarse. Si un proyecto no funciona, es mejor determinarlo al principio del proceso en lugar de esperar hasta que se haya invertido demasiado dinero y tiempo.
Uso: Un equipo comienza un nuevo proyecto o tarea, obtiene comentarios desde el principio y luego lleva a cabo un análisis para determinar si el proyecto será funcional o tendrá éxito. Si una tarea o un proyecto avanzan en la dirección equivocada, se recomienda a los miembros del equipo suspender el trabajo lo antes posible.
Beneficios para la gestión de proyectos:
- Identifica los problemas rápidamente.
- Crea una cultura de transparencia.
- Reduce el tiempo, el esfuerzo y el costo desperdiciados.
- Mejora la eficiencia en el desarrollo de productos de software.
Secuencia de Fibonacci
Definición: La secuencia de Fibonacci, derivada originalmente en el siglo XII por Leonardo Pisano, es una secuencia matemática en la que cada número subsiguiente se determina por la suma de los dos números anteriores, es decir: 1, 2, 3, 5, 8, 13, 21... Cada intervalo se incrementa a medida que aumentan los números.
Uso: Los equipos suelen usar la secuencia de Fibonacci al jugar a Planning poker para estimar la carga de trabajo. Los números son relativos y no tienen asignada ninguna unidad de medida.
Beneficios para la gestión de proyectos:
- Establece una escala o un estándar de comparación para estimar.
- Aumenta la precisión de las estimaciones.
Impedimento
Definición: Un impedimento es cualquier obstáculo que no permite que una persona o un equipo realice una tarea o un proyecto. Las reuniones no programadas, los problemas técnicos, la falta de conocimientos o experiencia, un lugar de trabajo que distrae y el conflicto de oficina son ejemplos de impedimentos.
Uso: Es posible que el equipo quiera crear una lista de impedimentos llamada “backlog de impedimentos” y mostrarla de manera destacada en el área donde se reúne el equipo para los Scrums diarios. Los impedimentos deben enumerarse según la gravedad con la que obstaculizan la productividad del equipo. Si afectan a toda la empresa, el Scrum Master debe eliminarlos. Si se producen a nivel de equipo, es responsabilidad de este resolverlos o eliminarlos.
Problemas para la gestión de proyectos:
- Se traduce en una reducción de la productividad del equipo.
- Afecta negativamente el cronograma y el costo del proyecto.
- Es necesario abordarlo lo antes posible.
Iteración
Definición: Una iteración es un plazo fijo o con timebox que generalmente abarca de dos a cuatro semanas, durante las cuales un equipo Agile desarrolla un producto entregable que se puede enviar. Un proyecto Agile típico consiste en una serie de iteraciones, junto con una reunión de planificación antes del desarrollo y una reunión retrospectiva al final de la iteración. Las iteraciones se conocen como “sprints” en Scrum.
Sinónimos: sprint, timebox
Uso: Al comienzo de una iteración o sprint, el propietario del producto y el equipo deciden qué requisitos cumplir durante la iteración. La duración de una iteración puede variar de un proyecto a otro.
Beneficios para la gestión de proyectos:
- Permite que los equipos trabajen de manera efectiva con los clientes.
- Fomenta los comentarios durante la iteración.
- Ayuda a evitar la corrupción de funciones.
- Reduce el riesgo de demoras en los cronogramas.
Desarrollo iterativo
Definición: El desarrollo iterativo es el proceso de dividir los proyectos en componentes más manejables conocidos como “iteraciones”. Las iteraciones son esenciales en las metodologías Agile para producir un producto o entrega que pueda enviarse.
Sinónimo: desarrollo incremental
Uso: En el desarrollo iterativo, los equipos Agile diseñan, desarrollan y prueban código en ciclos repetidos. Una vez concluida cada iteración, el equipo reúne los comentarios de los usuarios y luego los utiliza para crear la próxima iteración del producto. El desarrollo iterativo permite a los equipos evaluar y adaptar sus procesos, lo que conduce a una mejora continua.
Beneficios para la gestión de proyectos:
- Mejora la satisfacción del cliente.
- Aporta valor al producto.
- Permite una entrega más rápida de software o de un producto en funcionamiento.
- Conduce a la mejora continua.
K-P
Kanban
Definición: Kanban es un marco muy visual que se encuentra bajo la amplitud de Agile. El proceso Kanban utiliza un flujo de trabajo continuo en lugar de iteraciones fijas para producir entregas que se pueden enviar. Cuando se aplica en un proceso existente, Kanban fomenta cambios pequeños e incrementales en el proceso actual y no requiere una configuración ni un procedimiento específico. Kanban se centra en llevar a cabo proyectos completos en lugar de sprints.
Uso: En lugar de que se asignen tareas a los miembros del equipo, estos extraen el trabajo del backlog del producto. La única restricción en Kanban son los límites (límites de WIP) que se colocan a la cantidad de trabajo que existe en el proceso en un momento dado. Kanban ayuda a los equipos a reducir el tiempo de ciclo, optimizar el flujo de trabajo y aumentar la productividad, lo que conduce a una mejora continua.
Kanban es una opción de la metodología Agile. Se utiliza principalmente en el desarrollo de software, pero puede aplicarse en cualquier tipo de proyecto de cualquier sector.
Beneficios para la gestión de proyectos:
- Aumenta la eficiencia del equipo.
- Permite flexibilidad y se adapta fácilmente al cambio.
- Reduce el tiempo de ciclo.
- Mejora el flujo de trabajo.
- Conduce a la mejora continua.
- Aumenta la capacidad del equipo para pronosticar el trabajo futuro.
Desarrollo de software Lean (LSD)
Definición: El desarrollo de software Lean es un ejemplo de metodología Agile ligera aplicada al desarrollo de proyectos. El desarrollo de software Lean combina el enfoque de fabricación Lean presentado por Toyota en la década de 1950 (también conocido como “producción justo a tiempo”) y los principios de TI Lean, y los aplica al software. El LSD pone un fuerte énfasis en las personas y en la comunicación efectiva.
El LSD se define por siete principios:
- Eliminar los desperdicios
- Crear conocimiento
- Aportar calidad
- Aplazar el compromiso
- Optimizar el todo
- Entregar rápido
- Respetar a las personas
Uso: El objetivo principal del desarrollo de software Lean es reducir o eliminar el desperdicio, y, por lo tanto, se centra en optimizar los productos para incluir solo las funciones más valiosas y entregarlas en incrementos. La priorización del backlog, los bucles de retroalimentación cortos, las pruebas unitarias frecuentes y la eficiencia del equipo son todos componentes del desarrollo de software Lean. El LSD emplea el enfoque Kanban para extraer el trabajo del backlog y mejorar la velocidad y la eficiencia del flujo de trabajo.
Beneficios para la gestión de proyectos:
- Reduce los costos generales del proyecto.
- Aumenta la eficiencia y la velocidad del flujo de trabajo.
- Permite una entrega más rápida de software en funcionamiento.
- Aumenta la motivación del equipo debido al empoderamiento en la toma de decisiones.
Programación en pares
Definición: La programación en pares es un escenario donde dos programadores comparten una sola estación de trabajo y trabajan juntos para desarrollar una sola función.
Sinónimos: emparejamiento, programación emparejada, programación en pareja
Uso: Un programador, el controlador, escribe el código, mientras que el otro, el navegador, lo revisa a medida que se escribe y proporciona una dirección estratégica. Los dos programadores cambian de función periódicamente durante la tarea. Uno o ambos mantienen un diálogo durante el proceso de desarrollo.
Para que el emparejamiento sea efectivo, la estación de trabajo debe poder adaptarse a ambos programadores; al menos, el escritorio debe tener suficiente espacio para que quepan fácilmente dos sillas. El nivel de ruido del espacio debe controlarse y no debe ser mayor que la conversación en voz baja del par individual o de varios pares.
Beneficios para la gestión de proyectos:
- Da como resultado un código de mayor calidad.
- Aumenta la transferencia de habilidades.
- Permite una capacitación cruzada entre los miembros del equipo.
- Fomenta la comunicación.
- Aclara los problemas y acelera el proceso de toma de decisiones.
Juego de planificación
Definición: El término “juego de planificación” se refiere a una reunión de planificación que se lleva a cabo para decidir qué historias de usuario incluir en la próxima iteración o versión.
Uso: En el juego de planificación participan las partes interesadas del proyecto, de TI y del negocio. Los participantes seleccionan qué historias de usuario proporcionarán el mayor valor empresarial al producto o proyecto, dadas las estimaciones actuales de carga de trabajo.
Beneficios para la gestión de proyectos:
- Aumenta la comunicación entre las partes interesadas del negocio y de TI.
- Mejora la probabilidad de entregar software funcional en cada versión o iteración.
Planning Poker
Definición: El Planning poker es un ejercicio o juego de formación de equipos que se utiliza para llegar a un consenso grupal y estimar la carga de trabajo.
Uso: Los jugadores utilizan tarjetas impresas con números de la secuencia de Fibonacci para asignar puntos a las historias de usuario con el fin de estimar la carga de trabajo. El equipo debe llegar a un consenso grupal sobre cuánto tiempo tardarán en completarse las historias o requisitos de usuario. Como alternativa, pueden usar otras formas de estimación relativa, como el tamaño de la camiseta.
Beneficios para la gestión de proyectos:
- Proporciona el beneficio del conocimiento y la experiencia colectivas del equipo.
- Fomenta el intercambio y la generación de ideas.
- Promueve la resolución de problemas.
- Estimula la colaboración en equipo.
- Aumenta la precisión de las estimaciones.
Backlog del producto
Definición: Un backlog del producto es la lista de requisitos solicitados por el cliente. No se trata de una lista de tareas pendientes; más bien, es una lista de todas las funciones que el cliente ha solicitado que se incluyeran en el proyecto. El equipo Scrum utiliza el backlog del producto para priorizar las funciones y decidir cuáles implementar en los próximos sprints.
Uso: El propietario del producto es responsable de priorizar los elementos del backlog del producto (PBP). El equipo de desarrollo extrae los PBP de mayor prioridad del backlog del producto para completarlos durante cada sprint. El propietario del producto cambia y vuelve a priorizar el backlog durante el proceso de desarrollo del proyecto según sea necesario.
Sinónimo: backlog
Beneficios para la gestión de proyectos:
- Da a conocer la prioridad de los elementos del backlog del producto.
- Permite realizar una planificación a largo plazo.
- Garantiza que las necesidades del cliente sean escuchadas.
- Permite a los miembros del equipo extraer elementos de mayor prioridad según sea necesario (en equipos Kanban).
Elemento del backlog del producto (PBI)
Definición: Un elemento del backlog del producto (PBI) es un solo elemento de trabajo que existe en el backlog del producto. Los PBI pueden incluir historias de usuario, epics, especificaciones, errores o requisitos de cambio. El propietario del producto de un equipo Agile compila y prioriza el backlog del producto, poniendo los PBI más urgentes o importantes en primer lugar. Los PBI constan de tareas que deben completarse durante un sprint de Scrum; un PBI debe ser un incremento del trabajo lo suficientemente pequeño como para realizarse durante un solo sprint. A medida que los PBI avanzan a una mayor prioridad en el backlog del producto, se dividen en historias de usuario.
Uso: Los desarrolladores extraen los PBI de mayor prioridad del backlog para trabajar en ellos, ya sea por iteración en un entorno Scrum o continuamente en un entorno Kanban.
Beneficios para la gestión de proyectos:
- Permite al equipo cuantificar y programar elementos individuales del trabajo que se realizarán durante un solo sprint.
- Garantiza que el cliente reciba el producto adecuado para satisfacer sus necesidades.
Propietario del producto
Definición: Como miembro del equipo Agile, el propietario del producto representa al cliente y transmite los requisitos y la visión de este al equipo. Redacta los criterios de aceptación y prioriza y mantiene el backlog del producto. Debe poder comunicarse bien en ambas direcciones: planteando las inquietudes del equipo al cliente y a las partes interesadas, y asegurando que el equipo se mantenga encaminado para cumplir con la visión del producto que desea el cliente.
Uso: En un entorno Scrum, el propietario del producto reúne y prioriza las historias de usuario que se deben completar durante un sprint. Durante el sprint, permanece en silencio; no puede hacer cambios ni comentarios. Una vez finalizado el sprint, el propietario del producto se reúne con los miembros del equipo y las partes interesadas para hacer comentarios y debatir las opciones de mejora. El propietario del producto acepta o rechaza el producto al final del sprint, según los criterios de aceptación decididos durante la reunión de planificación de sprint.
En un entorno Kanban, el propietario del producto elabora y prioriza un backlog de elementos de trabajo que se deben cumplir. Puede cambiar y volver a priorizar el trabajo en el backlog en cualquier momento sin afectar el trabajo ya en curso.
Beneficios para la gestión de proyectos:
- El equipo comprende más la visión del cliente y del producto final.
- Aumenta la comunicación y la confianza entre los clientes, el equipo y las partes interesadas.
- El equipo tiene más apoyo de partes externas.
Q-S
Refactorización
Definición: El código de refactorización significa mejorar, aclarar y optimizar la estructura interna del código existente sin afectar su comportamiento externo. No incluye la reescritura del código ni la corrección de errores. El sustantivo “refactorización” se refiere a métodos específicos y limitados para refactorizar código, como el uso del método de extracción para aclarar el propósito de un código.
Uso: La refactorización se utiliza en Agile para mantener la claridad y la extensibilidad del código entre las iteraciones de sprint.
Beneficios para la gestión de proyectos:
- Mantiene el código limpio y fácil de leer.
- Evita la duplicación de código.
- Es más fácil detectar errores y corregirlos.
- Facilita el mantenimiento y la extensión del código.
Estimación relativa
Definición: La estimación relativa es uno de los varios tipos de estimaciones que utilizan los equipos Agile para determinar la cantidad de esfuerzo necesario para llevar a cabo las tareas del proyecto. Las tareas o historias de usuario se comparan con tareas o grupos de tareas equivalentes, ya hechas, de dificultad similar.
Sinónimos: agrupación silenciosa, pruebas de afinidad
Uso: Los equipos Agile utilizan la estimación relativa para evaluar el tiempo y el esfuerzo necesarios para completar una tarea o una historia de usuario en función del tiempo que tardó en llevarse a cabo una tarea similar. Los equipos a menudo utilizan una escala no numérica para comparar las tareas, como el tamaño de una camiseta, en las que el esfuerzo de las tareas se evalúa como extrapequeño, pequeño, mediano, grande o extragrande.
Beneficios para la gestión de proyectos:
- Proporciona estimaciones precisas para las fechas de publicación y las previsiones futuras.
- Elimina el tiempo perdido en estimaciones de precisión.
- Elimina la confusión entre estimaciones y compromisos.
- Permite aumentar la satisfacción del cliente.
Versión
Definición: Una versión Agile se refiere a la entrega final de un paquete de software después de la finalización de varias iteraciones o sprints. Una versión puede ser la construcción inicial de una aplicación o la adición de una o más funciones a una aplicación existente. Debe tardar menos de un año en realizarse y, en algunos casos, puede llevar solo tres meses.
Uso: Los equipos Agile utilizan la cantidad de tiempo planificado para una versión de software dividida por la velocidad de iteración a fin de determinar la cantidad de iteraciones necesarias para desarrollar el software requerido para la versión.
Beneficios para la gestión de proyectos:
- Proporciona un objetivo tangible.
- Aclara los requisitos y la visión del cliente.
- Permite la publicación preliminar de las versiones alfa o beta después de la realización de varias iteraciones.
Plan de versión
Definición: Un plan de versión describe las funciones que se incluirán en una próxima versión y proporciona una fecha estimada de lanzamiento. Debe incluir responsabilidades, recursos y actividades necesarias para desarrollar la versión.
Uso: El plan de versión se desglosa en sprints individuales necesarios para desarrollar la versión y lo que se logrará en cada sprint. La fecha de lanzamiento se estima en función de la cantidad de sprints que se incluirán multiplicada por la velocidad del sprint del equipo.
Beneficios para la gestión de proyectos:
- Proporciona una estimación precisa del tiempo total y de los recursos necesarios para desarrollar la versión.
- Proporciona a los equipos una comprensión y una visión comunes de lo que debe lograrse.
- Guía a los propietarios de productos en la priorización de historias y tareas.
- Guía a los miembros del equipo en la toma de decisiones.
- Ayuda a los equipos a no distraerse con un trabajo no planificado.
Scrum
Definición: Scrum es el marco más utilizado en la amplitud de Agile. Se trata de un modelo de software iterativo que sigue un conjunto de roles, responsabilidades y reuniones predefinidos.
En Scrum, las iteraciones se denominan “sprints” y se les asigna una longitud fija; los sprints suelen durar de una a dos semanas, pero pueden extenderse hasta un mes.
Uso: la metodología Scrum designa tres roles específicos para cada proyecto Scrum: el propietario del producto, el Scrum Master y el equipo Scrum. Un proyecto Scrum se caracteriza por el backlog del producto, la planificación de sprints, la mejora del backlog, las reuniones diarias de Scrum, la reunión de revisión de sprints y la reunión retrospectiva de sprints.
La finalización de un sprint de Scrum produce un incremento de software funcional que se puede enviar. Con Scrum, los incrementos de software se pueden entregar al cliente periódicamente, en lugar de esperar la versión final del software.
Beneficios para la gestión de proyectos:
- Aumenta la rendición de cuentas del equipo.
- Se adapta fácilmente a los cambios durante el proyecto.
- Reduce los costos al identificar los problemas tan pronto como surjan.
Equipo Scrum
Definición: Un equipo Scrum generalmente está compuesto por cinco a nueve miembros con habilidades multifuncionales. A diferencia de los equipos tradicionales de desarrolladores, no hay roles específicos. Un equipo Scrum se autoorganiza y es autónomo; debe tener la cantidad correcta de miembros con las habilidades adecuadas necesarias para completar el sprint.
Uso: Los miembros de un equipo Scrum trabajan juntos para completar sprints y producir un incremento de software funcional que se puede enviar. Al final del sprint, el equipo realiza una revisión del sprint con el propietario del producto y las partes interesadas para demostrar lo que se ha logrado, analizar los problemas y obtener comentarios. Una reunión retrospectiva de sprint distinta permite a los miembros del equipo analizar los comentarios y las mejoras necesarias para el próximo sprint.
Beneficios para la gestión de proyectos:
- Aumenta la sensación de confianza y responsabilidad entre los miembros del equipo.
- Conduce a la mejora continua a través de comentarios e intercambio de ideas.
- Fomenta el liderazgo por parte de todos los miembros del equipo, no solo de algunos elegidos.
Scrum Master
Definición: El Scrum Master a menudo se ve como el entrenador del equipo. Organiza reuniones, sortea obstáculos y resuelve problemas, y trabaja con el propietario del producto para asegurarse de que el backlog del producto esté actualizado. No tiene autoridad sobre los miembros del equipo; sin embargo, sí la tiene sobre el proceso. Un Scrum Master puede realizar una capacitación formal para convertirse en Scrum Master certificado, pero esto no es obligatorio.
Uso: El Scrum Master facilita las reuniones diarias de Scrum, determina la duración del sprint para el proyecto y realiza un seguimiento del progreso del flujo de trabajo. Trabaja con el propietario del producto para asegurarse de que el backlog del producto esté actualizado y elimina cualquier impedimento para el flujo de trabajo. Garantiza que los miembros del equipo no estén sobrecargados y puedan lograr su máximo potencial.
Beneficios para la gestión de proyectos:
- Garantiza que los miembros del equipo estén siguiendo el proceso Scrum más eficiente.
- Protege contra la complacencia del equipo.
- Guía al equipo hacia la mejora continua.
- Mantiene a los miembros del equipo involucrados tanto con el proyecto como con el proceso Scrum.
Scrum de Scrums
Definición: Una reunión de Scrum de Scrums es un mecanismo de escalamiento que se utiliza para gestionar proyectos grandes en los que participan varios equipos Scrum. Un Scrum de Scrums se lleva a cabo para facilitar la comunicación entre los equipos que pueden tener dependencias entre sí. Un miembro de cada equipo asiste al Scrum de Scrums para hablar en nombre del equipo (podría ser el Scrum Master, pero puede ser cualquier miembro capaz de transmitir información de manera efectiva y ocuparse de las preguntas o inquietudes para el equipo).
Uso: Si un equipo Scrum está trabajando en un proyecto grande que involucra dependencias, riesgos o problemas que podrían afectar el sprint de otro equipo, se programa un Scrum de Scrums como foro de comunicación para analizar o resolver estos problemas.
Beneficios para la gestión de proyectos:
- Facilita la comunicación y promueve la colaboración entre equipos.
- Permite a varios equipos ver el “panorama general” del proyecto y cómo el sprint de un equipo afecta a otro.
- Reduce el riesgo de que el trabajo de un equipo afecte negativamente al de otro.
- Ayuda a los equipos a abordar los problemas y a realizar correcciones pequeñas, si es necesario.
- Optimiza el flujo de trabajo del proyecto.
Scrumban
Definición: Scrumban es un híbrido de Scrum y Kanban que se utiliza para realizar tareas y producir entregas.
Uso: Scrumban se utiliza cuando un equipo Scrum quiere aplicar algo de la metodología Kanban en su proceso centrándose en el trabajo en curso y la mejora continua. O bien, es posible que un equipo Kanban desee aplicar alguna estructura de Scrum en su proceso, como reuniones diarias o roles.
Beneficios para la gestión de proyectos:
- Combina las prácticas recomendadas de ambos métodos para mejorar el proceso del equipo.
- Proporciona a los equipos flexibilidad para adaptar sus procesos de la manera más adecuada para ellos.
- Equilibra la capacidad del equipo con la demanda.
- Mejora la visualización para un equipo Scrum.
- Dirige a los equipos hacia una evolución a largo plazo de la mejora continua.
Spike
Definición: Un spike se refiere a una tarea o historia de usuario aparte con timebox que se crea para investigar una pregunta o resolver un problema. Se centra en recopilar información y responder a una pregunta, en lugar de desarrollar un producto que se puede enviar.
Uso: Un spike se crea cuando una historia de usuario o tarea no se puede estimar con precisión hasta que el equipo Agile no pueda llevar a cabo más investigaciones. El spike produce un resultado específico (una estimación de la historia de usuario original) para que el sprint pueda avanzar.
Beneficios para la gestión de proyectos:
- Aumenta la precisión y fiabilidad de las estimaciones de historias de usuario.
- Aumenta la comprensión del equipo de una historia de usuario o un requisito de PBI.
- Reduce el riesgo de trabajo desperdiciado o “extraviado”.
Sprint
Definición: Un sprint es una iteración de longitud fija durante la cual una historia de usuario o elemento del backlog del producto (PBI) se transforma en una entrega que se puede enviar. A cada sprint se le asigna una cantidad establecida de tiempo para realizarlo (lo cual se conoce como “timeboxing”), que podría extenderse de una semana a un mes, pero que normalmente dura dos semanas.
Uso: Cada sprint comienza con una reunión de planificación entre el propietario del producto y el equipo Scrum para decidir qué cantidad de trabajo se puede realizar de manera realista sin dejar de cumplir con los requisitos del propietario del producto o del cliente. El Scrum Master determina la longitud del sprint, la cual debe ser uniforme para todo el proyecto.
Al final del sprint, el equipo muestra el producto o software resultante al propietario del producto. Este hace comentarios al equipo y acepta o rechaza el producto, según los criterios de aceptación establecidos en la reunión de planificación de sprints. Una vez finalizados todos los sprints de un proyecto, el equipo debe estar listo para lanzar un paquete de software final.
Beneficios para la gestión de proyectos:
- Evita que los equipos se sientan abrumados.
- Promueve la previsibilidad y la fiabilidad de las entregas a los clientes.
- Acorta los bucles de retroalimentación.
- Evita que el trabajo avance demasiado en el desarrollo antes de encontrar problemas.
Backlog de sprint
Definición: Un backlog de sprint es un segmento de elementos del backlog del producto (PBI) que el equipo selecciona para completar durante un sprint de Scrum. Estos PBI suelen ser historias de usuario tomadas del backlog del producto.
Uso: Durante la reunión de planificación de sprints, el equipo decide qué PBI o historias de usuario incluir en el próximo sprint, en función del esfuerzo de trabajo estimado y la capacidad de equipo necesaria para realizar cada una. El equipo divide las historias de usuario o PBI en tareas y asigna una estimación en horas de trabajo para llevarlas a cabo.
Sinónimo: backlog de iteraciones
Beneficios para la gestión de proyectos:
- Garantiza que los PBI de mayor prioridad se completen primero.
- Permite una planificación a más largo plazo.
- Divide el trabajo en componentes manejables.
- Permite al equipo determinar la cantidad de PBI que puede lograr durante el sprint.
Reunión de planificación de sprint
Definición: La reunión de planificación de sprint es una sesión de trabajo que se lleva a cabo antes del inicio de cada sprint para llegar a un consenso entre los criterios de aceptación del propietario del producto y la cantidad de trabajo que el equipo de desarrollo puede realizar de manera realista hasta el final del sprint. La duración del sprint determina la duración de la reunión de planificación, y dos horas son equivalentes a una semana del sprint. Con esta fórmula, la reunión de planificación para un sprint de dos semanas duraría unas cuatro horas, aunque esto puede variar.
Uso: La reunión de planificación de sprint establece el escenario para el sprint. El Scrum Master facilita la reunión mientras el propietario del producto presenta y prioriza los elementos del backlog del producto (PBI) o historias de usuario que se llevarán a cabo hasta el final del sprint. A continuación, el equipo divide los PBI o historias de usuario en tareas manejables. Finalmente, el equipo determina la cantidad de trabajo que puede realizar durante el sprint.
Beneficios para la gestión de proyectos:
- Establece un objetivo claro para el equipo.
- Da como resultado el compromiso del equipo para llevar a cabo la cantidad de PBI y tareas acordadas durante la reunión de planificación.
- Evita la sobrecarga del equipo durante el sprint.
Plan de sprint
Definición: El plan de sprint es el resultado tangible de una reunión de planificación de sprint. Se trata de un documento escrito elaborado por el equipo de desarrollo que incluye 1) el objetivo del sprint, una breve descripción del producto o entrega que se debe completar al final del sprint y 2) una lista detallada de los elementos del backlog del producto (PBI) o historias de usuario que el equipo se ha comprometido a completar antes de que finalice el sprint, según la disponibilidad y la velocidad. Cada PBI o historia de usuario se divide en tareas según la prioridad establecida por el propietario del producto y asignada a un miembro del equipo.
Uso: El plan de sprint es una hoja de ruta que los miembros del equipo pueden consultar y seguir durante el sprint. Proporciona al propietario del producto y al equipo de Scrum un acuerdo escrito sobre lo que el equipo se ha comprometido a lograr durante el sprint.
Beneficios para la gestión de proyectos:
- Establece un objetivo claro para el sprint.
- Mantiene el desarrollo encaminado.
- Evita que el propietario del producto u otras partes den trabajo adicional al equipo.
- Evita que los miembros del equipo pierdan el hilo en la realización de las tareas acordadas.
- Proporciona un documento tangible para su revisión una vez finalizado el sprint a fin de determinar si la carga de trabajo y los tiempos del sprint eran realistas.
Retrospectiva de sprint
Definición: Una retrospectiva de Scrum es una reunión que se lleva a cabo tras la finalización de un sprint para analizar si este tuvo éxito y definir las mejoras que se incorporarán en el siguiente sprint.
Uso: El equipo Scrum celebra una reunión retrospectiva para analizar brevemente el sprint e identificar uno o dos elementos prioritarios que debe abordar durante el siguiente sprint. El objetivo de la retrospectiva no es realizar un análisis posterior extenso, sino más bien, centrarse en medidas específicas que el equipo puede tomar para avanzar hacia una meta de mejora continua. Las retrospectivas generalmente se dividen en tres partes: recopilación de datos, análisis de datos y elementos de acción.
Beneficios para la gestión de proyectos:
- Los equipos aprenden de los errores y colaboran juntos para encontrar soluciones.
- Las mejoras se incorporan de inmediato al proceso Agile.
- Energiza al equipo para que intercambie ideas sobre soluciones a los problemas.
- Libera la frustración y el estrés.
- El proceso de mejora continua conduce a un mejor valor para el cliente.
- Empodera al equipo.
Revisión del sprint
Definición: El equipo Scrum celebra una reunión de revisión del sprint inmediatamente después de la finalización de un sprint para revisar y demostrar lo que se ha logrado. A esta reunión asisten el propietario del producto o cliente, el Scrum Master, el equipo Scrum y las partes interesadas. La revisión del sprint es una reunión informal (no se permiten diapositivas de PowerPoint). La duración del sprint determina la duración de la reunión de revisión, y una hora es equivalente a una semana del sprint. Con esta fórmula, la reunión de planificación para un sprint de dos semanas duraría unas dos horas, aunque esto puede variar.
Uso: El propósito de la revisión del sprint es evaluar lo que sucedió durante el sprint y determinar si se produjo una entrega funcional que se puede enviar. El equipo presenta o demuestra la entrega desarrollada durante el sprint. El propietario del producto hace comentarios al equipo y decide si el producto cumple con los criterios de aceptación, y lo acepta o rechaza.
Beneficios para la gestión de proyectos:
- Determina si se cumplió la meta del sprint.
- Demuestra el resultado visual del sprint.
- Brinda la oportunidad inmediata de recibir comentarios del propietario del producto, el cliente y otras partes interesadas.
- Revela áreas en las que se necesita mejorar.
Parte interesada
Definición: El término “parte interesada” se refiere a cualquier persona fuera del equipo Scrum que tenga interés en el producto en el que el equipo está trabajando. Las partes interesadas pueden incluir, entre otras, a gerentes directos, expertos en la materia, gerentes de cuentas, vendedores y funcionarios del área legal.
Uso: Si bien las partes interesadas no tienen un rol oficial en Agile, el cliente se considera el más importante. La meta primordial de Agile es agregar valor a cada producto o entrega producido por la iteración o el sprint. La aceptación del producto depende de si el propietario, que actúa en nombre del cliente, considera que se han cumplido los criterios de aceptación. Otras partes interesadas pueden tener roles variables.
Beneficios para la gestión de proyectos:
- Garantiza que las necesidades y la visión del cliente se cumplan con precisión.
- Aumenta la confianza de los clientes en la capacidad del equipo para entregar un producto de gran calidad.
- Alerta a los gerentes de cuentas del presupuesto necesario para las iteraciones.
- Informa a los vendedores sobre los productos en curso.
- Anima a las partes interesadas a comprometerse con el proceso.
Reunión diaria/actualización
Definición: Los equipos Agile realizan una reunión de actualización de 15 minutos todas las mañanas en el mismo lugar para dar a conocer el estado del trabajo durante una iteración o sprint. La idea es que la reunión sea relevante, pero lo suficientemente breve como para que los miembros del equipo no se sientan incómodos al estar de pie.
Sinónimos: Scrum diario, reunión diaria, charla diaria
Uso: Durante esta reunión, los miembros del equipo Agile se reúnen en torno al tablero físico de tareas del equipo para compartir el progreso, informar sobre los impedimentos y asumir compromisos para la iteración o sprint actual. Los miembros del equipo suelen responder tres preguntas sobre el estado del trabajo:
- ¿Qué lograron ayer?
- ¿Qué se comprometen a hacer o a finalizar hoy?
- ¿Qué impedimentos u obstáculos les impiden cumplir los compromisos?
Toda la conversación durante la reunión debe centrarse en responder estas tres preguntas. Si surgen otras, se abordan en otro momento.
Beneficios para la gestión de proyectos:
- Mantiene el flujo de trabajo encaminado.
- Favorece la brevedad de la reunión (porque los participantes están de pie).
- Ayuda a identificar problemas lo antes posible.
- Aumenta la responsabilidad, la comunicación y la colaboración del equipo.
- Estimula la autoorganización y la planificación personal del equipo.
- Ayuda a los miembros del equipo a abordar los problemas y a realizar correcciones pequeñas, si es necesario.
- Proporciona interacción personalizada (si se encuentra en el sitio).
Historia
Definición: Una historia, o historia de usuario, es una declaración breve y no técnica de un requisito del sistema de software escrita desde el punto de vista del usuario final. Una historia se redacta según esta estructura: como
Cómo se utiliza: El propietario del producto prioriza las historias que se incluirán en cada sprint durante la reunión de planificación de sprint. El equipo asigna puntos a cada historia para estimar el esfuerzo de la carga de trabajo y, luego, la divide en tareas que se harán durante el sprint. Cuando finaliza la iteración o el sprint, el equipo debe haber producido un producto o entrega funcional que corresponda al requisito inicial especificado en la historia.
Beneficios para la gestión de proyectos:
- Aumenta la productividad.
- Proporciona a los equipos una comprensión clara de los requisitos de software y los criterios de aceptación.
- Proporciona flexibilidad para que el propietario del producto o cliente realice pequeños cambios antes de implementar la historia.
- Favorece la mejora continua.
- Aumenta el valor y la calidad del producto.
- Reduce el riesgo de defectos.
Mapeo de historias
Definición: El mapeo de historias se refiere a una visualización descendente, u hoja de ruta, del backlog del producto. El mapa de la historia comienza con una meta o funcionalidad específica, que luego se desglosa en historias de usuario. Un mapa de historias se crea en formato de árbol, ya sea físicamente, utilizando notas adhesivas en la pared, o digitalmente.
Uso: El mapeo de historias proporciona al equipo y a las partes interesadas una representación visual del backlog del producto y de las historias de usuario priorizadas que deben realizare.
Beneficios para la gestión de proyectos:
- Proporciona una representación visual integral del backlog.
- Aumenta la comprensión de las metas o los requisitos de funcionalidad.
- Revela fallas en el backlog del producto.
- Aumenta el valor para los clientes.
Swarming
Definición: El término “swarming” se refiere al momento en que los miembros del equipo con las habilidades adecuadas trabajan juntos para realizar una tarea que resulta problemática para un miembro del equipo.
Uso: El swarming se utiliza para terminar rápidamente una tarea o un elemento de trabajo antes de pasar al siguiente, a fin de mantener el flujo de trabajo y la entrega en curso. Los equipos Kanban, en particular, utilizan el swarming para garantizar un flujo de trabajo continuo y mantener los límites de trabajo en curso (WIP).
Beneficios para la gestión de proyectos:
- Mantiene el flujo de trabajo y la entrega encaminados.
- Mantiene los límites de WIP en Kanban.
- Fomenta la colaboración en equipo.
Ritmo sostenible
Definición: El ritmo sostenible es el ritmo al que un equipo Agile puede trabajar de forma indefinida sin que el desarrollador se agote (lo ideal son 40 horas por semana).
Uso: El ritmo sostenible se establece para garantizar que un equipo Agile rinda de manera óptima sin la necesidad de realizar horas extras, nocturnas o de fin de semana. Trabajar a un ritmo sostenible ayuda a exponer y remediar las deficiencias de programación, gestión o calidad que de otro modo podrían quedar ocultas por las horas extras.
Beneficios para la gestión de proyectos:
- Promueve el equilibrio entre el trabajo y la vida personal.
- Promueve un rendimiento óptimo.
- Mantiene renovados a los miembros del equipo.
- Aumenta la productividad.
T-Z
Tarea
Definición: Una tarea es una sola unidad de trabajo desglosada a partir de una historia de usuario. Generalmente está a cargo de una sola persona.
Uso: La tarea se utiliza en Scrum para identificar un pequeño incremento de trabajo que debe completar un miembro del equipo durante un sprint. El equipo pega una tarjeta o una nota en el tablero de tareas para identificar visualmente una tarea que se debe realizar.
Beneficios para la gestión de proyectos:
- Divide las historias de usuario en unidades manejables.
- Permite a los miembros del equipo realizar una o varias tareas sin sentirse abrumados.
- Es fácil de identificar en tableros de tareas Agile.
Tablero de tareas
Definición: Un tablero de tareas Agile es una representación visual física o en línea de historias de usuario desglosadas en tareas o unidades de trabajo. Un tablero de tareas físico puede ser tan simple como una pizarra con tres columnas con las etiquetas Hacer, En curso y Hecho; Las notas adhesivas de colores o las tarjetas de índice que representan las tareas se colocan en la columna que refleja el estado actual de la tarea. Se pueden agregar más columnas y carriles horizontales a un tablero de tareas.
Uso: El tablero de tareas sirve como la herramienta de comunicación visual clave para los equipos Scrum y Kanban y siempre debe estar actualizado. Sirve como punto focal para los Scrums diarios y, por lo tanto, debe estar ubicado en un área lo suficientemente grande como para que los miembros del equipo se reúnan en torno a él, y lo suficientemente conveniente como para que lo consulten en otros momentos del día.
A medida que los equipos avanzan a través de un sprint o iteración, mueven las tarjetas de tareas horizontalmente en todo el tablero para reflejar el estado de trabajo actual de la tarea. El tablero de tareas puede mejorarse con notas adhesivas codificadas por colores para representar la prioridad, el estado, los encargados, etc. Los tableros de tareas Kanban siempre deben mostrar un valor numérico para denotar límites del trabajo en curso.
Beneficios para la gestión de proyectos:
- Mantiene a los equipos encaminados.
- Es fácil de usar y mantener.
- Mejora la comunicación del equipo.
- Mejora la productividad.
- Favorece la mejora continua (en Kanban).
Miembro del equipo
Definición: En un entorno Agile, Scrum o Kanban, un equipo es un grupo pequeño y de gran capacidad, formado por cinco a nueve personas que trabajan en colaboración para completar una iteración o un proyecto. Tiene las habilidades y competencias necesarias para trabajar en el proyecto. Los equipos Scrum son multifuncionales; los equipos Kanban pueden ser multifuncionales o especialistas.
Los miembros del equipo no tienen roles asignados; el equipo no incluye un propietario del producto ni un Scrum Master. Un miembro del equipo puede ser un desarrollador, diseñador, evaluador, redactor técnico o cualquier otra persona cualificada necesaria para producir una entrega.
Uso: Un equipo Agile trabaja en conjunto para completar una historia de usuario o un proyecto. Cada miembro trabaja en una sola tarea o unidad de trabajo. Todos los miembros deben ayudar al equipo a alcanzar sus metas.
Beneficios para la gestión de proyectos:
- Aumenta la productividad.
- Conduce a la mejora y la evolución continuas (especialmente en los equipos Kanban).
- Permite a los miembros del equipo ejercer el liderazgo y generar compromiso.
- Aumenta la sensación de responsabilidad por el proyecto.
Deuda técnica
Definición: La deuda técnica se refiere a la obligación en la que incurre un equipo de desarrollo cuando utiliza un enfoque conveniente a corto plazo para desarrollar un paquete de software sin tener en cuenta las consecuencias a largo plazo. La deuda técnica aumenta el costo y la complejidad del proyecto debido a ineficiencias, imprecisiones y otros problemas introducidos en el paquete de software. La mala gestión, la incompetencia, la presión del cronograma o los errores inadvertidos pueden contribuir a la deuda técnica.
Uso: La deuda técnica se utiliza como motivación para que el equipo se centre en la calidad y el valor agregado durante el desarrollo. Esto puede traducirse en refactorizar y revisar el código de manera diligente y constante, ejecutar pruebas unitarias automatizadas e integrar código uniformemente. La programación en pares suele ser útil para protegerse de la deuda técnica. Crear un entorno en el que se anime a los miembros del equipo a aumentar el conocimiento y la experiencia relevantes también ayuda a evitar la deuda técnica.
Problemas para la gestión de proyectos:
- Reduce la calidad del producto.
- Da como resultado altos índices de defectos.
- Reduce la productividad.
- Reduce la velocidad del flujo de trabajo.
- Reduce la calidad del mantenimiento del código.
- Da como resultado modificaciones e implementaciones costosas.
Desarrollo basado en pruebas (TDD)
Definición: El desarrollo basado en pruebas es la práctica de diseñar y crear pruebas para el código funcional, de trabajo y, luego, crear código que pasará esas pruebas.
Uso: El TDD ayuda a aumentar la comprensión del equipo del propósito del código y cómo debe funcionar antes de comenzar el desarrollo. Luego el equipo escribe un código que cumple con los criterios de prueba. Los equipos que utilizan el TDD crean un código más optimizado y de mayor calidad que cumple con los criterios de prueba y aceptación.
Beneficios para la gestión de proyectos:
- Aumenta la velocidad de trabajo.
- Aumenta la calidad del código.
- Reduce la posibilidad de tener que rehacer el trabajo.
- Reduce el tiempo de depuración.
- Reduce el índice de defectos.
- Produce un documento de prueba para referencia.
- Simplifica el código.
- Proporciona un bucle de retroalimentación rápido.
Timebox
Definición: Un timebox se refiere a un plazo asignado durante el cual una persona o un equipo trabajan para lograr una meta establecida. El equipo deja de trabajar cuando concluye el plazo, en lugar de cuando finaliza el trabajo. Luego evalúa cuánto trabajo se hizo para alcanzar la meta especificada.
Uso: Los timeboxes se implementan en el desarrollo de software Agile para aumentar la calidad y el valor al producir una entrega. En particular, los timeboxes se aplican en sprints de Scrum, así como en spikes, donde a las tareas se les asignan duraciones fijas. Cualquier trabajo no terminado dentro del timebox se reasigna a otra iteración o se vuelve a priorizar.
Beneficios para la gestión de proyectos:
- Aumenta el enfoque en las tareas o en los problemas que agregan más valor.
- Garantiza que se satisfagan las necesidades del cliente.
- Reduce la corrupción de las funciones.
- Proporciona un bucle de retroalimentación corto.
- Garantiza que las funciones más importantes estén incluidas en el paquete de software.
Prueba unitaria
Definición: Una prueba unitaria es un fragmento de programa corto escrito para probar y verificar una parte de código una vez que se completa. Un fragmento de código la aprueba o reprueba. La prueba unitaria (o un grupo de pruebas, conocido como “conjunto de pruebas”) es el primer nivel de pruebas de un producto de desarrollo de software.
Uso: Los desarrolladores escriben una prueba unitaria para un pequeño fragmento de código que están desarrollando con el fin de documentarlo y verificar que funcione correctamente. También deben escribirse pruebas unitarias para corregir errores. Cuando el código se modifica, mueve o elimina, la prueba unitaria debe editarse a fin de reflejar ese cambio y, a continuación, volver a ejecutarse.
Beneficios para la gestión de proyectos:
- Identifica errores de software al principio del proceso de desarrollo.
- Proporciona documentación para cada fragmento de código.
- Proporciona un bucle de retroalimentación corto.
- Ayuda a que las pruebas de integración se ejecuten sin problemas.
Historia de usuario
Definición: Una historia de usuario es una descripción breve y no técnica de un requisito del sistema de software escrita desde el punto de vista del cliente o del usuario final. El propietario del producto o el equipo redacta las historias de usuario según esta estructura: como
Uso: El propietario del producto divide los elementos del backlog del producto (PBI) en historias de usuario. Para evaluar el esfuerzo de carga de trabajo necesario para completar la historia, a las historias de usuario se les asignan puntos de historia. Una vez que el propietario del producto prioriza las historias de usuario, el equipo divide la historia de mayor prioridad en tareas que se realizarán durante la siguiente iteración o sprint. El equipo Agile utiliza estas historias para crear código que cumpla con los requisitos del cliente. Cuando finaliza la iteración o sprint, el equipo debe haber desarrollado un producto o una entrega funcional que pueda enviarse y que corresponda al requisito inicial especificado en la historia.
Beneficios para la gestión de proyectos:
- Aumenta la productividad.
- Proporciona a los equipos una comprensión clara de los requisitos de software y los criterios de aceptación.
- Proporciona a los equipos comentarios continuos o frecuentes.
- Proporciona flexibilidad para que el propietario del producto o cliente realice pequeños cambios antes de implementar la historia.
- Favorece la mejora continua.
- Aumenta el valor y la calidad del producto.
- Reduce el riesgo de defectos.
Prototipo de usuario
Definición: Un prototipo de usuario es una descripción hipotética detallada o biografía de un usuario final típico que utilizará el producto. Los prototipos generalmente toman la forma de un documento escrito completo, con foto de archivo, nombre, profesión, estilo de vida y otros detalles pertinentes para su categorización como usuario final.
Cómo se utiliza: Los diseñadores y desarrolladores Agile utilizan prototipos como guía para desarrollar un producto que se ajuste a las necesidades de un tipo específico de usuario final o de varios tipos de usuarios finales. El equipo puede usar prototipos para decidir si agrega características, interacciones o señales visuales específicas al producto.
Beneficios para la gestión de proyectos:
Aumenta el conocimiento del equipo sobre los tipos de usuarios finales a los que se dirigen.
Aumenta el valor y la integridad del producto o la entrega resultantes.
Desarrolla un producto o entrega más centrado, realista y optimizado que no intenta complacer a todos.
Proporciona un punto focal para los desarrolladores que necesitan determinar qué incluir.
Velocidad
Definición: La velocidad es una métrica que especifica cuánto trabajo puede realizar un equipo en una sola iteración o sprint de duración fija.
Uso: Los equipos de desarrollo utilizan la velocidad como medio para pronosticar el esfuerzo de trabajo necesario para completar futuros sprints, siempre y cuando la composición del equipo y la duración del sprint sigan siendo las mismas. La velocidad también se utiliza como medio para estimar el tiempo que llevará completar el backlog del producto: el equipo divide la velocidad establecida en el número total de historias de usuario o la suma de puntos de historia para determinar la cantidad de iteraciones necesarias para completar el backlog.
Beneficios para la gestión de proyectos:
- Reduce la cantidad de tiempo necesario para estimar el trabajo futuro.
- Proporciona estimaciones de carga de trabajo y timeboxing más precisas.
- Proporciona flexibilidad para ajustar las estimaciones.
- Ayuda con la planificación de recursos y publicaciones.
Límites del trabajo en curso (WIP)
Definición: Los límites del trabajo en curso (WIP) se refieren al trabajo que se está realizando actualmente y aún no está listo para ser lanzado como entrega. Para los equipos Scrum, esto se aplicaría al trabajo que se realiza durante un sprint. En el caso de los equipos Kanban, se refiere al trabajo que se ha extraído del backlog y se está realizando, indicado por tarjetas en la columna “En curso” o “Trabajo en curso” del tablero de tareas Kanban.
Uso: Los límites de trabajo en curso (WIP) son la única restricción que se utiliza en la metodología Kanban. Los equipos Kanban establecen y publican un número en el tablero Kanban que representa la cantidad de historias o elementos de trabajo que pueden existir en el proceso en cualquier momento (indicado por tarjetas o notas adhesivas ubicadas en la columna Trabajo en curso del tablero Kanban). Estos límites se conocen como “límites de trabajo en curso” o “WIP”, y están diseñados para que el trabajo fluya sin problemas y revelen cualquier cuello de botella.
La aplicación de límites WIP obliga al equipo a centrarse en un número limitado de tareas e impulsar el trabajo hasta su finalización, ya que no se puede ingresar ningún trabajo nuevo en la columna WIP hasta que el equipo no haya concluido el trabajo actual. Los límites de WIP que se superan o establecen demasiado altos pueden poner en peligro el flujo de trabajo y la entrega. Los límites de WIP también se pueden aplicar en los equipos Scrum para que el trabajo fluya sin problemas (consulte Scrumban).
Beneficios para la gestión de proyectos:
- Revelan los cuellos de botella en el flujo de trabajo.
- Indican cuando uno o más miembros del equipo pueden estar sobrecargados.
- Permiten que el trabajo fluya sin problemas durante el proceso.
- Aumentan la productividad.
- Favorecen la mejora continua.
Uso de Smartsheet como herramienta de gestión de proyectos Agile
Empodere a sus empleados para que vayan más allá gracias a una plataforma flexible, diseñada para satisfacer las necesidades de su equipo y capaz de adaptarse cuando esas necesidades cambien. La plataforma Smartsheet facilita la planificación, la captura, la gestión y la creación de informes sobre el trabajo, desde cualquier lugar, lo que ayuda a su equipo a ser más eficiente y lograr más. Cree informes sobre las métricas claves y obtenga visibilidad en tiempo real acerca del trabajo en curso gracias a informes, paneles y flujos de trabajo automatizados diseñados para ayudar a su equipo a mantenerse conectado e informado. Cuando los equipos tienen claridad sobre el trabajo en curso, pueden lograr mucho más en el mismo tiempo. Pruebe Smartsheet gratis hoy mismo.