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.
- Debes crear apps sin saber programar (no hay que saber nada) + Crea Test con IA + Scrum es el nuevo Excel - 12 septiembre, 2024
- Las 6 técnicas prompting + 1ª Ley del Manager Oscuro + Mantenlo sencillo, estúpido - 5 septiembre, 2024
- Guía de Métricas Ágiles (versión agosto 2024) - 22 agosto, 2024
Pingback: Bitacoras.com
Javier, estoy totalmente de acuerdo contigo: en un primer momento es vital tener un objetivo a corto plazo y muy concreto como estos que pones de ejemplo. Sin embargo (y es lógico) no crees que partes de una base irreal?
Me explico, las empresas que producen software o están en temas de calidad o no están. Las que no están yo creo que no ven el problema por que ven normales o se las pueden permiten cosas tan negativas como las incidencias, los cuelgues, las pérdidas de servicio… o si lo ven, creo que no tienen claro qué tienen que hacer para mejorar, no tienen claro que «la calidad» sea algo concreto que vaya a mejorar su software. Por eso te digo que tú pregunta «qué le pido a la calidad?» quizá está ya un paso por delante…
Hola Pedro,
También hay mucha empresa que sabe que necesita algo pero no sabe como empezar, que le suenan nombre, términos, etc., y se guia más por la moda o porque lo ha escuchado que por una razón profunda. Implantan una cosa, otra, no tienen claro en que les beneficiará, etc.
Saludos
Como bien indicas normalmente la cosa se plantea o bien por mejorar la calidad de producto o bien por mejorar el proceso (su eficiencia en términos económicos, claro). Todos los casos que has mencionado al final, podrían siempre reducirse a uno de los dos apartados.
Pero a mí me gustaría añadir que es muy rara la empresa, por no decir inexistente, que se plantea primero mejorar la calidad del producto si su proceso de producción es ineficiente (económicamente). Es por esa razón que los modelos para la mejora de la calidad, como CMM y CMMi, suelen situar aquellas áreas relacionadas con la mejora de la ejecución de proyectos en el nivel inicial.
En general, si yo tuviera que responder a la pregunta que da título a este blog, yo diría que siempre empezaría por atacar el problema de conseguir que mis proyectos sean predecibles, repetibles y controlables, lo cual, evidentemente lleva a que sepas cuánto te van a costar y por tanto a ganar dinero. Los siguientes niveles son los que ya empiezan a tratar con mejoras en la calidad de productos y otros aspectos del proceso software.
Ciertamente, en lo que explicas, Javier, está implícito que si una empresa se plantea como problema prioritario que sus clientes se quejan de algún aspecto de calidad de sus productos es porque de alguna manera ya ha resuelto lo anterior. Sin embargo, yo diría que es raro llegar a ese punto de manera casual o inconsciente.
Dicho crudamente, el que no sabe por dónde empezar a mejorar normalmente es que lo hace todo «ad-hoc» y aunque haga la gestión de proyectos «eficientemente» (que gane dinero), debería primero plantearse al menos hacer explícitos esos procesos para que se mantengan.