Dicen que cuando la presión por entregar entra por la puerta, la calidad salta por la ventana. En mi experiencia, he vivido esto de diferentes maneras:

  • Equipos que tienen como objetivo terminar el desarrollo y entregar a pruebas cuanto antes.
  • Equipos que trabajan a un ritmo constante, pero cerca del deadline entran en crisis e inician prácticas con impacto negativo en el producto y en su vida personal.
  • Equipos que, deliberadamente, omiten hacer actividades de aseguramiento de la calidad antes de testing, porque “solo quitan tiempo”.

    ¡Suscríbete a Ingeniería de Software de Élite y aprende con nosotros!

En los marcos de referencia de gestión, se menciona que hay tres dimensiones que deben cuidarse durante la ejecución de un proyecto:

Es la “tríada dorada”, como la he visto nombrada en algunas fuentes; sin embargo, algunos Project Managers la ven como una opción: “elige una y sacrifica las otras dos”. Normalmente, eligen el calendario: “entreguemos a tiempo, no importa el costo económico y humano, y si hay problemas de calidad, los arreglaremos después”. Lo que no saben, es que si cuidan la calidad con recelo, el calendario y el presupuesto se cuidan solos.

  • El calendario
  • El presupuesto
  • La calidad

Dos de los roles, que hemos mencionado en esta serie, son responsables directos del aseguramiento de la calidad en el desarrollo del software: el Líder de Calidad y el Líder de Pruebas.

Antes de describirlos, es preciso entender la Calidad en el Software desde dos perspectivas: del producto y del proceso.

La calidad del producto depende de la calidad del proceso que se usó para hacerlo

Dice William E. Lewis:

 

“No es posible poner calidad en un producto que ya está terminado”

Se refiere a que Testing no arreglará un software muy defectuoso. Igualmente, Watts Humphrey dijo:

“Si quieres sacar software de alta calidad de testing, debes enviar a testing software de alta calidad”

Ambos nos quieren decir que el software con baja incidencia de defectos depende, en gran medida, de un proceso de alta calidad y que las actividades de testing, cuando son sólidas, validarán que el producto es sólido y encontrarán solo aquello que no puede ser hallado de otra manera.

Esta es la razón por la que necesitamos a nuestros dos roles.

Líder de calidad, quien nos recuerda que la calidad es responsabilidad de todos

Un proceso de alta calidad incluye actividades de aseguramiento y parámetros de medición. La calidad se puede planificar. El Líder de Calidad asegura que el trabajo siempre tiene un plan para obtener la alta calidad, que este se respeta y se toman acciones cuando los parámetros indican que habrá problemas.

No es un policía del proceso, pues su objetivo es distinto a asegurar adherencia (compliance), sino recordarnos que la forma de trabajo acordada es la más segura para lograr buenos resultados si la seguimos. Por supuesto, será de los primeros en iniciar los cambios al proceso cuando demuestra que debe mejorar.

Los objetivos del rol son:

  • Liderar al equipo para producir un plan de calidad del trabajo
  • Asegurar que el equipo tiene alertas y análisis de la calidad en todo momento
  • Asegurar que el equipo ejecuta las actividades de aseguramiento de la calidad incluidas en el plan y actúa como moderador en algunas de ellas

Un team member, que quiere desempeñar el rol, tiene estas características:

  • Interés en la calidad del software
  • Habilidad para definir métricas de calidad de software y analizarlas
  • Experiencia con métodos de prevención de defectos, como inspecciones y pair programming
  • Habilidad para analizar y comentar el trabajo de otros sin antagonizar con ellos

Líder de pruebas, quien nos recuerda que testing no es una fase al final

Muchos desarrolladores de software entendimos “Testing” como una fase o actividad que ocurre en el futuro y hasta entonces tendrá importancia y le dedicaremos tiempo. Sin embargo, está demostrado con el modelo de desarrollo en V, que el trabajo de testing acompaña todo el desarrollo desde el inicio y hasta el final. Aquí es donde apoya el Líder de Pruebas.

Sus objetivos son:

 

  • Liderar al equipo para el desarrollo de planes de prueba adecuados
  • Asegurar que los productos son sometidos minuciosamente a los diferentes tipos de pruebas
  • Asegurar que los defectos encontrados en pruebas son atendidos apropiadamente

Un team member, que quiere desempeñar el rol, tiene estas características:

  • Gusto por los acertijos y situaciones intrigantes
  • Habilidad analítica
  • Interés en tomar retos para encontrar defectos en productos mediante pruebas

Cuando hablo de Administración del trabajo, en ambientes académicos, de capacitación y coaching, hablo de la tríada dorada y la importancia de gestionarla correctamente; sin embargo, suelo añadir lo siguiente: La calidad no es negociable. Podrás cuestionar el presupuesto, el calendario y el alcance, pero la calidad no.

Entender que un buen proceso, que cuida el detalle y asegura la calidad a lo largo de todas las actividades, no solamente en testing, nos permitirá evitar problemas. Reitero: si cuidas la calidad, el calendario y el presupuesto se cuidan solos.

¡Nos vemos en la siguiente entrega!

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.