El Yin y el Yang son dos conceptos del taoísmo, que exponen la dualidad de todo lo existente en el universo. El software no es una excepción. Así, describe dos fuerzas fundamentales opuestas y complementarias, que se encuentran en … todos los desarrollos software.
medir la calidad del software
Durante todo el proceso de construcción de software estaremos buscando equilibrios entre fuerzas opuestas: tiempo frente a presupuesto, definición de requisitos frente a avance del desarrollo, funcionalidad frente a presentación, persistencia frente a velocidad o pruebas frente a alcance. La doctrina del yin y el yang puede aplicarse a todos los conceptos existentes.
Resulta particularmente interesante plantearse esta lucha de fuerzas entre Cantidad de SW y Calidad SW.
¿Cómo conseguimos medir algo que es intangible? Todo un mundo. Entre las diferentes posibilidades [PDF] destacaremos el Análisis de los Puntos de Función (FPA) -con sus variantes IFPUG, NESMA o COSMIC-, los Puntos por Casos de Uso (UCP) o los Puntos de Historia (para quemarlos con agilidad, como las calorías ;). Cuanto mayor sea el resultado medido, mayor se considera la productividad.
Como es bien sabido, sólo con músculo (volumen) no se soluciona todo, por eso hay que tener presente su “otro lado”, la Calidad del Software generado.
Vale, pero ¿cómo podemos medir la Calidad del Software?. Con cuidado, hay que entender qué tenemos entre manos y qué se pretende conseguir con ese producto. En todo caso, una excelente primera referencia es el artículo de Javier Garzás sobre con qué dos métricas de Calidad Software empezar a tantear la situación. Estamos hablando de fuerzas opuestas que se compensan, por tanto, el esfuerzo que hagamos por obtener y mantener nuestras métricas de Calidad Software debe estar en sintonía con su equivalente en construcción de software. En el caso de Panel Sistemas, nos apoyamos en la herramienta SonarQube pero integrada dentro del proceso de trabajo, lo que denominamos fabricación ecoLógica de software.
Si el Yin es el principio femenino, la tierra, la oscuridad, la pasividad y la absorción, mientras que el Yang es el principio masculino, el cielo, la luz, la actividad y la penetración. ¿Quién es quién en esta historia?
Lo voy a dejar a vuestro libre albedrío … pero no es lo sustancial.
Ambos, el Yin y el Yang, no tienen sentido sin el otro y forman parte del Tao, la fuerza superior que las contiene, la tercera fuerza (el objetivo de negocio por el que se está invirtiendo en un desarrollo software). ¿Comprendes?
Estas son las reflexiones a las que nos invita esta antigua cultura o religión (como queráis). Si seguís profundizando en sus principios encontraréis afirmaciones como: “El tao es algo que no puede ser alcanzado“. Triste, pero cierto ¿no? 😉
Esto no significa, en ningún caso, que debamos tirar la toalla y abandonar el esfuerzo. Os extraigo una historia que se considera representativa del pensamiento taoísta:
(Adaptado a partir de Las religiones del mundo, de Huston Smith).
El caballo de un campesino se escapó. Ante la conmiseración de su vecino, el campesino le dijo: «¿Quién sabe si es bueno o malo?». Y tuvo razón, porque al día siguiente el caballo regresó acompañado de caballos salvajes con los cuales había trabado amistad. El vecino reapareció, esta vez para felicitarlo por el regalo caído del cielo, pero el campesino repitió: «¿Quién sabe si es bueno o malo?». Y otra vez tuvo razón, porque al día siguiente su hijo trató de montar uno de los caballos salvajes y se cayó, rompiéndose una pierna. El vecino volvió a mostrar su pesar, y recibió nuevamente la anterior pregunta: «¿Quién sabe si es bueno o malo?». Y el campesino tuvo razón una cuarta vez, porque al día siguiente aparecieron unos soldados para reclutar al hijo, pero lo eximieron por encontrarse herido.
Son muchos los ámbitos en los que podemos buscar esta dualidad, como: software a medida Vs paquete comercial; código abierto (“opensource”) Vs código cerrado (propietario) o gestión basada en sistemas de peticiones (“ticketing”) Vs foco y compromiso (“commitment”).
Este último ejemplo también se asocia a la famosa frase del maestro Yoda:
Do. Or do not. There is no try.
A por ello.
Pingback: Cantidad vs Calidad Software – el Yin y el Yang | CookingPlanet