El primer paso para establecer una cultura de la calidad en la organización es este
“Si quieres que de testing salga un producto de alta calidad, debes enviar un producto de alta calidad a testing” - Watts Humphrey
En este artículo:
¿Qué es la calidad? Definiciones en el contexto del software
Cultura de la calidad
Herramientas y recursos para ti
“Si quieres que de testing salga un producto de alta calidad, debes enviar un producto de alta calidad a testing”
— Watts Humphrey
Definición de la calidad en el desarrollo de software
El primer paso para establecer una cultura de la calidad en la organización es tener una comprensión clara de lo que es la calidad.
En el desarrollo de software, existen dos vertientes para definir la calidad:
La que nos dice J. Juran: “Adecuación para el uso, satisfaciendo las necesidades del cliente/usuario”.
La que nos dice Ph. Crosby: “Cumplir con los requerimientos y no presentar fallas”.
La primera definición nos dice que un producto de software de alta calidad es aquel que brinda valor a los usuarios, pues resuelve una necesidad real, les es conveniente y su vida es mejor que no tenerlo.
La segunda definición nos habla de que un producto de software de alta calidad es el que hace lo que debe hacer, lo hace bien y no falla mientras lo estás usando.
¿Cuál de las dos definiciones debería ser más importante?
¿Cuál de las dos vertientes es la que tiene más peso en tu organización?
Si tu equipo se enfoca en hacer desarrollo iterativo, recibir retroalimentación y modificar el software de acuerdo a lo que dicen los usuarios, tu enfoque es el primero.
Si tu equipo se enfoca en que Testing tenga mucho tiempo para hacer su labor y puedan dedicar más a resolver los defectos, tu enfoque es el segundo.
Sin embargo, seguramente puedes anticipar lo que voy a decir a continuación: las dos tienen la misma importancia.
Nuestro enfoque de trabajo debe ser así:
Hacer el producto correcto y hacerlo bien
Cultura de la calidad
En el desarrollo iterativo, suele pensarse que parte de iterar sobre el MVP incluye arreglar los bugs y fallas. No es lo más adecuado, porque si tu MVP ya es suficiente para ir a producción, no lo podrías enviar inmediatamente porque tiene fallas, lo cual impide la agilidad.
La calidad debe ser una cultura, un conjunto de actividades continuas a lo largo del desarrollo y no ser solamente momentos en el tiempo donde decimos “ahora nos concentraremos en la calidad”. Hacer el producto correcto y hacerlo bien.
¿Cómo sabemos si la buena calidad es una cultura dentro de la organización?
Primero, quiero que respondas esta encuesta para medir tu percepción.
Ahora, te dejaré estas preguntas para reflexionar. Las estaré respondiendo a lo largo de los artículos en la serie, para comparar tus respuestas e incrementar tu catálogo de prácticas de la calidad:
¿En qué etapa sabemos si el producto es el correcto, antes de iniciar el desarrollo, durante el desarrollo, en pruebas o en la presentación?
¿Cuánto dura la etapa de testing, menos, lo mismo o más que la construcción?
¿Qué actividades de prevención / eliminación de defectos hago, además de testing?
¿Quiénes se involucran en el aseguramiento de la calidad durante el trabajo?
¿Cómo miden la calidad a lo largo del desarrollo del software?
¿Cómo establecen planes de mejora de su proceso de desarrollo?
En las siguientes publicaciones, encontrarás herramientas, técnicas y prácticas para instituir la Cultura de la Calidad en tu organización, porque recuerda una cosa: La buena calidad no es negociable.
¡Hasta la próxima!
Herramientas y recursos para ti
La buena calidad incluye un buen desarrollo de requerimientos. Conoce mi curso en Udemy y la Guía breve para escribir historias de usuario de alto impacto.
¿Quieres implementar estas mejoras, pero no sabes cómo? Te presento dos alternativas:
Una consulta profesional de 1 hora, para discutir problemas individuales y encontrar respuestas.
¡Únete al grupo de facebook para compartir ideas con otros profesionales de Élite!
Visita mi canal en Youtube, donde encontrarás más información sobre las buenas prácticas en Ingeniería de Software.