Video Summary and Transcription
QAOps se refiere a mantener la calidad del software con una mentalidad DevOps, enfatizando la colaboración y la integración y entrega continuas. Los principios de QAOps incluyen pruebas de cambio a la izquierda, pruebas continuas y responsabilidad compartida por la calidad del software. Implementar QAOps implica automatizar tareas, promover la colaboración y seleccionar las herramientas adecuadas. Los desafíos en la adopción de QAOps incluyen el cambio cultural y las brechas de habilidades, pero los beneficios incluyen una mayor calidad del software y ahorro de costos. Establecer una mentalidad de calidad requiere educación y apoyo de liderazgo. QAOps es un marco que requiere una combinación de habilidades DevOps, habilidades blandas y experiencia técnica.
1. Introducción a QAOPS
QAOPS se refiere a mantener la calidad del software abordándolo con una mentalidad DevOps. La colaboración entre los equipos de desarrollo y operaciones es crucial en este enfoque inclusivo. La columna vertebral de DevOps es la integración continua y la entrega continua.
Gracias a Dios tengo un micrófono, porque un dato curioso sobre mí, hablo muy despacio, así que los micrófonos son lo mejor que sucede después del marco de QAOPS.
Diapositiva. Bien. Genial. Entonces, soy Marcella. Soy gerente de ingeniería y acabo de cumplir 14 años en outsourcing. Soy mucho mayor que eso. Toda mi experiencia es en outsourcing. Mi formación es en aseguramiento de la calidad, y esta presentación no es sobre mí, obviamente. Es sobre QAOPS.
Por favor, levante la mano si ha oído hablar antes de QAOPS. Vale. Y sobre QA, esa fue mi segunda broma. Gracias. Tengo bromas tan buenas que necesito mencionarlas. Así que, estoy realmente feliz de no estar obligada a comenzar esta presentación mostrando el valor de QA, porque, créanlo o no, todavía hay clientes allá afuera que necesitan mostrar el valor de QA. Necesitan una presentación sobre QA y cuál es su valor y cosas así. Así que, estoy muy feliz de no empezar con esto hoy.
Entonces, vamos a comenzar con la definición de QAOPS. Se refiere a mantener la calidad del software abordándolo con una mentalidad DevOps. Sobre esta mentalidad DevOps, vamos a hablar hoy, porque esta es realmente la clave de todo, este enfoque en DevOps. Para el desarrollo de aplicaciones, en realidad, la clave aquí es sobre la colaboración, ¿verdad? Los equipos de desarrollo y operaciones están trabajando en completa sinergia, ¿verdad? Entonces, DevOps, es más como un enfoque inclusivo. La columna vertebral del enfoque DevOps es en realidad el CICD, que no voy a explicar cómo funciona. Tengo aquí, creo, una imagen característica de cómo funciona, pero generalmente cuando construyes una aplicación y lanzas su primera versión, después del lanzamiento inicial, puedes pensar que algunas, o quizás muchas cosas podrían haberse hecho mejor, ¿verdad?
Entonces, comienzas a trabajar en la implementación de cambios. Comienzas a trabajar en hacer muchas mejoras. La integración continua es en realidad la práctica de integrar todo, estos nuevos cambios en la rama principal, ¿verdad? Entonces, después de integrar estos a la nueva rama, comenzarás a automatizar, comenzarás a automatizar para que puedas verificar la funcionalidad. Después de eso, no tienes que esperar a la nueva fecha de lanzamiento para fusionar esos cambios. Puedes hacer eso muy, muy rápidamente. Puedes actualizarlos a través de este proceso. La entrega continua es en realidad el siguiente paso después de la integración continua, después de la integración continua.
2. Principios y Mejores Prácticas de QAOps
QAOps se centra en garantizar la calidad del software, abogando por el testing shift left, la colaboración y la comunicación, el testing continuo y el monitoreo continuo. Enfatiza una cultura de calidad y la responsabilidad compartida por la calidad del software entre todos los miembros del equipo. Prueba temprano y a menudo, automatiza selectivamente.
Y se trata de hacer que todos los cambios estén disponibles para los clientes, aumentando de esta manera la satisfacción del cliente. Quizás algunos de ustedes piensen que este QAOps es solo otra palabra de moda y no tiene sentido. ¿Por qué es eso? Todavía es DevOps, pero es solo otra palabra reinventada. Así que, resalté aquí lo que creo que es lo más importante en términos de comparar esos términos.
Entonces, en DevOps, el enfoque es más en desplegar software rápidamente. Así que, esto es rápido, mientras que en QAOps el enfoque es más en garantizar la calidad del software. Aquí tenemos algunos conceptos. Primero, shift left testing. QAOps aboga por este llamado shift left testing, lo que significa que necesitas comenzar a testing lo más pronto posible, tan temprano en las etapas. ¿Por qué es eso? Porque todos sabemos que tener testing temprano en el proceso de desarrollo reducirá el costo de arreglar los bugs después de lanzar la aplicación. Colaboración y comunicación. Además, QAOps es un gran defensor de la colaboración y la comunicación, fomentando la responsabilidad compartida. Este es también un concepto clave, la responsabilidad compartida entre los equipos. Y esto también aumenta la detección de problemas realmente temprano en el proceso. Testing continuo. Como mencioné antes, esto se hace a través del pipeline de CI-CD. La automatización es en realidad el núcleo del enfoque QAOps. Y el monitoreo continuo. Esto se refiere a monitorear la aplicación en producción. Y de esta manera, encontrarás problemas de rendimiento o incluso problemas relacionados con la experiencia del usuario en tiempo real.
Hablemos un poco sobre los principios y las mejores prácticas. Entonces, cultura de calidad. Esto es realmente importante. Necesitas establecer una cultura de calidad. Y de nuevo, como mencioné antes, responsabilidad compartida por la calidad del software entre todos los miembros del equipo. Así que la calidad no es solo sobre los ingenieros de QA. Creo que es una responsabilidad compartida. Prueba temprano y prueba a menudo, como dije, como mencioné antes. Comienza a testing lo más pronto posible en el proceso de desarrollo. Automatiza todo, pero no automatices todo.
3. Pasos de Implementación y Desafíos
Enfócate en automatizar tareas repetitivas, promover la colaboración interfuncional y fomentar la retroalimentación y mejora continua. Startups como TimeWorks son adoptantes tempranos de QAOps, integrando todo lo que hacen y fomentando la colaboración con su comunidad. Seleccionar las herramientas adecuadas e integrarlas con las pipelines de DevOps son pasos clave de implementación. Definir una estrategia de automatización de pruebas y garantizar una correcta gestión de los datos de prueba también son importantes.
Todo lo que sea posible. Así que enfócate en automatizar tareas repetitivas, incluyendo pruebas, creación de riesgos, ejecución e informes.
Ciclo de retroalimentación continua. Necesitas promover la colaboración interfuncional para aprovechar las habilidades de todos los miembros del equipo para, obviamente, mejorar la calidad. Pruebas interfuncionales. Equipos de pruebas. Fomenta retroalimentaciones continuas y mejora de la retroalimentación, comunicación y retrospectiva. Estoy bastante seguro de que hay muchos de nosotros a los que no les gusta la retrospectiva, pero créeme, son realmente importantes.
Creo, que es mi creencia personal, que los mejores candidatos para tener o para implementar este enfoque de QAOps son las startups. Y quiero aprovechar la oportunidad y mencionar una startup rumana, que se llama TimeWorks, y su misión es construir la plataforma líder de procesamiento de datos para hacer que tu tiempo trabaje para ti. Porque el tiempo es dinero, ¿verdad? ¿Por qué son adoptantes tempranos? Bueno, su objetivo principal es obviamente su producto, pero la calidad de su producto. Así que son adoptantes tempranos de este enfoque de QAOps fomentando una buena colaboración entre sus equipos. Comenzaron a integrar todo lo que hacen, continuando con... comenzando con tareas repetitivas, continuando con los tipos de pruebas que están haciendo, como pruebas unitarias, pruebas de integración, y así sucesivamente. Y luego están fomentando una buena colaboración entre ellos y su pequeña comunidad que están construyendo. Así que están prestando mucha más atención a lo que necesitan los clientes, las necesidades de sus usuarios, y así sucesivamente. Bueno.
Hablando de los pasos de implementación, puedo decirte que no son... esto no es fácil. Así que es como en la vida, necesitas las herramientas adecuadas y realmente necesitas el peso adecuado, ¿verdad? Así que seleccionar las herramientas adecuadas, esto puede ser bastante desafiante porque puedes pensar que es mejor tener para QA... desde una perspectiva de QA, solo tener un marco de automatización que sea útil para la interfaz de usuario y otro para las pruebas de back-end. Pero en realidad, puedes tener que pensar que duplicarás tu trabajo en términos de mantenimiento. Así que siempre teniendo en mente, ¿cuál es el objetivo? El objetivo es el producto y su calidad. A continuación, integrando con las pipelines de DevOps. Esto se trata de la integración de la automatización en la pipeline de CI-CD. Esto asegurará pruebas continuas y retroalimentación más rápida. Definiendo la estrategia de automatización de pruebas. También es importante tener una buena estrategia de automatización de pruebas para ordenar los tipos de pruebas que necesitas hacer para tu producto. Gestión de datos de prueba. Necesitas asegurarte de que tienes una correcta gestión de los datos de prueba para crear de esta manera escenarios de pruebas realistas y obviamente para evitar problemas relacionados con los datos.
4. Desafíos y Beneficios de QAOps
El monitoreo y reporte continuo, el cambio cultural, la integración de herramientas y las brechas de habilidades son algunos de los desafíos en la adopción de QAOps. Sin embargo, aceptar estos desafíos trae beneficios como la reducción del tiempo de migración, mayor calidad del software, colaboración y comunicación, ahorro de costos y mejora continua. QAOps es un movimiento estratégico hacia la entrega rápida y de alta calidad del software, aprovechando la IA y el aprendizaje automático para la generación inteligente de casos de prueba y monitoreo avanzado. Los insights impulsados por IA optimizarán el esfuerzo de prueba.
Y monitoreo y reporte continuo. Esto también es para rastrear el performance e identificar problemas de calidad. Hay muchos desafíos, pero aquí solo resalté algunos de ellos, que creo que son los más importantes.
Cambio cultural. Creo que fomentar una cultura de colaboración puede ser desafiante. Esto no solo es un desafío para las empresas más grandes, sino también para las startups o para las empresas más pequeñas.
Integración de herramientas. Puedes querer integrar todo, pero puedes pensar que esto requerirá esfuerzo y experiencia y puede que no la tengas. Así que este es un gran desafío.
Y por último, pero no menos importante, las brechas de habilidades. Esto se trata de formación, formación y, de nuevo, formación. Si se aceptan los desafíos, entonces QAOps también tiene algunos beneficios. El primero de esta lista de beneficios es reducir el tiempo para migrar, que creo que es realmente, realmente importante. Mayor calidad del software. Colaboración y comunicación. Creo que mencioné esto mucho en mi presentación, pero esto también puede fomentar un ambiente de trabajo positivo. Sé que nosotros, como desarrolladores y tal vez como ingenieros en general, no nos gusta colaborar más. Solo queremos encerrarnos en una habitación y crear nuestro propio código y eso es todo. Pero esto no se trata de tener muchas reuniones. Se trata de procesos y de una mejor colaboración. Ahorro de costos. La detección temprana de defectos y la automation pueden reducir los costos de reparación del defecto y la mejora continua. Esto lleva a la mejora continua en procesos y productos. Solo para concluir, el cambio a QAOps no es solo un cambio de metodología. Es más bien un movimiento estratégico para desbloquear la entrega rápida y de alta calidad del software. Creo que QAOps aprovechará la IA y el machine learning para la generación inteligente de casos de prueba, el monitoreo advanced y así sucesivamente. Creo que esto llevará a algún tipo de directrices en términos de procesos de desarrollo de software y que los insights impulsados por IA ayudarán a los equipos a tomar decisiones informadas y, lo que es más importante, a optimizar el esfuerzo de testing. Bueno. Gracias. Solo nos quedan unos minutos, así que voy a empezar.
5. Estableciendo una Mentalidad de Calidad
Para establecer una mentalidad de calidad en la organización, es crucial educar a las personas y a los miembros del equipo. Esto puede ser un desafío al unirse a un equipo existente, ya que requiere cambiar mentalidades y procesos. Sin embargo, comenzar desde cero con tu propio equipo puede facilitarlo. Invertir en formación es esencial, y contar con el apoyo del liderazgo es beneficioso. No se recomienda forzar la formación a individuos que no estén dispuestos a participar.
La primera pregunta es, ¿cuáles son los trucos o tienes... ¿Podría hacer que las preguntas aparezcan aquí? Gracias. ¿Cuáles son los trucos o tips para establecer una mentalidad de calidad en la organización, no solo entre los QA? Sí, esta es una muy buena pregunta. Cuando se trata de mentalidad, todo se trata de educar a las personas. Como mencioné antes, toda mi experiencia está en la externalización, y hay tres tipos de clientes. Uno, el cliente que quiere una aplicación desde cero y que no te obliga a usar ninguna herramienta, por lo que tienes total autonomía para elegir las herramientas adecuadas. Segundo, comenzar una aplicación desde cero, pero te obligan a usar sus herramientas, digamos, te obligan a usar un marco de automation solo por razones. Y el tercer tipo de clientes son los que ya tienen una aplicación en marcha, y necesitan externalizar recursos y ayudarles con el proceso. Es muy difícil para esos tres tipos de clientes, porque si ya entraste en un equipo existente, tendrás que cambiar toda la mentalidad, todos los procesos y todo. Si estás comenzando desde cero con tu propio equipo, será mucho más fácil, pero si estás comenzando desde cero con su equipo, también será un desafío. Entonces, solo para concluir aquí, todo se trata de educar a las personas y a los miembros del equipo. Y esto lleva tiempo. Necesitas invertir. Formación, formación. Así que es genial si tienes un liderazgo que apoya la necesidad de esa formación. ¿Tienes algún tip para cuando no necesariamente tienes ese apoyo, pero para que esta disciplina tenga éxito, necesitas poder llevar a cabo esta formación, esta educación? No creo que necesites forzar nada. Puedes empezar. Y si no quieren, no creo que forzar a las personas a hacer formación o lo que sea, creo que es bueno. No es la mejor práctica. Gracias.
6. Marco de Trabajo de QA Ops y Habilidades Requeridas
QA Ops no es un nuevo rol, sino más bien un marco de trabajo. Implica entender el proceso de integración CICD, conocer el producto y participar en actividades como grooming y planificación. Las habilidades de automatización son beneficiosas pero no necesarias. Las habilidades de comunicación y el conocimiento de la industria son importantes. En general, QA Ops requiere una combinación de habilidades de DevOps, habilidades blandas y experiencia técnica.
Entonces, la siguiente pregunta que tenemos, wow, tenemos tantas preguntas entrando. Esto es maravilloso. Gracias a todos. Entonces, la siguiente pregunta más votada es esta.
Entonces, ¿QA Ops sería un nuevo rol? Creo que esta es más una pregunta de tipo inquisitivo. Entonces, ¿QA Ops sería un nuevo rol en los equipos de desarrollo, o es solo el nombre para una participación más activa de QA en el proceso de desarrollo? Esa es de nuevo una muy buena pregunta. Dato curioso, he visto en LinkedIn que hay muchos nuevos títulos de trabajo como DevOps QA o Release Manager, y su descripción era todo sobre este marco de trabajo de QA Ops. Entonces, necesitaban más como un ingeniero DevOps para hacer también algún trabajo de aseguramiento de calidad en un entorno de gestión de lanzamientos. Esto no es realmente un rol. QA Ops, es solo un marco de trabajo. Y creo que nunca se pretendió que fuera un rol, pero las empresas debido a esta tendencia de moda, lo usan para funciones, roles elegantes. Las tendencias de moda siendo el término técnico, por supuesto. Sí, sí, sí, sí.
Entonces, esta es una pregunta algo adyacente a esa. Entonces, a primera vista, parece que QA Ops está involucrado en todo el proceso de entrega. Entonces, ¿eso significa que tiene que ser un todoterreno? ¿Cuáles son las habilidades específicas requeridas para ser un practicante de QA Ops? Creo que el rol de QA ha llegado a una evolución. Cuando comencé en 2009, comencé como QA manual, y solo estaba haciendo trabajo manual. Luego hice la transición a la automatización, y luego al liderazgo y la gestión. Creo que ese tipo de trabajo de control de calidad que solíamos hacer en aquellos días, esto no es lo que significa QA hoy. Entonces, en términos de habilidades, creo que no necesariamente tienes que saber de automatización para trabajar en un enfoque de QA Ops, pero sería bueno tenerlo. Pero no creo que sea necesario. Puedes contratar a personas que sepan de automatización si tienes recursos y dinero. Pero necesitas entender todo el proceso de integración CICD, y necesitas conocer el producto. Este enfoque se trata de conocer el producto y cómo acelerar el desarrollo. Entonces necesitas estar involucrado en todas esas, digamos, actividades en las que no queremos estar involucrados, como grooming, planificación, y he visto muchos equipos y muchas personas que decían que QA no tiene nada que ver con el desarrollo, planificación y grooming y así sucesivamente, pero esto es realmente importante. Entonces, solo para concluir, porque estoy hablando mucho y no voy a cada punto, creo que necesitas tener algunas habilidades de DevOps, pero no solo. Necesitas tener también habilidades de comunicación, o habilidades blandas, y también conocer la industria en la que trabajas, el producto. Esto es realmente importante. En orden, okay, para la parte técnica, obviamente también necesitas saber de automatización. Sí, suena un poco más como un todoterreno.
7. IA en Pruebas y Necesidades de Formación
DevOps más un conjunto adicional de habilidades. ¿Estás utilizando IA para actividades de pruebas? Mi equipo y yo estamos trabajando en una nueva plataforma de pruebas con IA. Creemos que es el mejor enfoque debido a las diferentes necesidades del cliente. GPTA y Copilot son útiles pero no pueden reemplazar a los humanos. Las necesidades de formación dependen del producto y del enfoque del desarrollo.
Quiero decir, obviamente, olvida por un momento el ser maestro de nada. Sí, suena como, como dices, DevOps más un conjunto adicional de habilidades. Sí. Interesante.
La siguiente es una pregunta que creo que nunca íbamos a evitar porque parece ser el tema de cada conferencia tecnológica en este momento actual. ¿Estás utilizando IA para alguna de tus actividades de testing? Si es así, ¿cómo? Si no, ¿por qué no? Eso también sería interesante.
Mi equipo y yo estamos trabajando en una nueva plataforma, una plataforma de IA para testing. Hay muchas de ellas en el mercado. Puedes generar casos de prueba. Puedes registrar problemas automáticamente. Puedes integrar herramientas de gestión de pruebas con pipelines de CI, CD y demás. Pero nuestro objetivo es tener una plataforma de testing con IA completamente nueva que pueda ser personalizada para cada necesidad del cliente. Claro. Quizás vengo de otro mundo porque solo trabajo en outsourcing y tal vez en el desarrollo de productos las cosas son diferentes. Pero puedes preguntar por qué estamos haciendo esto desde cero y no utilizando las herramientas que ya están en el mercado. Y digo que los clientes son muy diferentes con diferentes necesidades. Y creemos que esto es lo mejor que podemos hacer. Así que este es un proceso en curso.
También uso GPTA como muchos de ustedes, creo, y Copilot. Pero no creo que esto pueda reemplazar a los humanos. Es solo para tener una forma de trabajar más productiva, ayudando. Y eso refleja mucho algunas de las cosas que ya se han dicho hoy. La charla de Olga de antes venía muy a cuento, si estás a distancia, spoilers. Hay elementos de, sí, puede ayudarte a ser más eficiente. No hará el trabajo por ti. O, quiero decir, podría hacer el trabajo por ti y probablemente bastante mal. Así que se trata de aumentar tu práctica, especialmente el trabajo repetitivo y trivial para permitirte ser más eficiente, no eliminar el trabajo por completo.
Tengo otra pregunta. Se ha formulado de varias formas. ¿Qué tipo de formación crees que necesitan las personas? Hablamos de la necesidad de formación y educación, pero más específicamente, ¿tienes alguna sugerencia sobre qué tipo de formación necesitarán los equipos? Bueno, depende del producto y de lo que estés desarrollando.
8. Formación, Preguntas y Respuestas, y Descanso
Depende de los equipos y sus habilidades y de lo que necesiten mejorar. Las formaciones técnicas son importantes, pero también lo son las habilidades de comunicación y la capacidad de intervenir cuando sea necesario. Hay una sección de preguntas y respuestas con el orador disponible para más preguntas. Aplaudamos y tomemos un breve descanso antes de que comience la próxima charla.
Depende de los equipos y sus habilidades y de lo que necesiten mejorar. Quizás tienes un equipo lleno de ingenieros de automation, por lo que solo tienes que trabajar en formarlos en cómo usar Jenkins u otros pipelines de CI, CD. Así que depende del equipo, del producto, depende. Son principalmente formaciones técnicas las que puedes hacer, pero no solo técnicas. También necesitas, como mencioné antes, ser un muy buen comunicador y intervenir cuando sea necesario.
Sí, fascinante. Muchas gracias. Solo un recordatorio, una vez más, tenemos, todavía hay más preguntas y nos hemos quedado sin tiempo para hacerlas aquí en el escenario. Hay una sección de preguntas y respuestas con el orador cerca del frente. Y si estás en línea, puedes acceder a ella desde la línea de tiempo para seguir haciendo más preguntas.
Por favor, únete a mí para dar un gran aplauso. Luego vamos a tomar un breve descanso o la posibilidad de cambiar de sala. Así que unos minutos antes de que comience la próxima charla, pero no escatimemos en el aplauso. Por favor, únete a mí. Gracias.
Comments