Cuando en una organización, proyecto o servicio se aborda un proceso de mejora o implantación de la calidad, con el fin subsanar carencias y/o deficiencias, en muchas ocasiones se piensa en llevar a cabo un conjunto de pruebas a diferentes niveles. Es decir, no se plantea este proceso desde el punto de vista de QA/QC&Testing, sino que a menudo se usa como base, por ejemplo la pirámide de Cohn, donde se definen un conjunto de niveles de prueba. Esta forma de proceder es reactiva y deja de lado todo lo referente a calidad de los procesos asociados al SLDC, centrándose en la validación de los productos finales.

Para incluir la mejora de la calidad desde el minuto cero es recomendable disponer de un documento que nos marque las pautas en todos los procesos de construcción del producto y en la validación del mismo. Esto lo podemos denominar como plan de calidad y debería ser el punto de partida de toda mejora de la calidad, junto con la definición de las políticas de calidad de la organización.

¿Qué es un plan para el aseguramiento de la calidad (SQA)?

Cómo se menciona en el título, es la piedra filosofal de este proceso. Puede “convertir cualquier metal en oro”. En este caso, puede convertir un proceso de creación de un entregable en un producto sólido y robusto que satisfaga las necesidades del cliente.

La misma norma ISO 9001 recoge que un plan de calidad es “un documento que recoge las especificaciones de procesos, procedimientos y recursos que deben aplicarse. Incluye también quién debe aplicarlos y en qué momento para poder cumplir con los requisitos de un proyecto, producto, servicio o contrato”.

Un plan de aseguramiento de la calidad (SQA) describe todos los métodos y acciones necesarias para realizar cada una de las actividades del SLDC de la forma más adecuada para evitar posibles errores en la entrega del producto final y aborda todo lo referente a QA, QC y Testing.

¿Cómo surge la necesidad de establecer un plan de calidad?

Cuando se apuesta por la entrega de valor al cliente de una forma dinámica y robusta, es cuando se ve la necesidad de disponer de un conjunto de procesos y metodologías que ayuden al desarrollo del producto, de tal manera que no haya una pérdida de reputación o económica por errores o incumplimientos no detectados a tiempo.

El proceso de QA es preventivo frente a la reactividad de los procesos de QC y Testing. La metodología empleada ayuda a identificar y mejorar posibles problemas en etapas tempranas, con el ahorro en coste y reputación que supone que no se propaguen los problemas en las diferentes etapas del ciclo de vida.

El plan de calidad, basado en un conjunto de objetivos cuyo referente es la política de calidad, aglutina todos los elementos necesarios para saber cómo aplicar QA, QC y testing a lo largo de todo el SLDC y, de esta manera, reducir muy significativamente los problemas en la entrega.

Plan de calidad y políticas de calidad

La ISO 9001 define la política de calidad como “la política de calidad es un documento que establece los objetivos de calidad de una organización, su compromiso con la satisfacción del cliente y la mejora continua, así como la estructura para alcanzar esos objetivos”. Cuando se habla de políticas de calidad se está definiendo qué debe hacerse, cómo, quiénes son los encargados y qué objetivos establecen las líneas de acción en materia de gestión de la calidad. En esencia, se trata de un documento que debe formar parte de la memoria de cada organización. Lo ideal es que esté integrado a otros como el de riesgos laborales, la misión, la visión, los objetivos y otros planes específicos.

Una política de calidad ha de estar sostenida por un conjunto de objetivos que han de ser:

  • Medibles.
  • Aplicables.
  • Orientados al cliente.
  • Documentados.
  • Auditables.
  • Se han de comunicar a la organización.
  • Actualizados.

Podemos establecer que las diferencias fundamentales entre lo que las políticas de calidad y que es un plan de calidad se refieren fundamentalmente a que la política establece los objetivos y el plan establece el camino para la consecución de esos objetivos. Igualmente, la génesis de la política de calidad y su comunicación se han de llevar a cabo desde la alta dirección, mientras que el plan de calidad recae sobre todo en las partes involucradas en el SLDC.

¿Qué partes es conveniente que aborde un plan de calidad?

Las partes de un SQA conviene que vayan acorde a la política de calidad y alineadas con las necesidades y recursos.

No todas las organizaciones son igual de ambiciosas a la hora de abordar estos temas: se puede realizar desde un proceso profundo a través de una oficina de calidad, hasta quedarnos solamente en la mejora de procesos puntuales dando mayor relevancia a QC y Testing, lo que dejaría la iniciativa sin uno de sus puntos fuertes. Es por esto que los planes no se basan en un esquema único.
Algunos de los puntos a tratar dentro del plan de calidad:

  • Introducción. Una explicación sobre el estado actual de la organización, proyecto o servicio en lo referente a la calidad. Para este punto es conveniente disponer de un análisis de la madurez de la calidad, de esta manera podremos justificar la necesidad de la aplicación del plan.
  • Justificación de la necesidad de este plan de calidad.
  • Alcance. ¿Qué entidades están afectadas por los procesos de calidad? Es importante definir bien el alcance para tener unos objetivos claros y no incurrir en esfuerzos innecesarios.
  • Objetivos. Marcar las metas que se han de alcanzar a través de la aplicación del plan.
    • Objetivos funcionales.
    • Objetivos de comunicación.
    • Objetivos relativos a la usabilidad
    • Objetivos relativos al rendimiento.
    • Objetivos relativos a la deuda técnica.
    • Objetivos relativos a la fiabilidad y seguridad.

Para medir la evolución de los objetivos se establece un proceso similar al que se describe en el siguiente imagen:

Proceso de medición para la consecución de un objetivo.
Proceso de medición para la consecución de un objetivo.
  • Gestión de la demanda. Se establece un conjunto de procesos para el tratamiento de la gestión de la demanda. Este punto es de mucho peso, ya que una buena comunicación de los requisitos por parte del cliente asegura la disminución de errores y la entrega de un producto que cumpla con las expectativas de los stakeholders.
  • Roles y responsabilidades. Se han de establecer las responsabilidades y quién ha de ejecutar los procesos descritos en el plan de calidad.
  • Estrategia de pruebas. Dentro de la estrategia de pruebas se definen, según los objetivos, los niveles de pruebas unitarias, de integración, de sistema, de aceptación y análisis estático del código. ​​
    Dentro de estos niveles se establecen varios tipos, según se muestra en el ISTQB (International Software Testing Qualifications Board), algunos de ellos son pruebas funcionales, no funcionales, caja blanca y asociadas al cambio.
  • Metodología de pruebas. Ayuda a establecer el proceso de implementación de la estrategia de pruebas a través de las herramientas de pruebas necesarias, procesos, etc. En este punto, se establecen los objetivos de las pruebas, la base de la prueba y se muestra el camino más adecuado para implementar la estrategia como puede ser TDD, BDD, ATDD, etc.
  • Automatización de pruebas. La automatización de pruebas, aunque es un punto que entra dentro de la estrategia y metodología, merece tener una mención aparte por el calado que tiene su implementación dentro del plan de calidad. Es necesario definir aspectos claros para identificar aquellas pruebas que han de ser automatizadas, debido al coste que suelen tener. Este proceso de automatización permitirá disponer de un conjunto de pruebas de regresión que nos proporcione un feedback en tiempo y forma. Es la parte más relevante de lo que es QC y Testing aunque es un proceso reactivo y supeditado a lo bien que se hayan definido los procesos de QA.
  • Construcción del software. En este punto se hace referencia a todos los procesos posteriores al desarrollo del software, aunque algunos de ellos se solapan con el desarrollo. Tiene un peso muy importante la parte DevOps y QaOps.
    • Entornos: se establecen los entornos y la función de cada uno de ellos. Se ha de realizar un análisis de cada uno de ellos y configurar las necesidades del mismo.
    • Gestión de la configuración: cuál debe ser la configuración necesaria en los diferentes entornos para llevar a cabo todas las actividades necesarias dentro de los diferentes entornos.
    • Integración continua: pipelines para la validación continua del software que se está desplegando.
    • Entrega continua: pipelines necesarios para la entrega continua de los productos.
    • Despliegue continuo: arquitectura necesaria para desplegar de forma rápida y con calidad en producción.
  • Estándares de referencia. Es conveniente dar información sobre todos los estándares en los que nos hemos podido basar. El uso de estándares como los marcados en el ISTQB, ISO-9001, ISO-25000, etc. ayuda a dar mayor solidez a los procesos descritos.
  • Calidad de proceso. Se refiere al control del propio proceso de implantación del plan de calidad y se basa fundamentalmente en auditorías de calidad (planificación, generación del informe, comunicación y seguimiento de hallazgos), establecer los riesgos del plan, seguimiento del plan o comunicación de los progresos mediante formaciones.
  • Gestión del cambio. Establece los procesos y procedimientos necesarios para saber cómo abordar un cambio, mitigar el impacto del mismo y establecer las transiciones necesarias para su adopción.

¿Cómo podemos implantar/implementar un plan de calidad?

El proceso de implantación del plan de calidad dependerá de los objetivos que se quieran alcanzar. Si se busca llevar a cabo un proceso de calado, se puede optar por la creación de una oficina de calidad, o la subcontratación de la misma. La oficina de calidad la integran todas aquellas personas dentro de la organización que van a tener como misión:

  • Asegurar que se cumple la política de calidad.
  • El análisis y diseño de los procesos descritos en el plan de calidad.
  • La implementación de dichos procesos dentro de la organización.
  • De modo general, garantizar la calidad en los proyectos.
  • Estar presente a lo largo de todo el ciclo de vida SLDC.
  • Desarrollar las iniciativas necesarias para el control de la calidad.
  • Auditar periódicamente el estado de la calidad a través de los indicadores de calidad para adoptar las medidas oportunas.

Si la organización no se decanta por la oficina de calidad el proceso de implantación debe asegurar que todos los implicados y afectados conocen de primera mano el contenido del plan con una política de comunicación bien definida. Es recomendable que se establezca un compromiso público con el contenido de dicho plan que será consensuado en su versión final con todos los agentes. Este compromiso implica a toda la organización.

Disponer de un roadmap de implantación ayuda a los destinatarios del plan a tener una idea clara de qué se va a hacer y cuándo se implantará. El proceso debe ir acompañado de un calendario de formaciones adecuado para que todas las partes de la organización, DM’s, PO’s, Desarrollo, etc. entiendan los procesos. Junto con ese roadmap y la formación es recomendable que existan ya una definición clara de los KPI’s que nos ayudarán a medir el avance de la calidad en los equipos, unas “quality gates” del proyecto que nos permitan establecer los objetivos de calidad, y una documentación clara sobre la explotación de las herramientas.

¿Y es lo mismo en agile?

El equipo al completo es el responsable de la calidad en el proyecto y en los productos entregados. Esto no quiere decir que todo el mundo se dedique a temas de QA/QC&Testing, sino que ha de existir un compromiso a nivel de equipo para realizar su trabajo basándose en los procesos definidos dentro del plan de calidad.

En uno de los puntos del manifiesto Agile se establece la colaboración con el cliente sobre contratos. Uno de los primeros puntos que se han de establecer es la gestión demanda, con la forma de relación con el cliente, para que no se pierda la información fluida y constante dentro de este ambiente Agile.

Dentro del plan de calidad se ha de dedicar un punto a cómo trabajamos la calidad tanto a nivel del proyecto como de lo que acontece a lo largo del sprint.

¿Es suficiente con el plan de calidad?

Durante todo el post hemos hecho mención a determinados puntos como la estrategia de pruebas, metodología de pruebas, quality gates, etc. El plan de calidad es un documento base a partir del cual se articula todo el proceso de calidad, pero es recomendable realizar otra serie de documentos “satélite” que entren en profundidad a definir aspectos como la estrategia y la metodología de pruebas, indicadores de calidad, herramientas para la implantación de la calidad o la definición de las Quality Gates del proyecto.

Documentos que acompañan al plan de calidad.
Documentos que acompañan al plan de calidad.

La base de todo es que la organización tenga claro cuál es su política de calidad, que es la que “alumbra al resto”. A partir de ahí, y como eje central, el plan de calidad, que apoyado en los documentos antes mencionados, implementa todas las acciones necesarias para la calidad.

  • La estrategia de pruebas ha de contener una descripción a alto nivel de qué se va a incluir dentro de los distintos niveles del SLDC para la mejora de la calidad. La estrategia tiene en cuenta factores como el análisis de riesgos a nivel del producto y del proyecto.
  • La metodología de pruebas establece cómo se va a implementar la estrategia, es decir el conjunto de metodologías y de herramientas necesarias.
  • Indicadores de calidad: KPI’s que sirvan de base para la evolución de la calidad. Tienen que ser de utilidad y perseguir un objetivo concreto y ser viables y medibles. El proceso de creación de KPI’s se definió en este documento.
  • Herramientas: aquellas que se han podido describir en la metodología de pruebas u otras partes del plan de calidad para establecer el mejor nivel de explotación y comprensión de las mismas.
    Quality Gates: es un documento que establece el conjunto de criterios de calidad que una entidad ha de cumplir para ir avanzando dentro del SLDC.

Conclusiones

Es conveniente que el plan de calidad sea el punto de partida de todo proceso de calidad, independientemente del tipo de alcance que se busque. Ha de ser un documento consensuado y es muy importante que se comunique a toda la organización. Establece el camino para la implementación de las políticas de calidad.

Es importante no caer en la tentación de hablar de Testing como si fuera QA. El plan de calidad ayuda a distinguir entre las actividades reactivas de la calidad, como la estrategia y la metodología de pruebas, y aquellos puntos que se centran en la mejora preventiva, a través de los procesos de QA. Estos procesos evitan que los errores derivados de las malas prácticas se propaguen causando un coste en tiempo, dinero o reputación.

El plan de calidad se ha de acompañar de otros documentos que conviene que sean muy específicos tales como la metodología de pruebas, la explotación de herramientas, etc.

La calidad en las organizaciones, proyectos o servicios es conveniente planificarla y basarla no solo en testing y QC, sino en procesos que aseguren las buenas prácticas.

Cuéntanos qué te parece.

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.