La Calidad en el Software

La Calidad en el Software

Una de las discusiones más comunes y complicadas entre desarrolladores, es la de “La Calidad en el Software”. Es un tema muy estudiado y, sin embargo, casi toda la información encontramos en el internet se enfocan desde puntos de vista muy académicos, en procesos, en indicadores y en técnicas. No es que estén mal, pero son estudios que olvidan lo más fundamental, lo más importante. La satisfacción del usuario.

“Calidad y Satisfacción del Usuario son sinónimos.”

En estos estudios se describe Calidad como: “Que tenga menos de N defectos por cada N líneas de código”; “Que tenga la arquitectura correcta y utilice patrones de diseño”; “Que tenga pruebas unitarias y funcionales que cubran el X% del código”; “Que minimice el consumo de recursos”; o incluso “Que sea fácil de usar y amigable”. No digo que no haya mérito en esos puntos, todos forman parte de la calidad, pero están prestando atención en los síntomas olvidando el origen del problema. Finalmente:

Calidad es entregar lo que el usuario necesita

Para mejorar la calidad, tenemos primero que entender que el usuario tiene la primera y última palabra con respecto a calidad. Si el usuario no lo quiere usar, no hay calidad.

Es importante aclarar que el titulo dice “lo que el usuario NECESITA” y no “lo que el usuario QUIERE”. Lo que el usuario quiere puede ser un listado infinito de requerimientos imposibles de cumplir. Pero que esté “NECESITA” significa que cumple con el mínimo de requerimientos verdaderamente necesarios, y que están lo suficientemente bien implementados, que el usuario este dispuesto a utilizar el software, en vez de hacerlos de manera manual o no hacerlo.

¿Qué necesito hacer para que el usuario utilice mi software?

Con esto debemos de cambiar nuestra manera de pensar solo en requerimientos y funcionalidades para pensar en: ¿Qué necesito hacer para que el usuario utilice mi software? A partir de ahí puedes comenzar a resolver puntos más específicos como:

  • Requerimientos funcionales y no funcionales
  • Diseño de Pantallas y Experiencia de usuario
  • Arquitectura y Diseño
  • Pruebas Unitarias y Pruebas Funcionales
  • DevOps – Puesta en Marcha
  • Detección y Solución de Bugs
  • Capacitación y Soporte

Estos solo son algunos de los miles de puntos que pueden influenciar en la decisión del usuario. Lo importante es entender que todos están enfocados en el mismo fundamento. Que el usuario este dispuesto a usar nuestro Software.

La calidad debe ser parte del proceso, no solo del producto final.

Para finalizar. Todo lo anterior tiene que ver con el software como un producto final, aunque la creación del software muchas veces se hace como parte de un Proyecto para un cliente. Es importante recordar que existe: la calidad del producto final (el software), y la calidad del proceso de construcción (el proyecto). Son cosas completamente diferentes, uno debe de llevar al otro, pero ambos pueden incluir en la decisión final del usuario.

Podemos desarrollar todas las funciones que el usuario necesita, pero perderlo a la mitad del camino por falta de comunicación y seguimiento. Simplemente porque el cliente no siente que se esta haciendo lo que el necesita.

Y es importante que este proceso de como hacer el proyecto es igual de importante. Incluso esta es la principal razón del movimiento Agile. Mejorar la calidad del proceso, para mejorar la calidad del producto final.

Conclusión

Este post o quería usar para aclarar este punto que es tan importante, y que es el punto de partida de todo lo más. No podemos perderlo de vista. Todos los procesos, técnicas, herramientas, conocimiento, etc, que utilizamos los desarrolladores, siempre deben de estar enfocados el punto más importante que es:

“Hacemos Software para cumplir los Requisitos del Usuario. Hacemos Software para que el Usuario lo quiera usar.”

Por lo que es importante que nunca olvides estos 3 puntos:

  • Calidad y satisfacción del usuario es lo mismo.
  • Calidad es hacer Software que cumple los Requisitos del Usuario. Calidad es hacer Software que el usuario quiera usar.
  • La calidad en proceso del desarrollo (el proyecto), es tan importante como el producto final. Agile existe para mejorar ese proceso.

Deja un comentario

Close Menu