Lo que espera QA de los desarrolladores
Continuando con mi anterior entrada sobre lo que espera el equipo de desarrollo de QA, hoy vamos a hablar de la otra cara de la moneda, esto es lo que yo espero del equipo de desarrollo o de un desarrollador en una compañía o en un proyecto.
Los desarrolladores son los artifices de los proyectos y tienen que hacer el trabajo pesado, deben crear cosas, deben convertir lo que el cliente escribió en requerimientos en piezas de software reales que el cliente pueda usar, habiendo dicho esto, yo espero que equipo de desarrollo entregue con la mayor calidad posible a QA, lo que espero de desarrollo no es solo que pasen el requerimiento a pruebas de QA, sino que lean los requerimientos, los prueben (que hagan pruebas unitarias es obligatorio), que por lo menos se aseguren que los criterios de aceptación o el camino feliz del requerimiento se cumpla antes de entregar a QA, esto ayuda a evitar que los requerimientos o historias de usuario se devuelvan al equipo de desarrollo y evitar que QA reporte muchos bugs que el desarrollador pudo haber visto y arreglado mucho más rápido antes de que llegaran a QA. Esto aplica también para los bugs reportados por QA, el desarrollador debe probar el bug y asegurarse de que sí se arregló lo que estaba mal y que dicho arreglo no afectó otras áreas del sistema, en términos de pruebas móviles o bugs en múltiples navegadores, los desarrolladores no deben confiar ciegamente en los simuladores o extensiones de navegadores (plugins), sino probar en navegadores y dispositivos móviles reales, yo sé que hay muchas herramientas para simular navegadores o dispositivos móviles, pero me ha pasado antes que lo que muestran es diferente a lo que muestra el dispositivo o el navegador real.
Junto con el parrafo anterior, yo espero de un desarrollador que siempre esté retándose a si mismo, a medida que avanza el proyecto el desarrollador tambien debe avanzar en conocimientos técnicos, los desarrolladores deben estar en constante aprendizaje y estar dispuestos a aprender más cada día, con cada entrega se debe mejorar la calidad, es decir deben haber menos bugs y menos problemas y a la vez las entregas deben ser más rápidas, esto demuestra que los desarrolladores crecieron en conocimiento y habilidades y que la calidad con la que se entregará al cliente será cada vez mejor, no espero que un desarrollador haga lo que debe hacer, espero que vaya más allá.
Ahora bien, si el equipo de desarrollo espera gran comunicación por parte de QA, QA también espera lo mismo del equipo de desarrollo, realmente espero que un desarrollador comunique riesgos, retos técnicos, arreglos, mejoras y el trabajo hecho. Por supuesto, también espero una muy buena actitud y disposición y una gran comunicación con el dueño del producto (PO) y el QA. Si en algún momento hay dudas sobre requerimientos o ambigüedades, el desarrollador no debe esperar a que el requerimiento llegue a QA, sino que debe ser proactivo y hablar con el dueño del producto o el encargado de los requerimientos de software para resolver la duda antes de implementar un desarrollo. Esta comunicación de la que hablo no es solo verbal sino también escrita y con esto también traigo a colación que los desarrolladores deben actualizar las historias de usuario o requerimientos de acuerdo al estado en el que realmente se encuentren sin importar si se usa Jira o Kanban o cualquier otra herramienta de trabajo y no esperar a que QA lo haga, esto da una correcta visibilidad del estado del proyecto tanto al equipo como al cliente.
Finalmente, espero de un desarrollador trabajar de la mano con QA, no es ver a QA como un ente aislado al final del ciclo de vida del proyecto, sino ver a QA como parte del equipo de desarrollo e involucrarlo en él, QA debe ser, a los ojos del desarrollador, una persona que puede colaborar, si se necesita, en mejores prácticas y procesos y por supuesto en pruebas y una persona que está ahí para ayudar, no solo para reportar bugs y señalar errores cometidos por un desarrollador. Adicionalmente, espero que el equipo de desarrollo colabore con temas de pruebas de carga, seguridad y automatización, hacerlas si el QA no tiene las habilidades o ayudarlo en temas de estándares de codificación y guía (hablando de automatización), como por ejemplo agregar identificadores únicos a los elementos del sistema como campos y botones y ayudarle al QA si tiene dudas. QA y el equipo de desarrollo no son enemigos mortales y este es un mito que debemos acabar, los dos son y deben ser compañeros que caminan al lado y le apuntan a una meta común, y esa meta es la de entregar con la mayor calidad posible y en el tiempo esperado a un cliente que al final estará satisfecho.
No habrán entradas en las siguientes dos semanas por motivos personales pero volveré el 5 de Diciembre con un nuevo tema.
@LuchoAgileQA
Comentarios
Publicar un comentario