¿Cuántas veces te habrás preguntado qué y cómo preguntar durante la retro? ¿Debo preparme mental y físicamente .)? ¿Debo hasta priorizar las preguntas que tengo interés en formular? ¿Debería hacer un ejercicio previo con mis compañeros para revisar lo bueno y lo no tan bueno que sucedió a nivel técnico y no técnico durante el Sprint que finalizó? ¿Cómo abordar esos temas que son muy delicados teniendo en cuenta que debo ir al problema y no a la persona? ¿Cómo manejo en lo personal, la situación cuando no entiende el equipo mi comentario y/o sugerencia de mejora? ¿Qué pasa si mi propuesta no se acuerda aplicar en el próximo Sprint? ¿Cómo me hace sentir? ¿Me «tirará para atrás»? y lo peor…¿Qué sucede -en lo personal- cuando esa misma propuesta formulada en el Sprint pasado, queda postergada para el siguiente porque se acuerdan manejar otras prioridades?
Las Retrospectivas sabemos que es una práctica esencial en el desarrollo ágil de software y una oportunidad para que junto a nuestro equipo de desarrollo, nos podemos reunir (presencial o de manera remota) y reflexione sobre el trabajo realizado durante el Sprint. Dependiendo de la experiencia que tengan los miembros será tan estructurada como el equipo de desarrollo desee y se ponga de acuerdo, hasta incluso hacerlo totalmente descontracturada sin perder de vista el objetivo final de este tipo de ceremonia para la salud tanto del equipo como del producto:
- Identificar áreas a mejorar.
- Elaborar entre todos un plan de acción.
- Establecer y acordar prioridades.
- Establecer y acordar responsables que se ocupen de seguir la aplicación de la mejora acordada.
La dinámica que tenga el equipo de desarrollo posibilitará mejorar su eficiencia y su capacidad para generar incrementos de calidad.
Las siguientes, son algunas de las preguntas a modo de ejemplo que probablemente se dan y que has tenido la oportunidad de formularlas:
- ¿Hubo suficiente colaboración entre los testers y los desarrolladores durante el sprint? Esta pregunta busca evaluar la comunicación y la interacción entre ambos roles, identificando si se logró una colaboración efectiva y si se compartió el conocimiento necesario para realizar las pruebas de manera adecuada.
- ¿Se detectaron y resolvieron los defectos a tiempo? Esta pregunta busca analizar la eficacia del proceso de detección y solución de defectos durante el sprint. Los testers pueden plantear si se identificaron los problemas a tiempo, si se les dio prioridad y si se tomaron las medidas necesarias para resolverlos de manera oportuna.
- ¿Se cumplieron los criterios de aceptación de las historias de usuario? Los testers pueden preguntar si las pruebas realizadas fueron suficientes para garantizar que las historias de usuario cumplían con los criterios de aceptación definidos. También pueden plantear si se tuvo en cuenta la retroalimentación del Product Owner y si se realizaron ajustes en función de ella.
- ¿Hubo suficiente tiempo y recursos para realizar pruebas exhaustivas? Esta pregunta busca evaluar si se asignaron los recursos adecuados para llevar a cabo las pruebas de manera efectiva. Los testers pueden plantear si se les proporcionó el tiempo necesario para realizar pruebas exhaustivas, si se tuvo en cuenta la complejidad de las funcionalidades y si se consideraron los casos de prueba relevantes.
- ¿Se logró el nivel de automatización deseado durante el sprint? Esta pregunta busca evaluar si se alcanzó el objetivo de automatización establecido para el sprint en términos de cobertura de pruebas automatizadas. Los testers pueden preguntar si se logró automatizar las pruebas planificadas y si se implementaron nuevos casos de prueba automatizados.
- ¿La automatización de pruebas ayudó a aumentar la eficiencia y la efectividad de las pruebas? Aquí, los testers pueden indagar si la automatización de pruebas contribuyó a realizar pruebas de manera más eficiente y si se logró una detección temprana de posibles problemas o defectos. También pueden plantear si se obtuvieron resultados más precisos y consistentes a través de la automatización.
- ¿Se utilizaron las herramientas y los frameworks de automatización de pruebas de manera adecuada? Esta pregunta busca evaluar si se seleccionaron y utilizaron las herramientas y los frameworks de automatización de pruebas correctos para las necesidades del proyecto. Los testers pueden cuestionar si se aprovecharon al máximo las capacidades de las herramientas, si se implementaron buenas prácticas de automatización y si se estableció una estructura de pruebas automatizadas eficiente.
- ¿Se identificaron oportunidades de mejora en la automatización de pruebas? Los testers pueden plantear esta pregunta para analizar si se detectaron posibles mejoras en los procesos de automatización de pruebas. Pueden preguntar si se encontraron obstáculos o desafíos durante la automatización y si se identificaron áreas que podrían optimizarse en términos de mantenibilidad, reutilización y velocidad de ejecución de las pruebas automatizadas.
- ¿Se gestionaron de manera efectiva los defectos y bugs detectados durante el sprint? Esta pregunta busca evaluar la eficacia del proceso de gestión de defectos y bugs. Los testers pueden indagar si se registraron y priorizaron adecuadamente los problemas reportados por el área de negocio, si se les asignaron los recursos necesarios para su resolución y si se dio seguimiento a su estado hasta su completa solución.
- ¿Se comunicaron de manera oportuna y clara los defectos y bugs a los miembros del equipo? Aquí, los testers pueden analizar si se estableció una comunicación fluida y efectiva para informar a los miembros del equipo sobre los defectos y bugs detectados. Pueden preguntar si se proporcionó la información necesaria para reproducir y comprender los problemas reportados, y si se notificó de manera temprana cualquier impacto significativo en el sprint.
- ¿Se realizó un análisis de causa raíz de los defectos y bugs identificados? Esta pregunta busca evaluar si se llevaron a cabo investigaciones exhaustivas para comprender las causas subyacentes de los defectos y bugs reportados. Los testers pueden cuestionar si se realizaron pruebas de investigación adecuadas, como análisis de registros, depuración del código y revisión del diseño, para identificar las causas fundamentales y prevenir su recurrencia.
- ¿Se implementaron medidas preventivas para evitar la aparición de defectos similares en el futuro? Los testers pueden plantear esta pregunta para evaluar si se tomaron acciones concretas para evitar la repetición de los defectos y bugs detectados. Pueden preguntar si se implementaron mejoras en los procesos de desarrollo, en las prácticas de testing y en la colaboración con el área de negocio, con el objetivo de reducir la aparición de problemas similares en futuros sprints.
- ¿Se asignaron suficientes recursos y tiempo para realizar pruebas de seguridad adecuadas? Los testers pueden cuestionar si se les proporcionó el tiempo y los recursos necesarios para llevar a cabo pruebas exhaustivas de seguridad, como análisis de vulnerabilidades, pruebas de penetración y pruebas de autenticación/autorización.
- ¿Se identificaron y abordaron adecuadamente las vulnerabilidades encontradas durante el sprint? Aquí, los testers pueden analizar si se les dio seguimiento a las vulnerabilidades identificadas y si se tomaron acciones correctivas oportunas para solucionarlas. Pueden preguntar si se estableció un proceso claro para reportar y solucionar las vulnerabilidades detectadas.
- ¿Se incorporaron medidas de seguridad desde el inicio del desarrollo? Esta pregunta busca evaluar si se tuvieron en cuenta los aspectos de seguridad desde las etapas iniciales del proyecto. Los testers pueden indagar si se realizaron revisiones de diseño y código con un enfoque en la seguridad, si se implementaron controles de seguridad adecuados y si se adoptaron prácticas seguras de codificación.
- ¿Se realizaron pruebas de seguridad en diferentes capas de la aplicación? Los testers pueden plantear esta pregunta para asegurarse de que se llevaron a cabo pruebas de seguridad en todas las capas de la aplicación, incluyendo la capa de presentación, la capa de lógica de negocio y la capa de almacenamiento de datos. Pueden preguntar si se utilizaron herramientas y técnicas adecuadas para identificar posibles vulnerabilidades en cada una de estas capas.
- ¿Se brindó suficiente oportunidad y tiempo para aprender y familiarizarse con las nuevas tecnologías y herramientas relevantes para el testing? Los testers pueden evaluar si se les permitió dedicar tiempo suficiente para investigar, capacitarse y experimentar con nuevas tecnologías y herramientas que puedan mejorar su eficiencia y efectividad en el proceso de testing.
- ¿Se compartieron conocimientos y experiencias relacionadas con nuevas tecnologías y herramientas entre los miembros del equipo? Aquí, los testers pueden cuestionar si se promueve el intercambio de conocimientos y las buenas prácticas en el uso de nuevas tecnologías y herramientas. Pueden preguntar si se establecieron espacios para presentaciones, demostraciones o discusiones sobre las aplicaciones y beneficios de estas nuevas herramientas.
- ¿Se consideraron las necesidades individuales de formación en relación con las nuevas tecnologías y herramientas? Esta pregunta busca evaluar si se tuvieron en cuenta las necesidades individuales de formación de cada tester en relación con las nuevas tecnologías y herramientas. Los testers pueden indagar si se realizaron evaluaciones de habilidades y se ofrecieron oportunidades de aprendizaje personalizadas para abordar las brechas identificadas.
- ¿Se exploraron y aplicaron activamente nuevas tecnologías y herramientas en el proceso de testing? Los testers pueden plantear esta pregunta para evaluar si se alentó la exploración y la experimentación con nuevas tecnologías y herramientas en el contexto del testing. Pueden preguntar si se llevaron a cabo pruebas piloto o proyectos de investigación para evaluar la viabilidad y los beneficios de las nuevas tecnologías y herramientas en el contexto específico del equipo.
- ¿Se asigna tiempo suficiente para la configuración y preparación de los datos de prueba en la base de datos? Los testers pueden evaluar si se les dio el tiempo adecuado para realizar las tareas relacionadas con la configuración de los datos de prueba en la base de datos, como la creación de registros de prueba, la limpieza de datos existentes o la restauración de bases de datos de prueba.
- ¿Se utilizaron herramientas o scripts automatizados para facilitar la gestión de los datos de prueba en la base de datos? Aquí, los testers pueden indagar si se emplearon herramientas o scripts automatizados que agilizaran el proceso de gestión de los datos de prueba en la base de datos. Pueden preguntar si se exploraron opciones de automatización para crear y mantener conjuntos de datos de prueba de manera eficiente.
- ¿Se establecieron políticas o prácticas para la gestión adecuada de los datos de prueba en la base de datos? Esta pregunta busca evaluar si se establecieron directrices claras y buenas prácticas para el manejo de los datos de prueba en la base de datos. Los testers pueden preguntar si se definieron reglas de nomenclatura, estándares de calidad de datos o procesos de limpieza periódicos para garantizar la eficiencia en la gestión de los datos de prueba.
- ¿Se identificaron oportunidades de mejora en la gestión de los datos de prueba en la base de datos? Los testers pueden plantear esta pregunta para evaluar si se fomentó la identificación proactiva de oportunidades de mejora en la gestión de los datos de prueba en la base de datos. Pueden indagar si se realizaron revisiones periódicas para identificar cuellos de botella, ineficiencias o procesos redundantes, y si se tomaron medidas para abordarlos.
- ¿Se comunicaron claramente las limitaciones que me impidieron participar en la estimación del esfuerzo de prueba durante la sprint planning? Aquí, el tester puede indagar si pudo comunicar de manera efectiva las razones por las cuales no pudo participar en la estimación del esfuerzo de prueba. Pueden preguntar si se comprendieron y se tuvieron en cuenta estas limitaciones al asignar el tiempo para realizar las pruebas.
- ¿Se pudo evaluar y ajustar de manera adecuada la carga de trabajo asignada para el equipo de pruebas? El tester puede plantear esta pregunta para evaluar si, a pesar de no haber participado en la estimación, se tuvo en cuenta su capacidad y disponibilidad para realizar las pruebas. Pueden preguntar si se hizo un esfuerzo por asignar una carga de trabajo razonable y realista, considerando las limitaciones comunicadas previamente.
- ¿Se generaron impactos o retrasos en la ejecución de las pruebas debido a la falta de participación en la estimación? Aquí, el tester puede indagar si la imposibilidad de participar en la estimación del esfuerzo de prueba tuvo algún impacto negativo en la planificación y ejecución de las pruebas. Pueden preguntar si se produjeron retrasos o si se tuvo que ajustar la planificación debido a la asignación de un tiempo insuficiente para realizar las pruebas adecuadamente.
- ¿Se encontraron oportunidades de mejora para futuras planificaciones en relación con la estimación del esfuerzo de prueba? El tester puede plantear esta pregunta para evaluar si se discutió y se identificaron oportunidades de mejora en relación con la participación en la estimación del esfuerzo de prueba en el futuro. Pueden preguntar si se tomaron medidas para facilitar su participación en la próxima sprint planning y si se buscaron soluciones para evitar la asignación de tiempos poco realistas.
- ¿Cómo podemos mejorar la comunicación con los desarrolladores para abordar de manera más efectiva los problemas y desafíos que surgen durante el proceso de desarrollo y pruebas? Aquí, el tester puede buscar formas de mejorar la comunicación con los desarrolladores, ya sea a través de reuniones regulares, herramientas de colaboración o cualquier otro medio que facilite una comunicación más fluida.
- ¿Qué obstáculos o barreras existen actualmente en la comunicación entre el equipo de pruebas y los desarrolladores? El tester puede plantear esta pregunta para identificar los desafíos específicos que están afectando la comunicación entre ambos equipos. Pueden preguntar si hay problemas de disponibilidad, diferencias en la comprensión de requisitos o cualquier otro factor que esté dificultando la colaboración.
- ¿Qué estrategias podemos implementar para resolver los conflictos que surgen entre el equipo de pruebas y los desarrolladores de manera efectiva y constructiva? Aquí, el tester puede buscar soluciones prácticas para abordar los conflictos y desacuerdos que surgen durante el proceso de desarrollo y pruebas. Pueden preguntar si se pueden establecer mecanismos de resolución de conflictos, como reuniones de retroalimentación, mediación o cualquier otro enfoque que facilite una comunicación más armoniosa.
- ¿Qué acciones específicas podemos tomar para fomentar una mejor colaboración y comprensión mutua entre el equipo de pruebas y los desarrolladores? El tester puede plantear esta pregunta para buscar formas de promover una colaboración más efectiva y una comprensión compartida entre ambos equipos. Pueden preguntar si se pueden organizar sesiones de capacitación cruzada, compartir documentación o establecer prácticas de trabajo conjunto que mejoren la comunicación y la relación entre los equipos.
- ¿Qué factores contribuyeron a la falta de tiempo para ejecutar las pruebas planificadas durante el sprint? El tester puede indagar acerca de los motivos específicos que llevaron a la falta de tiempo, como cambios de alcance, retrasos en el desarrollo o cualquier otro factor que haya impactado en la ejecución de las pruebas.
- ¿Cómo podemos mejorar la planificación de las pruebas para asegurarnos de asignar suficiente tiempo y recursos para su ejecución? Aquí, el tester puede buscar formas de optimizar el proceso de planificación de pruebas, considerando una mejor estimación del tiempo requerido, identificando posibles riesgos y estableciendo prioridades claras.
- ¿Existen actividades o tareas no esenciales que podríamos eliminar o reducir para liberar más tiempo para las pruebas? El tester puede plantear esta pregunta para explorar posibles áreas donde se pueda optimizar el tiempo, eliminando actividades que no agregan valor o reduciendo el esfuerzo en tareas menos críticas.
- ¿Qué prácticas o técnicas podemos implementar para maximizar la eficiencia en la ejecución de pruebas en futuros sprints? Aquí, el tester puede buscar soluciones prácticas para mejorar la eficiencia en la ejecución de pruebas, como la automatización de pruebas, la reutilización de casos de prueba, el uso de herramientas de gestión de pruebas, entre otros enfoques.
- ¿Qué acciones podemos tomar para comunicar de manera efectiva las limitaciones de tiempo y los posibles impactos en la calidad del software al equipo y a los stakeholders? El tester puede plantear esta pregunta para abordar la comunicación de los desafíos relacionados con el tiempo y su impacto en la calidad del producto final, buscando establecer una comprensión compartida y buscar posibles soluciones o mitigaciones.
Para tu conocimiento, he publicado el mismo contenido en LinkedIn para que puedas dejar un comentario en el artículo y si tienes alguna experiencia y/o pregunta y/o comentario que hayas hecho en tus retros para compartir, será muy bien recibido.
Te dejo el enlace a mi perfil público en LinkedIn para que me encuentres y te llegues a mi artículo.
Muchas gracias.