Calidad y Metodologías Ágiles
Calidad y Metodologías Ágiles
Calidad y Metodologías Ágiles
metodologías ágiles
Información general de la materia
Introducción:
Reny Evert Pech Ortega
Herramienta de trabajo:
Teams → Avance programático, Portafolio de evidencias, Materiales de clase (presentación y otros
artefactos), Tareas, etc.
Forma de trabajo:
● Clases en general (presentación y lectura).
● Apuntes en clase.
● Evaluaciones (prácticas).
● Tareas asignadas.
● Horas límite para las tareas.
● Manejo de portafolio de evidencias (parciales y nombres).
● Contacto por Teams (prudentes).
● Separación del temario en 2 (calidad y agilidad).
● * Presentar el Teams para mostrar el avance
Información general de la materia
Asistencias y faltas:
● Todas las clases se pasa lista sin falta.
● Tolerancia previo a la clase.
● 2 faltas por la cantidad de clases.
Fechas importantes:
● Primer parcial: 30 de septiembre y 02 de octubre
● Segundo parcial: 11 de noviembre
● Ordinario/Proyecto: 04 de diciembre
● Expotrónica: 11 de diciembre
● Días inhábiles: 16 de septiembre y 18 de noviembre (que nos afectan)
Ordinario:
Posible premio de acuerdo al comportamiento en el semestre.
Control de calidad y
Pruebas de software
Aplicando la calidad al producto
Índice de contenido
01 02
Pruebas de software Ciclo de vida
Conceptos básicos, beneficios y Proceso de las pruebas de software
objetivos
03 04
Estrategia pruebas Categorías y tipos de prueba
Niveles de pruebas de software Algunas de las pruebas aplicadas en
software
01
Pruebas de
software
Conceptos básicos, beneficios y objetivos
Pruebas de software
Método para comprobar si el producto de software real coincide con
los requisitos esperados y para garantizar que esté libre de defectos.
7 La ausencia de errores es
una falacia
Primer principio
Las pruebas muestran la presencia de defectos, no su ausencia
Las pruebas deben comenzar lo antes posible en el ciclo de vida del desarrollo de software. Es
mucho más económico corregir un defecto en las primeras etapas del proyecto.
Cuarto principio
Los defectos se agrupan
Si se realiza el mismo conjunto de pruebas repetitivas, el método será inútil para descubrir
nuevos defectos.
Los casos de prueba deben revisarse y ajustarse periódicamente, agregando casos de prueba
nuevos y diferentes para ayudar a encontrar más defectos
Sexto principio
Las pruebas dependen del contexto
Es necesario tener en cuenta los contextos antes de decidir qué enfoque de prueba aplicar.
Es posible que un software que esté 99% libre de errores todavía no se pueda utilizar. Este
puede ser el caso si el sistema se prueba minuciosamente para detectar el requisito incorrecto.
02
Ciclo de
vida
Proceso de las pruebas de software
Ciclo de vida de las pruebas
Análisis
Planificación
Desarrollo
Configuración
Ejecución
Cierre
Análisis de requisitos
El equipo estudia o examina los requisitos desde un punto de vista de pruebas para identificar
posibles pruebas y también para comprender a detalle todos los requisitos.
Salidas:
● Matriz de trazabilidad de requisitos
● Informe de viabilidad de automatización (si es aplicable)
Planificación de pruebas
El líder de control de calidad determina la estrategia del plan de pruebas junto con los esfuerzos
y las estimaciones de costos.
Salidas:
● Plan de pruebas o documento de estrategia
● Estimación de esfuerzo
Desarrollo de casos de prueba
Implica la creación, verificación y reelaboración de casos de prueba y scripts de prueba una vez
que el plan de prueba esté listo.
Los datos de prueba se identifican, luego se crean, revisan y luego se reelaboran en función de
las condiciones previas.
Salidas:
● Casos de prueba/script de pruebas
● Datos de prueba
Configuración del entorno de pruebas
Condiciones de software y hardware bajo las cuales se prueba un producto de trabajo. Se puede
realizar en paralelo con la fase de desarrollo del caso de prueba.
Salidas:
● Entorno listo con datos de prueba configurados
● Resultados de la prueba de humo.
Ejecución de pruebas
Se realiza la prueba del software en función de los planes de prueba y los casos de prueba
preparados.
Salidas:
● RTM completado con el estado de ejecución.
● Casos de prueba actualizados con resultados.
● Informes de defectos
Cierre del ciclo de pruebas
Implican varias actividades como informes de finalización de la prueba, recopilación de
matrices de finalización de la prueba y resultados de la prueba.
Los miembros del equipo de pruebas se reúnen, discuten y analizan los artefactos de prueba
para identificar estrategias que deben implementarse en el futuro, tomando lecciones del ciclo
de pruebas actual.
Cierre del ciclo de pruebas
Algunas de las actividades de esta fase pueden ser:
● Evaluar los criterios de finalización del ciclo en función del tiempo, la cobertura de la
prueba, el costo, el software, los objetivos comerciales críticos y la calidad.
● Métricas de prueba basadas en los parámetros anteriores.
● Documentar el aprendizaje del proyecto.
● Elaborar informe de cierre de prueba.
● Informes cualitativos y cuantitativos de la calidad del producto del trabajo al cliente.
● Análisis de resultados de pruebas para conocer la distribución de defectos por tipo y
gravedad.
Salidas:
● Informe de cierre de prueba
● Métricas de prueba
Estrategia
03 pruebas
Niveles de las pruebas de software
Estrategia/niveles de pruebas
Aceptación
2. Evaluación de las estructuras de datos locales: Examinar las estructuras de datos utilizadas
dentro del componente y comprender cómo afectan a los datos globales del sistema. Ej:
variables locales, matrices, listas, colas, pilas o cualquier otra estructura.
3. Prueba selectiva de las rutas de ejecución: Es necesario diseñar casos de prueba que se
centren en descubrir errores relacionados con cálculos incorrectos, comparaciones
inadecuadas o problemas en el flujo de control del programa.
5. Manejo de errores: Un buen diseño de software debe anticipar las condiciones de error y
definir cómo se manejan estos errores de manera adecuada.
Pruebas de componentes (III)
Estas pruebas también deben consideran 2 elementos:
Stub (representante)
Function IdentCategoria(calidad, cantidad)
Software bajo pruebas (SUT) {
Function ContProducto(calidad, cantidad) Driver (controlador)
……… Function PruebaUnidad ( )
{ const inventario = {
……… {
"Malo": 100, ………
const resultado = IdentCategoria(calidad, cantidad); "Bueno": 200, const TotalProducto = ContProducto( );
}; }
return resultado;
} return inventario;
}
Actividad 1
En equipos:
El objetivo es tomar los componentes probados de manera individual y construir una estructura
de programa que se haya dictado por diseño.
1. El módulo del driver principal se usa como un driver 1. Los componentes en el nivel inferior se combinan en
de prueba y los stubs se sustituyen con todos los grupos (en ocasiones llamados construcciones o
componentes directamente subordinados al módulo builds) que realizan una subfunción de software
del driver principal. específica.
2. Los stubs subordinados se sustituyen uno a la vez 2. Se escribe un controlador (un programa de control
con componentes reales. para pruebas) a fin de coordinar la entrada y salida
3. Las pruebas se llevan a cabo conforme se integra de casos de prueba.
cada componente. 3. Se prueba el grupo.
4. Al completar cada conjunto de pruebas, otro stub se 4. Los controladores se eliminan y los grupos se
sustituye con el componente real. combinan moviéndolos hacia arriba en la estructura
5. Se realizan pruebas de regresión. del programa.
Pruebas de sistema
Serie de diferentes pruebas cuyo propósito principal es ejercitar por completo el sistema
basado en computadora.
Aunque cada prueba tenga un propósito diferente, todo él funciona para verificar que los
elementos del sistema se hayan integrado de manera adecuada y que se realicen las funciones
asignadas.
Estas pruebas se llevan a cabo en un entorno que simula condiciones de uso reales, y su
objetivo es confirmar que el software es funcional, cumple con los requisitos del usuario y es
adecuado para su despliegue en producción.
● Pruebas alfa: se lleva a cabo en el sitio del desarrollador por un grupo representativo de
usuarios finales. El software se usa en un escenario natural con el desarrollador “mirando
sobre el hombro” de los usuarios y registrando los errores y problemas de uso. Las
pruebas alfa se realizan en un ambiente controlado.
● Pruebas beta: se realiza en uno o más sitios del usuario final y por lo general el
desarrollador no está presente. es una aplicación “en vivo” del software en un ambiente
que no puede controlar el desarrollador.
Pruebas de aceptación (III)
04
Categorías y
tipos de prueba
Algunas de las pruebas aplicadas en software
Pruebas estáticas y dinámicas
Pruebas que se encuentran en una capa por encima de los
tipos de prueba.
Testing
Dynamic
Static Testing
Testing
Las pruebas estáticas implican una lista de Las pruebas dinámicas implican casos de
verificación y un proceso a seguir. prueba para su ejecución.
Comparativa en categorías
El ROI alto porque se realiza en una etapa El ROI bajo porque se implica después de la
temprana. fase de desarrollo.
Revisiones Revisiones
Tutorial Inspección
informales técnicas
No sigue ningún Los pares revisan El autor del producto El objetivo principal
proceso para principalmente las explica el producto a es encontrar defectos
encontrar errores en especificaciones su equipo. Los y la reunión está
el documento. Solo técnicas del producto participantes pueden dirigida por un
revisa el documento y de software y hacer preguntas (si moderador
hace comentarios comprueban si es las hubiera). Una capacitado. En esta
informales sobre él. adecuado para el reunión es dirigida revisión se sigue un
proyecto. Intentan por el autor y el proceso estricto para
encontrar
escriba toma nota de encontrar defectos
discrepancias en las
los comentarios de la usando una lista de
especificaciones y
revisión. verificación para
estándares seguidos.
Plan de pruebas, ERS,
revisar los productos
código, etc. del trabajo.
Ejemplo de una prueba estática
1. Instalar y configurar la herramienta SonarCloud para que realice el análisis del código
que hayan generado.
2. Correr el Sonar en su proyecto en la rama/archivo seleccionado.
3. Tomar fotos de los resultados que obtuvieron; es decir, tomar una foto de los errores que
encontró la herramienta y una foto al fragmento de código afectado. Si es más de un
error, tomar 3 errores como mínimo. Si no encuentran errores, tomar otro proyecto,
archivo o rama según corresponda.
4. Corregir los errores identificados.
5. Correr nuevamente la herramienta.
6. Tomar evidencia de la resolución de los bugs identificados.
Actividad 3
Con los mismos equipos que en la actividad anterior:
1. Deberán compartir un archivo de código de un proyecto ya trabajado con otro equipo, que
será asignado por el profesor.
2. El equipo receptor del código deberá utilizar el checklist proporcionado por el profesor
para identificar posibles defectos en el código.
3. Deberán llenar el checklist y dejar los comentarios, de los errores identificados, en el mismo
documento.
4. Al finalizar la revisión, deberán entregar el checklist completo, incluyendo comentarios y
sugerencias al equipo original y deberán subirlo al Teams.
Notas:
● No es necesario corregir los defectos identificados.
● Es importante agregar sugerencias adicionales más allá de los puntos específicos del
checklist.
Tipos de prueba (dinámicas)
Grupo de actividades destinadas a probar un componente o sistema enfocado en un objetivo
de prueba específico; es decir, por ejemplo:
● Pruebas funcionales: se centran en evaluar si el software cumple con los requisitos
funcionales.
● Pruebas no funcionales: se centran en evaluar atributos de calidad que no están
directamente relacionados con las funciones específicas de la aplicación.
● Pruebas estructurales: evaluar el código relacionadas con la aplicación.
● Pruebas relacionadas con cambios: se realizan cuando se implementan cambios en el
software, ya sea nuevas características, correcciones de errores o actualizaciones.
● Unitarias
● Pruebas integrales
Pruebas funcionales ● Smoke/humo
● Localización
● Funcionalidad
● Carga
● Estrés
● Escalabilidad
Pruebas no funcionales
● Resistencia
● Usabilidad
● Seguridad
● Cobertura de código
Pruebas Estructurales
● Flujo de datos
● Regresión
Relacionados con cambios
● Migración
Matriz de pruebas y pruebas funcionales
Reporte de un defecto
Actividad 4
De manera individual:
● Deberán llenar SOLO las celdas de las columnas de la A - E, todas las demás
columnas NO deberán llenarse.
Nota:
● Lo que se entregará será el documento Plan de pruebas
llenado.
Actividad 6
Individualmente:
Nota:
● El entregable será la foto donde se muestre que ya pueden abrir el Cypress
(como se muestra en el último enlace).
Pruebas manuales
Las pruebas manuales son aquellas donde el tester ejecuta casos de prueba
manualmente, sin la ayuda de herramientas automatizadas, y valida si el software
cumple con las expectativas.
Ventajas y características:
● Ideal para pruebas que requieren observación humana directa.
● Útil en casos donde la interfaz cambia frecuentemente.
● Útil para pruebas de usabilidad, exploratorias o interfaces gráficas (UI).
● Flexibilidad para realizar pruebas ad-hoc.
Desventajas:
● Proceso lento y propenso a errores humanos.
● Menos eficiente en la repetición de pruebas.
● Dificultad para escalar en proyectos grandes o complejos.
Pruebas automatizadas
Las pruebas automatizadas utilizan herramientas y scripts para ejecutar
automáticamente los casos de prueba. Estas pruebas son programadas para
ejecutarse de manera repetida sin intervención manual.
Características:
● Uso de scripts o herramientas de software
● Se pueden ejecutar múltiples veces con diferentes entradas de datos.
Ventajas:
● Ahorro de tiempo en pruebas repetitivas.
● Mayor cobertura y precisión en la ejecución.
● Escalabilidad para proyectos grandes.
● Consistencia: las pruebas se ejecutan de la misma manera cada vez.
Pruebas automatizadas
Desventajas:
Usarlo cuando:
● Hay regresión frecuente en el código.
● Para proyectos con ciclo de vida largo o entornos estables.
● En pruebas de rendimiento, carga o estrés.
Comparativa Manuales vs Automatizadas
Pruebas
Criterio Pruebas Manuales
Automatizadas
Tiempo de ejecución Lento Rápido
Nota:
● La información que agreguen para el registro es indiferente, siempre y
cuando logren el registro del usuario.
● Pueden ayudarse de la documentación de Cypress o cualquier otro foro o
herramienta para realizar la tarea.
Fin del primer parcial
Metodologías Ágiles y
modelos de calidad
Aplicando la calidad al proceso
01
Calidad del
software
Concepto, procesos, beneficios y objetivos
Calidad del software
Entendemos entonces que en términos generales la calidad se refiere a:
Propiedades y características de un producto o servicio para satisfacer
necesidades explícitas o implícitas.
Además de haber realizado unas pruebas adecuadas para corroborar que todo funciona
correctamente, es importante que los procesos de todo el ciclo de vida de ese producto se haya
seguido de la manera adecuada.
¿Qué es un proceso?
2. Revisión de contenido
Entrada: Documento listo para revisión
Actividades: El Revisor técnico revisa el contenido para asegurar calidad, coherencia y
precisión técnica
Salidas: Comentarios y anotaciones sobre el documento.
Estructura de un proceso
Ejemplo:
Título: Revisión y Aprobación de Documentos
4. Aprobación final
Entrada: Documento corregido
Actividades: El Gerente de proyecto revisa el documento final para confirmar que
todos los cambios y correcciones han sido implementados correctamente.
Salidas: Documento aprobado o rechazado (con observaciones finales).
Ejemplos de Procesos
Beneficios de los procesos
Consistencia Eficiencia
Se obtienen resultados Eliminan redundancia
predecibles y, por lo tanto, asegurando que los
se obtiene confianza en recursos se utilicen de
clientes y usuarios. manera óptima.
Calidad Control
Seguir un proceso Monitorear el progreso es
continuo hace que los más eficiente y sencillo y
errores sean menos todas las decisiones se
probables y maximiza la toman de manera
coherencia. informada.
¿Cuándo usamos procesos?
Procesos Flexibles
Sí, todo proceso debe tener cierta flexibilidad y estructura. Por ejemplo: El cepillarse
los dientes lo puedes hacer con cualquier tipo de cepillo, mientras realices la acción
definida.
Los procesos están en continua evolución y cambio, pero estos cambios también
deben de ser controlados ya que estas son una guía para evitar el caos.
Análisis o
Planeación Diseño Implementación Pruebas
Requisitos
Despliegue Mantenimiento
Fase: Planeación
Rol: Gestor del proyecto
Actividad: En esta fase se establecen y comunican los objetivos, logros y metas del proyecto alineadas
con las necesidades del cliente o negocio. También se define qué incluye y qué no incluye el proyecto,
así como la identificación de todos los stakeholders. Se desglosan las actividades en tareas pequeñas y
manejables con el estimado de recursos y tiempo, entre otros tipos de actividades de planeación.
Actividad: Esta fase consiste en identificar el QUÉ o definir los requisitos del cliente a un nivel más
detallado mediante entrevistas o reuniones para, posteriormente, identificar los requisitos funcionales
y no funcionales. Se puede considerar realizar el modelado de requisitos (diagramas de casos de uso)
para representar cómo interactúan los usuarios con el sistema. Se identifican la criticidad de los
requisitos o su prioridad y por último se aseguran que los requisitos sean correctos, completos y
entendibles por todos los interesados.
Actividad: Esta fase describe el CÓMO se implementarán los requisitos especificados en la ERS; es
decir, damos respuestas a lo analizado con el cliente y comúnmente cubre los siguientes aspectos:
Arquitectura de software, Diseño detallado, Diagrama de clases, secuencia y estado, Diseño de la
interfaz de usuario, Tecnologías y herramientas.
Resultado: Documento de Especificación de diseño de software (EDS) o Diseño Detallado del Software
(DDS).
Fase: Implementación
Rol: Programador, implementador, desarrollador
Actividad: Fase en donde los responsables traducen el diseño a código. Este último debe seguir las
especificaciones y estructuras definidas en el DDS considerando la eficiencia y optimización en cuanto
al rendimiento, consumo de recursos y mantenimiento. La calidad del código debe cumplir con los
estándares definidos, debe ser legible, modular y reutilizable.
Actividad: De manera general, esta fase corrobora o verifica que lo definido en la fase de análisis se
vea reflejado en lo desarrollado en la fase anterior. Aquí se planean las pruebas, se diseñan los casos
de prueba, se ejecutan las pruebas, se registran y dan seguimiento a los defectos hasta su cierre y, si
aplica, se automatizan las pruebas.
Actividad: El equipo completo se prepara para transferir lo desarrollado al servidor del cliente; por lo
que debe existir una planeación del despliegue (cuándo y cómo se realizará), se configura el entorno
(servidores, base de datos, redes, etc), instalación y migración, validación en producción (realizar
pruebas en el entorno de producción) y entrenamiento de usuarios para el uso del sistema.
Actividad: Los responsables realizan actividades de soporte, como asistencia a los usuarios finales
para resolver un problema o responder preguntas relacionadas con el uso del software. Estas
actividades de mantenimiento se pueden clasificar en: Mantenimiento correctivo (solución de errores
o fallos que no se detectaron previamente), adaptativo (ajustes del software para adaptarse a cambios
en el hardware, sistemas operativos, bases de datos), perfectivo (Mejoras en la funcionalidad o
rendimiento sin que haya errores presentes) o preventivo (acciones para prevenir problemas, como
refactorización del código o mejora de seguridad).
02. Deberán lanzar las fichas al aire hasta que salga cara
03. Una vez les salga cara deberán pasar las fichas a su compañero de al lado
05. Mientras no lanzan las fichas, los demás integrantes del equipo deberán ver el comportamiento del
equipo contrario
06. Uno del equipo deberá vigilar que el equipo contrario cumpla con las reglas anteriormente
mencionadas
Consideraciones:
* No se pueden lanzar todas las fichas al mismo tiempo
* Para evitar hacer ruido, tratar de tomar las fichas en el aire.
¿Cuál es la principal diferencia que
encontraron entre los equipos?
Resultados del ejercicio
Este enfoque suele seguir el ciclo de vida que hemos visto anteriormente: Requisitos, Diseño,
Implementación, Pruebas, Despliegue y mantenimiento.
La forma de operar de estas metodologías era finalizar todas las actividades de cada fase para luego
entregarlo al cliente, independientemente de cuánto lleve este flujo de actividades.
Historia de la metodología ágil
El problema con los Métodos Tradicionales:
El enfoque lineal y secuencial de estos métodos tradicionales de gestión de proyectos tenían varios
inconvenientes:
El resultado de esta reunión fue la creación del Manifiesto Ágil, que estableció una nueva dirección
para el desarrollo de software, enfocándose en cuatro valores fundamentales y doce principios.
https://agilemanifesto.org/iso/es/manifesto.
html
Historia de la metodología ágil
Los principios del Manifiesto Ágil:
● Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo.
● El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus
miembros es la conversación cara a cara.
https://agilemanifesto.org/iso/es/principles.
html
Historia de la metodología ágil
● El software funcionando es la medida principal de progreso.
● A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación
ajustar y perfeccionar su comportamiento en consecuencia.
https://agilemanifesto.org/iso/es/principles.
html
Definición y principios de agilidad
Las metodologías ágiles son enfoques de gestión y desarrollo de proyectos que enfatizan la
colaboración, la flexibilidad y la entrega rápida de productos de alta calidad.
Estas metodologías utilizan técnicas que se aplican en ciclos de trabajo cortos, para realizar entregas
continuas del proyecto, dejando de lado la necesidad de esperar hasta el término del mismo.
Esta metodología proporciona una serie de elementos para ayudar a los equipos a concentrarse en la
iteración y construcción de proyectos:
● Roles
● Eventos
● Artefactos
Roles en Scrum
Product Owner o responsable del producto: Esta es la persona a cargo de la lista de trabajo
pendiente del producto (product backlog). Transmite el punto de vista del usuario a su equipo y a
otros ejecutivos involucrados y aportan claridad sobre qué es lo siguiente que se debe entregar
debido a su importancia (ordenan el backlog). También deberían ser ellos quienes decidan cuándo
algo está listo para ser entregado (con una tendencia a realizar entregas con frecuencia).
Roles en Scrum
Scrum Master: Es la persona que dirige y facilita los distintos eventos de Scrum. Este rol puede ser
desempeñado por el gerente del proyecto. El Scrum Master organizar las reuniones de planificación
de sprints, organizar las reuniones diarias, eliminar los obstáculos, realizar análisis retrospectivos
Roles en Scrum
Development Team: Es responsable del trabajo realizado en el sprint y de cómo se realizará. Como
equipo autoorganizado y multifuncional, encuentran las mejores soluciones para entregar
incrementos del producto de manera efectiva. Inspeccionan su trabajo y se adaptan para lograr
mejores resultados, pero también para aumentar la creatividad en el equipo.
Roles en Scrum
Equipo Scrum: El equipo de Scrum son todos los que están trabajando en el sprint. Los miembros
del equipo deben auto-organizarse y ser colaborativos para lograr el objetivo de Scrum de mejora
continua.
Eventos en Scrum
Sprints: Son eventos de duración fija (normalmente de 1 a 4 semanas) para crear consistencia. Un nuevo
Sprint comienza inmediatamente después de la conclusión del Sprint anterior.
Todo el trabajo necesario para lograr el Objetivo del Producto, incluido la Sprint Planning, Daily Scrums, Sprint
Review y Sprint Retrospective, ocurre dentro de los Sprints.
Durante el Sprint:
● No se realizan cambios que pongan en peligro el Objetivo del Sprint;
● La calidad no disminuye;
● El Product Backlog se refina según sea necesario; y,
● El alcance se puede aclarar y renegociar con el Product Owner a medida que se aprende más
Eventos en Scrum
Sprint Planning: Es la primera actividad que se realiza en el sprint para establecer el trabajo que se realizará.
Este evento aborda los siguientes temas:
E-commerce: “Mejorar la experiencia de compra al reducir el tiempo de carga de la página de productos en un 30%
para aumentar la tasa de conversión."
Aplicación de finanzas personales: "Permitir a los usuarios visualizar y categorizar automáticamente sus gastos del
mes para mejorar el control financiero."
Eventos en Scrum
Sprint Planning: Es la primera actividad que se realiza en el sprint para establecer el trabajo que se realizará.
Este evento aborda los siguientes temas:
Seleccionar cuánto se puede completar dentro de un Sprint puede ser un desafío. Sin embargo, cuanto más sepan los
Developers sobre su desempeño pasado, su capacidad actual y su Definición de Terminado (DOD), más confiados estarán
en sus pronósticos para el Sprint.
Eventos en Scrum
Sprint Planning: Es la primera actividad que se realiza en el sprint para establecer el trabajo que se realizará.
Este evento aborda los siguientes temas:
El Sprint Planning tiene un límite de tiempo de máximo ocho horas para un Sprint de un mes. Para Sprints más cortos, el
evento suele ser de menor duración
Eventos en Scrum
Daily Scrum: El propósito de la Daily Scrum es inspeccionar el progreso hacia el Objetivo del Sprint y adaptar
el Sprint Backlog según sea necesario, ajustando el trabajo planificado entrante.
Este evento es realizado a la misma hora y en el mismo lugar todos los días hábiles del Sprint por el
Development Team y su duración debe ser de 15 minutos. El equipo puede decidir tener sesiones más
detalladas sobre algún tema en particular que se habló durante la Daily Scrum que, en algunos casos, pudiera
impactar en adaptar o volver a planificar el resto del trabajo del sprint.
Si el Product Owner o Scrum Master están trabajando activamente en elementos del Sprint Backlog,
participan como Developers.
Las Daily Scrums mejoran la comunicación, identifican impedimentos, promueven la toma rápida de
decisiones y, en consecuencia, eliminan la necesidad de otras reuniones.
Eventos en Scrum
Eventos en Scrum
Sprint Review:
El propósito de la Sprint Review es inspeccionar el resultado del Sprint y determinar futuras adaptaciones. El Scrum Team
presenta los resultados de su trabajo a los interesados clave y se discute el progreso hacia el Objetivo del Producto.
Durante el evento, el Scrum Team y los interesados revisan lo que se logró en el Sprint. Con base en esta información, los
asistentes colaboran sobre qué hacer a continuación. El Product Backlog también se puede ajustar para satisfacer nuevas
oportunidades.
La Sprint Review es una sesión de trabajo y el Scrum Team debe evitar limitarla a una presentación. La Sprint Review es el
penúltimo evento del Sprint y tiene un límite de tiempo de máximo cuatro horas para un Sprint de un mes y menor
duración para sprints más cortos.
Eventos en Scrum
Sprint Retrospective:
El propósito de la Sprint Retrospective es planificar formas de aumentar la calidad y la efectividad. El Scrum Team
inspecciona cómo fue el último Sprint con respecto a las personas, las interacciones, los procesos, las herramientas y su
Definición de Terminado. Se identifican los supuestos que los llevaron por mal camino y se exploran sus orígenes. El
Scrum Team analiza qué salió bien durante el Sprint, qué problemas encontró y cómo se resolvieron (o no) esos
problemas.
El Scrum Team identifica los cambios más útiles para mejorar su efectividad. Las mejoras más impactantes se abordan lo
antes posible. Incluso se pueden agregar al Sprint Backlog para el próximo Sprint.
La Sprint Retrospective concluye el Sprint. Tiene un tiempo limitado a máximo tres horas para un Sprint de un mes y
menor duración para sprints más cortos.
Artefactos en Scrum
Product Backlog: El Product Backlog es una lista emergente y ordenada de lo que se necesita para mejorar el producto.
Los elementos del Product Backlog que el Scrum Team puede dar por Terminados dentro de un Sprint se consideran
preparados para ser seleccionados en un evento de Sprint Planning. Suelen adquirir este grado de transparencia tras las
actividades de refinamiento. El refinamiento del Product Backlog es el acto de dividir y definir aún más los elementos
del Product Backlog en elementos más pequeños y precisos. Esta es una actividad continua para agregar detalles, como
una descripción, orden y tamaño.
Los Developers que realizarán el trabajo son responsables del dimensionamiento. El Product Owner puede influir en los
Developers ayudándolos a entender y seleccionar sus mejores alternativas.
Eventos en Scrum
Artefactos en Scrum
Sprint Backlog:
El Sprint Backlog se compone de todas las actividades que se realizarán en el sprint y que fueron planeadas
por y para los Developers.
Este se actualiza a lo largo del Sprint a medida que se aprende más. Debe tener suficientes detalles para que
puedan inspeccionar su progreso en la Daily Scrum; la transparencia es clave.
Durante la retrospectiva del sprint, el equipo Scrum debe seleccionar al menos una mejora e incluirla en el
backlog del sprint.
Ese es el mejor enfoque para asegurarse de que las mejoras discutidas en la retrospectiva del sprint formen
parte del sprint. Esto generará una mejora continua y ayudará al equipo de desarrollo a convertirse en un
equipo de alto rendimiento.
Artefactos en Scrum
Increment:
Un Increment es un peldaño concreto hacia el Objetivo del Producto. Cada Increment se suma a todos los
Increments anteriores y se verifica minuciosamente, lo que garantiza que todos los Increments funcionen
juntos. Para proporcionar valor, el Increment debe ser utilizable.
Se pueden crear múltiples Increments dentro de un Sprint. La suma de los Increments se presenta en la Sprint
Review apoyando así el empirismo. Sin embargo, se puede entregar un Increment a los interesados antes del
final del Sprint. La Sprint Review nunca debe considerarse una puerta para liberar valor.
El trabajo no puede considerarse parte de un Increment a menos que cumpla con la Definición de Terminado.
Anexos de Scrum
Burndown chart:
Es una gráfica utilizada para visualizar el progreso del trabajo en un Sprint. Muestra cómo va disminuyendo la
cantidad de trabajo pendiente (normalmente en horas o puntos de historia) a lo largo del tiempo.
En el eje X se muestra el tiempo (generalmente días del Sprint) y en el eje Y el trabajo restante. La línea ideal de
burn down va descendiendo hasta llegar a cero al finalizar el Sprint, lo que indica que todo el trabajo
planificado se ha completado.
Es una herramienta útil para el equipo, ya que permite identificar si están avanzando según lo planeado o si
hay riesgos de no completar el Sprint a tiempo.
Anexos de Scrum
Anexos de Scrum