No seamos tan binarios a la hora de pensar en la calidad



Últimamente me encuentro cada vez más seguido en conversaciones donde se busca encontrar "el método" para mejorar la calidad en un software, en un proyecto o en un equipo de desarrollo de software. Veo además que las posturas se plantean en términos de blanco o negro: hacemos testing ágil o hacemos testing tradicional (es decir luego de haber desarrollado) o nos basamos en riesgos o hacemos alguna otra cosa. Siempre que puedo, en esos casos, trato de dar visibilidad a los puntos grises porque, aunque suene repetitivo, no hay balas de plata y cada caso es un caso.

Hay muchas formas de controlar y asegurar la calidad del software, no hay una única forma o una mejor forma. Hay intervenciones sobre el software en sí mismo y también sobre los procesos utilizados para construirlo. 

Nuestro deber, si tenemos el rol de custodiar la calidad, es encontrar el mix correcto en cada caso. Es decir planear la estrategia de calidad adecuada para ese problema cuestionándonos si la forma en que veníamos haciendo las cosas sigue siendo la mejor. A veces nos enamoramos de ciertas estrategias y nos creemos que van a servir siempre, olvidándonos de la paradoja del pesticida enunciada por Boris Beizer hace tantos años [1].

Seguimos pensando..

[1] En el número 2 de la revista perspectiva del año 2008 publiqué una nota llamada "el poder de una palabra" donde describí la paradoja. Se las dejo a continuación por si no quieren ir a leer la nota (página 14):
Boris Beizer, autoridad reconocida mundialmente en Testing de Software, en su libro software Testing Techniques (1990), enunció "la paradoja del pesticida". En ella comparaba la actividad de testing de software con el uso de pesticidas que hacen los granjeros. 
Imagine que usted es un granjero en plena cosecha. De pronto, un día, encuentra que una plaga está destruyéndola. Para remediar este hecho compra un pesticida que mata a la mayor parte de la plaga y salva su cosecha. Al año siguiente rocía tempranamente la nueva cosecha con el mismo pesticida, aunque en esta ocasión, los resultados no son los mismos porque los insectos han desarrollado cierta inmunidad. La solución viene de la mano de encontrar otro pesticida que haga efecto en la nueva plaga. 
Haciendo un paralelo con el software, Beizer sostiene que las fallas en software son como los insectos (bugs), pues se acostumbran e inmunizan a los controles (ahora en 2020 decimos que mutan). Como resultado de esto, a medida que el tiempo pasa, los métodos de control y aseguramiento de la calidad deben ir cambiando para ir capturando los nuevos tipos de errores. 

Comentarios

Entradas más populares de este blog

10 definiciones de calidad

¿Qué es time and material?

Teoría Económica y Outsourcing