¿Cuál es el PRIMER paso para empezar a implantar y mejorar la calidad software?

Esta es una de las preguntas que con mayor frecuencia alguien me hace: “Pero, ¿por dónde hay que empezar a implantar calidad software?” “¿Cuál es el primer paso?” “Con tanto lío de normas, metodologías, modelos y demás, no sé por dónde empezar”.
Ya te adelanto que la respuesta no es sencilla, ni hay una única, pero si que hay un primer paso, un paso que tienes que dar tú solito antes de nada, si quieres que esto te valga para algo.
Vamos a asumir que el objetivo de tu empresa es realmente mejorar la calidad software, es decir, que tu empresa quiere obtener realmente beneficio de hacer las cosas mejor (y que el objetivo no es únicamente lograr como sea un certificado en alguna norma para poder enseñársela a los clientes y para poder presentarse a concursos).
¿Cuál es el primer paso? Este: Pregúntate y responde qué le pedirías (como si fuese la carta de los Reyes Magos) a la CALIDAD SOFTWARE para que ayude a tu empresa a cumplir sus objetivos de NEGOCIO. Pregúntate cómo la calidad software puede hacer que tu empresa sea más competitiva en aquello a lo que se dedica y vende.
Olvídate de cualquier cosa técnica, metodologías, nombres raros y demás. Esto se llama alinear negocio con tecnología, y cuando ambos no están alineados, hazme caso, o muere el negocio o muere la tecnología (y tus planes de calidad software).
¿Cosas de negocio? ¿Cosas que pueden mejorar la competitividad de tu empresa? ¿Qué problemas pueden estar afectando al negocio, a la competitividad, e incluso a la viabilidad, de tu empresa? Ejemplos:
– “Los clientes se quejan mucho por las veces que falla nuestro software y se van a la competencia”. Bien, ahora ya sabes que necesitas calidad del producto (y no tanto de proceso, por cierto te dejo un post sobre esto) y que probablemente el testing será donde tengas que trabajar (y lo ágil, sacarte el CMMI, o lo que sea, no es tan prioritario). Probablemente tengas que medir incidencias, ratio/tiempo de resolución de errores, la cobertura de pruebas, errores detectados por las pruebas, etc.
– “El alto coste que nos supone desarrollar, nos deja casi sin beneficio”. Pues tendrás principalmente que mejorar la calidad de tu proceso (y no tanto la calidad del producto), aumentando la productividad, hacer más cosas con los mismos recursos siendo más eficiente. Tendrás que ver que grado de manteniblidad tiene el software (a lo mejor se te va el tiempo ahí), medir, por ejemplo, la complejidad ciclomática, el código repetido, etc. Ni el testing, ni sacarte la ISO 9001 te van ayudar mucho en este caso.
Y así con objetivos de negocio como “nuestro producto es el más lento” (tu objtivo será la CARGA Y el RENDIMIENTO), “los usuarios se quejan de la usabilidad” (USABILIDAD), “nos entran en la aplicación cada dos por tres” (SEGURIDAD), “tardamos muchísimo en dar respuesta a los clientes” (CALIDAD DEL SERVICIO IT), “nunca hacemos el producto que quiere el cliente y no nos lo pagan” (REQUISITOS, PRUEBAS), «los proveedores nos entregan cualquier cosa» (SUBCONTRATACIÓN), etc., etc., etc.
Lo dicho, lo primero es saber POR QUÉ quieres meterte a mejorar la calidad (antes de perderte en nomas, metodologías, herramientas, y demás). Que RAZON hay. CÓMO mi empresa será mejor después de mejorar la calidad. Eso te dirá en qué, del amplio mundo de la calidad, debes centrarte, y de ahí puedes pasar a ver metodologías, herramientas, procesos, modelos y demás.