Si en un anterior post hacíamos un repaso a las herramientas y tecnologías favoritas para nuestros equipos de desarrollo y calidad, en esta nueva entrega referente al Quality Assurance (QA) nos centraremos en la calidad durante el ciclo de vida de un producto. La vida de un producto software dura hasta que éste deja de usarse. Pero en el entretanto, se está en continuo proceso evolutivo y correctivo. Para conseguir un estándar de calidad superior, ésta tiene que estar presente en todas sus fases.

QA1 PDCA quality 390

Estos son los pasos que atraviesa un producto, de manera simplificada y sin que ellos sean secuenciales:

Calidad objetiva y subjetiva

La calidad objetiva afecta a los requisitos pactados: o se cumplen o no se cumplen. La calidad subjetiva depende de los usuarios, es más difícil de consensuar y establecer. Es muy útil tener en mente el concepto de objeto físico que se puede manipular con las manos, pese a que la inmensa mayoría de nuestro trabajo sean programas binarios que funcionan sobre corriente eléctrica. La idea de un entregable en un paquete, o por poner una fácil analogía, el trabajo musical de un grupo de rock encerrado en un disco con su carátula artística, las letras, información de estudio, fotos, etc. pueden ayudar a esta conceptualización.

Desde un principio, el equipo tiene que definir el producto que va a desarrollar en categorías de calidad objetivas y subjetivas y, para conseguir beneficios en la planificación, debe hacer una aproximación iterativa e incremental. De esa manera, en cualquier iteración se podría entregar siempre un producto funcional, aunque fuese en versiones básicas.

De esta manera, si pasamos de la idea a la "cosa", en cada iteración se pueden definir diversas cualidades o atributos que dependiendo del tiempo, el presupuesto y la lista de deseos del cliente, podrán ir o no incluidos. En general, existen tres dimensiones a tener en cuenta en el prototipado:

  1. Must-haves: Son los que tiene que tener sí o sí. No son necesariamente los que más impresionen al cliente, pero son necesarios, constituyen la base del producto.
  2. Unidimensionales: Definen la calidad del producto, son variables y aportan satisfacción al usuario: ergonomía, usabilidad, engagement, curva de aprendizaje.
  3. Los requisitos atractivos: No son fundamentales, pero sí son los que más satisfacción aportan al cliente: diferenciación, novedad, diseño, apariencia, solidez, prestigio.

Luego, existen otros muchos factores indirectos que van a condicionar el resultado final: incumplimiento de los plazos pactados, errores de estimación en las horas de trabajo/hombre requeridas (desviaciones tanto a favor como en contra), costes ocultos de fabricación y distribución (subida a producción), soporte y mantenimiento ajenos (hosting, etc)... Dependiendo de todos ellos, el producto estará mejor o peor logrado.

La calidad no se negocia nunca

Lo cual será siempre nuestro caso. Cuando se trabaja con metodologías ágiles siempre perseguimos la máxima calidad, y eso implica que en el equipo de trabajo, además de los desarrolladores, haya un experto en calidad que vele por la aplicación de las mejores prácticas en cada fase. Tenemos muchas herramientas a nuestro alcance para ir verificando el producto y una serie de pasos que debemos dar para mantener ese nivel de calidad.

QA1 not negotiable breaking bad 2 390

Y habrá otros factores como el coste o el tiempo de elaboración que pueden variarse, pero nunca la calidad. Y esto, por supuesto, requiere un entrenamiento en las técnicas del agilismo por parte del equipo de trabajo que no se improvisan de un día para otro.

Cuéntanos qué te parece.

Enviar.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete