Tranformación digital en la organización para mejorar la calidad del software

La manera de hacer software ha cambiado y por tanto también tiene que cambiar el equipo que lo diseña y la organización que lo piensa. Ahora se habla de devops, integración continua, creación del software ágil, pero todo esto no tiene sentido, si no trabajamos los cambios en la organización.

Cuando hablo de cambios en la organización, me refiero a un cambio Cultural buscando un nuevo modelo de trabajo para que las personas que forman la empresa, acepten los cambios, asuman sus objetivos, y entiendan su nueva función. Por lo que es fundamental trabajar una estrategia de Comunicación y Formación, hacer una buena difusión de conocimiento y adoptar buenas prácticas, así como compartir las medidas de avance, reconocimiento y de mejora continua.

+ Leer más

WomanLiderTIC

Me llamó mucho la atención el lema del congreso,#WomanLiderTIC.  “Empoderando las ciudades, empoderamos la ciudadanía”, pero ¿se puede empoderar la ciudadanía sin la presencia de las mujeres en la tecnología? ¿Podemos hablar de ciudades inteligentes prescindicendo de la inteligencia de las mujeres?. Llevo 20 años en el mundo de la tecnología y por mi experiencia, yo contestaría que no. En la era tecnologica, hombres y mujeres hemos ido desarrollando habilidades diferentes, y bajo mi punto de vista no somos iguales. En las últimas décadas, los hombres han desarrollado una especial habilidad para crear tecnología, y son ellos los que han tomado las riendas. El problema es que como los hombres han sido los que han desarrollado este mundo a su manera, ahora a las mujeres nos cuesta posicionarnos y tenemos menos oportunidades y menos peso. Con lo qual si los hombres siguen avanzando, corremos el riesgo de que se cree un mundo cada vez más masculinizado, y cada vez será más difícil, que las mujeres nos posicionemos, por lo que tendrenos cada vez menos oportunidades.  

+ Leer más

50 ideas para mejorar rápido tu Test

Fifty Quick Ideas To Improve Your Tests, by Gojko Adzic

Este libro está dirigido a equipos multidisciplinares de trabajo que quieren trabajar en un entorno de entrega continuo, con historias de usuario, y con testing frecuente sobre todo con la intención de incorporar mejoras continuas en el software que estamos desarrollando.

Este libro ayudará al equipo a dar unos consejos de cómo probar mejor el software, de manera más fácil y más rápida. Muchas de estas ideas aportaran a todo el equipo a mejorar la calidad de lo que se está construyendo.

+ Leer más

Infografía Hacia la calidad del Software con DevOps

DevOps es un cambio cultural; Es una filosofía ágil de colaboración entre todos para mejorar procesos, des de la toma de requisitos hasta la puesta en marcha, todo con el objectivo común de ser más eficientes. Una de les tareas del QA especialista, debería ser implementar prácticas para asegurar el pensamiento crítico y la interrogación y no solo basar-se puramente en la calidad del software. El objetivo de la calidad del software es: calidad del proceso + calidad de las personas/equipo + Calidad del producto.

+ Leer más

Llevando mi carrera a un siguiente nivel…

Leyendo Women in Tech, the Tarah Wheeler, ha sido la inspiración para escribir este post, me he sentido identificada y creo que mi historia podría ser perfectamente un capítulo más de este libro.

¿Por qué estudié informática?. Creo, que lo que me atraía de los ordenadores, era que lo veía como una herramienta para encontrar soluciones a problemas. Me matriculé en Ingeniería informática, en el 1996. Fue una época bonita dónde tuve la suerte de conocer a la que siempre será la trupe de la Uni. Hicimos una gran piña, la gran mayoría éramos chicas que no sabíamos muy bien porqué habíamos escogido la carrera, pero que íbamos aprendiendo y creciendo tecnológicamente hablando.

+ Leer más

Jira para mejorar la gestión de proyectos e incidencias

Fue amor a primera vista y me metí de lleno en sacar lo mejor de él. No quiero decir, que sea la mejor herramienta en el mercado, pero si que es la que conozco a fondo y me gusta, no sólo para la gestión de incidencias y proyectos, si no también para tener un control sobre la estrategia del proyectos y de los objetivos que seguimos. En los últimos proyectos que he colaborado, todos han utilizado Jira, lo que me ha permitido descubrir la herramienta des de diferentes puntos de vista y así sacarle el máximo partido a todas sus ventajas...

+ Leer más

Usa Docker para mejorar tu entorno de pruebas

En el departamento de calidad, debemos tener en cuenta unos conceptos básicos si queremos entender como tratar con Docker en un sistema de Integración contínua. Para empezar, nos hacemos las siguientes preguntas:

¿Que necesitamos para construir un entorno de Integración Continua?:

– Monitorizar el repositorio de código fuente.

– Compilar el producto.

– Pasar los tests automáticos.

– Auditar el código de forma automática.

En un escenario clásico, para cada entorno ( dev, test, uat, prod) tendríamos unas cuantas máquinas virtuales encargadas de hacer todas estas tareas, pero ¿cómo hacer un entorno mucho más ligero, más fácil de escalar y más sencillo de portar?. Con el uso de contendores.

+ Leer más

Agile Testing: A Practical Guide for Testers and Agile Teams 

A Practical Guide for Testers and Agile Teams. Addison-Wesley Signature Series (Cohn))

Mi primera estrategia de Test con Ágile, la definí gracias a este libro. Había recibido un curso de Agile, pero quise saber más de cómo mejorar el test usando Agile.

El libro se sumerge en los principios y prácticas para tener éxito al introducir Testing Agile con el equipo. Explica cómo utilizar modelos como los cuadrantes de prueba Agile para visualizar y planificar con éxito todas las actividades de prueba. Junto con varios colaboradores de equipos de distribución de software de todo el mundo, comparte formas de resolver problemas comunes y tener éxito con la planificación de las pruebas, los test exploratorios, la automatización y el ajuste de todas estas actividades en los diferentes Sprints.

+ Leer más

Herramientas integradas en navegadores para QA

Los navegadores hoy en día tienen herramientas para mejorar la calidad de software.

Aún recuerdo cuando las herramientas que te encontrabas en los navegadores sólo te permitían ver el código fuente. Hoy en día, te permiten hacer muchas más cosas, como ejecutar y depurar fragmentos de JavaScript, monitorear el tráfico de red en tiempo real a medida que tu aplicación o página se carga para identificar cuellos de botella, analizar el rendimiento de CSS y garantizar que su código no utiliza demasiada memoria o demasiados CPU… Desde una perspectiva de pruebas, podemos reproducir cómo una aplicación o página web se representará en diferentes navegadores, así como en diferentes dispositivos y plataformas a través de la magia del diseño de simuladores incorporados.

+ Leer más

Cómo los Webservices encajan en un sistema de integración contínua? 

En un entorno con integración continua, ¿deberíamos refactorizar una arquitecturaa de Web Services a microservicios?.

Una API, es el medio por el cual los terceros pueden escribir código que interactúa con otro código.

Web Services, es una gran aplicación monolítica de Java que se usa para intercambiar datos entre aplicaciones, con una comunicación estándar definida por W3C, y con una interfaz generalmente especificada cómo WSDL, y casi siempre funciona a través de HTTP.

La “arquitectura de Microservicios” es un enfoque para desarrollar una aplicación de software como una serie de pequeños servicios, cada uno ejecutándose de forma autónoma y comunicándose entre sí. Normalmente cada microservicio es pequeño y corresponde a un área de negocio de la aplicación.

+ Leer más

Mejorar la calidad en los requerimientos con BDD, cucumber y Gherkin. 

Aquí, es dónde entra el Test de Aceptación, para expresar lo que se ha entendido y lo importante, es que no se empieza a programar, hasta que el que tiene la idea no los acepta. El Test de Aceptación ayuda al equipo a focalizar esfuerzos y a asegurar que lo que se está entregando no va a tener que volver a tocarse, a no ser que entren modificaciones, pero eso ya se tratará como una nota de cambio.

+ Leer más

Critical thinking, la mejor Herramienta para un QA.

Si llevamos la definición al mundo del desarrollo del software; Un test, es "un procedimiento para la evaluación crítica del software", tenemos algunos criterios estándares para analizarlo y evaluarlo:  Criterios funcionales ( Requisitos, Historias, ... ) y Criterios no funcionales ( accesibilidad, escalabilidad, usabilidad, portabilidad, seguridad, rendimiento, etc..). Pero estos procedimientos estándares, definen cómo realizar las pruebas de software, pero no explican el por qué debemos realizar las pruebas. Aquí, es dónde entra el pensamiento crítico que el QA puede aportar.

+ Leer más

Importancia de la retrospectiva en la estrategia de pruebas

Bajo mi punto de vista, la retrospectiva es clave para asegurar el éxito en cualquier proyecto. Es la reunión periódica dónde se revisa, cómo han ido las cosas y se proponen acciones para mejorar las siguientes entregas, todo con el objetivo de la mejora continua. Una retrospectiva puede ayudar a determinar si todos en el equipo, saben cuál es la estrategia de prueba que se va a seguir, y sobre todo si todos en el equipo, están de acuerdo en los aspectos de la estrategia que se ha implementado hasta el momento.

+ Leer más

Porqué verificación y validación no significan la misma cosa

Los términos de validación y verificación son usados en muchos campos, también lo son en la calidad del software. Por eso debemos tener claro, cuando utilizar uno otro. "La verificación está destinada a verificar que un producto cumple con un conjunto de especificaciones. La validación está destinada a asegurar que un producto, satisface las necesidades del usuario".

+ Leer más

Changing times, quality for humans in a digital age

Este libro, habla de calidad, especialmente de calidad del software y tecnología. Es un libro también acerca de la gente, tanto de las personas que usan la tecnología y de las sensaciones que experimentan como resultado, y también de aquellos que crean tecnología y de los retos a los que se afrontan con ello. Por esta razón, es un libro que también habla sobre procesos, acciones y métodos asociados a cómo desarrollamos software.

Libro muy entretenido y apto para todos los publicos, no sólo para los que nos dedicamos a construir software, ya que se explica la calidad y la creación del software desde un contexto muy humano.

+ Leer más

Asertividad en el equipo para mejorar la calidad

“La asertividad es una habilidad social que se trabaja desde el interior de la persona. Se define como la habilidad para ser claros, francos y directos, diciendo lo que se quiere decir, sin herir los sentimientos de los demás, ni menospreciar la valía de los otros, sólo defendiendo sus derechos como persona.“

Mi carrera profesional se ha basado en la creación del software, pero al apasionarme el mundo de las personas, me formé también en programación lingüística (PNL), metodología que ayuda a desenvolverse mejor y a ser más competente en lo que uno hace. Aquí fue cuando descubrí lo importante que es la asertividad cuando estamos construyendo software y más concretamente para asegurar su calidad.

+ Leer más

Importancia del Role de calidad en Big Data

El foco tradicional del Test ha sido verificar que el código cumple con las especificaciones del proyecto. No es hasta las pruebas de aceptación, cuando el usuario valida. Momento en el que es normal descubrir muchos problemas en los que el sistema no hace lo que el usuario necesita o desea, y quizás ya sea demasiado tarde. Esto, no garantizan el desarrollo de sistemas con éxito, por lo que se debe busca adelantar la calidad a etapas anteriores del ciclo.

A medida que avanzamos en el mundo del Big Data y de IoT, los problemas de calidad se vuelven cada vez más complejos. Tenemos los tres V tradicionales de grandes datos: La gran velocidad a la que se crean, almacenan, analizan y visualizan los datos, así como el gran volumen de datos que se producen diariamente, y su variedad de datos, provenientes de muy diversas fuentes.

+ Leer más

¿Cómo puede alguien en el equipo ayudar a introducir DevOps en la organización?

DevOps es un cambio cultural; es una filosofía acerca de hacer que todos colaboren, se comuniquen juntos y averigüen cómo mejorar procesos. Aplica los principios ágiles de colaboración y comunicación, haciendo que todos trabajen juntos en equipo, extendiéndolo a operaciones y consiguiendo la implicación de todos en el ciclo de vida del software, desde la toma de requisitos hasta la puesta en marcha, con el objetivo común de hacer un producto más eficiente.

+ Leer más