Está en la página 1de 11

Calidad de software motivación

No me preocupa si algo es barato o caro. Solo me preocupo si es bueno. Si es lo


suficientemente bueno, el público te lo devolverá el pago. Walt Disney

Para que sirve la calidad de software


Uno de los objetivos de la calidad de software es producir software que cumpla y si es
posible que supere las expectativas de los usuarios.
Los objetivos de la calidad de software se refieren a la mantenibilidad (posibilidad y
facilidad de corrección, ajuste y modificación durante largo tiempo) y a la aceptación
(utilización real por parte del usuario) por parte del usuario.
La calidad de software hoy en día es elemento esencial para el desarrollo apropiado
de un producto de calidad es de gran importancia la noción de responsabilidad
profesional.

1.- ¿Qué es el aseguramiento de la calidad de un software?


El aseguramiento de la calidad consta de procesos y pasos que se implementan para
garantizar la calidad óptima del producto final a distribuir o servicio a prestar. En el
mundo de la localización de software, cuando se habla de aseguramiento de la
calidad, se busca evaluar el software a comercializar antes, durante y después del
proceso de localización, para verificar que cumpla con las especificaciones de diseño
iniciales.
2.- Escucho mucho hablar de testing o testeo. ¿Específicamente, qué es el
testeo de software?
El testeo de software es un proceso que consiste en identificar los problemas que
impiden que el programa, desde el punto de vista operativo y estético, funcione
adecuadamente. La idea es identificar los problemas, informar sobre ellos y resolverlos
en pro del beneficio del usuario que vaya a utilizar dicho producto. Nunca está de más
decir que esta evaluación la lleva a cabo un equipo multidisciplinario de profesionales,
por ejemplo, quien realiza la prueba no corrige el error que encuentra.
3.- ¿Qué tipos de testeo se pueden llevar a cabo en un software?
Desde mi punto de vista, existen varias clasificaciones. Bert Esselink identifica tres
niveles de testeo que son el testeo o las pruebas de internacionalización, el testeo o
las pruebas de localización y el testeo funcional o las pruebas funcionales. Hablo de
testeo o de pruebas como sinónimos.
Las pruebas de internacionalización consisten en verificar qué tan bien se ha
internacionalizado el producto para localizarlo posteriormente. Este tipo de pruebas se
implementa a lo largo del ciclo del desarrollo del producto y comprende, a su vez, dos
tipos de pruebas que son las pruebas de compatibilidad internacional (international
support test) y las pruebas de localizabilidad (localizability test). En las pruebas de
compatibilidad internacional se verifica qué tan compatible es el programa con los
idiomas a los cuales se va a localizar y con las configuraciones regionales del mercado
al que se va a distribuir, además de la evaluación de los scripts. El objetivo de estas
pruebas es la de verificar qué tan fácil es ajustar el producto a un determinado
mercado. Las pruebas de localizabilidad se encargan de verificar qué tan fácil es
localizar el software y se determinan los ajustes que hay que efectuar al código fuente
y a los hardcode-strings, nuevamente, para que se facilite el proceso de localización.
El testeo o las pruebas de localización se llevan a cabo ya en la versión traducida del
software y consisten en dos tipos de prueba que son el testeo lingüístico y el testeo
funcional, aquí sí no hablo de pruebas, pues es más fácil encontrar información con
estas denominaciones. Estos tipos de prueba las debe ejecutar una persona cuya
lengua materna sea la misma que la del idioma al que se ha traducido el programa.
Inclusive, se recomienda que estas pruebas las lleve a cabo un traductor. En el caso
del testeo lingüístico el encargado de evaluar el programa se enfoca en verificar si
existen errores lingüísticos, tales como errores de sentido, segmentos sin traducir,
errores de puntuación y de estilo, entre otros muchos aspectos. En el caso del testeo
cosmético, el responsable se enfocará en evaluar la interfaz del usuario, es decir,
todos los aspectos visuales del producto localizado, tales como cuadros de diálogos,
menús, informes y mensajes.
El testeo funcional o las pruebas funcionales se centran en verificar que el producto
cumpla con las especificaciones establecidas para el mismo y que funciona según lo
estipulado durante su diseño. Al realizar estas pruebas, ya la traducción del producto
debería ser la definitiva. En esta etapa, se llevan a cabo varios tipos de pruebas para
verificar las características y el comportamiento del programa. En esta etapa se puede
evaluar la interfaz del usuario, las API, la administración de las bases de datos, la
seguridad, el proceso de instalación, entre otros aspectos. Finalmente, se pueden
desarrollar dentro de esta etapa de evaluación pruebas de integración, de desempeño,
de regresión y de aceptación.
Finalmente, el testeo de liberación o pruebas de liberación utilizan una versión final del
programa en un sistema operativo localizado. La idea es verificar la funcionalidad
básica del producto a distribuir y verificar que todas las instrucciones se llevaron a
cabo y que todas las actualizaciones se implementaron y, finalmente, que el producto
cumple con las especificaciones para las que fue diseñado.
4.- ¿Cuáles son los tipos de defectos que nos podemos encontrar a la hora de
testear o evaluar un software?
En parte, el nombre de los defectos está relacionado con el tipo de prueba que se
vaya a llevar a cabo. Entre los distintos defectos están los defectos de requisitos y los
de usabilidad, además de los defectos funcionales, cosméticos, de diseño y de
localización.
Los defectos de requisitos se encuentran al comparar el software con los requisitos
establecidos por escrito y encontrar que existe una desviación entre lo establecido y lo
desarrollado. 
Los defectos de usabilidad están relacionados con los que afectan la habilidad del
usuario para interactuar con el software.
Los defectos funcionales son los defectos que más se encuentran en el software y
pueden ir desde un simple error de funcionamiento, hasta errores que impiden el
procesamiento adecuado de la información
Los defectos cosméticos son aquellos defectos visuales que son molestos a la vista
del usuario, entre ellos, podemos tener texto truncado, mala alineación, sobreposición
de los elementos debido a un tamaño inadecuado de los cuadros de diálogo o de los
botones, etc.
Los defectos de diseño son defectos que se encuentran a nivel del usuario y son los
que impiden que no se cumpla el flujo de trabajo para el cual se diseñó el software.
Por último, los defectos de localización consisten en los distintos errores que uno
puede encontrar al efectuar las pruebas de localización, sean a nivel lingüístico o
cosmético.
5.- ¿Cómo puedo llevar un control de los defectos que voy encontrando en el
software?
Los defectos o errores encontrados durante las distintas etapas de pruebas se pueden
registrar en los distintos informes de defectos o problemas diseñados para tal fin. La
gestión y el mantenimiento de este tipo de informes lo llevan a cabo los ingenieros de
pruebas y de localización. Las pruebas, además, las llevan a cabo ingenieros de
software, para el caso de las pruebas de internacionalización o lingüistas o
traductores, para el caso de las pruebas funcionales y cosméticas.
Idealmente, un informe de registro de errores debería contener la siguiente
información: el número del problema, la fecha de cuándo se informó sobre el
problema, el nombre de quien informó inicialmente el problema, el producto, su
versión, la serie, el idioma en el que se encontró el error, plataforma y versión de la
plataforma, el nombre del archivo, la ubicación, la causa del problema o área del
producto o componente, la ubicación exacta del problema en el archivo o aplicación, la
descripción del problema, los pasos necesarios para reproducir el problema, el grado
de gravedad, la configuración de la máquina, la solución, quién corrigió el problema y
el estado del problema.
Existen bases de datos de errores que permiten que los usuarios también incluyan
capturas de pantalla de las ventanas en donde está ocurriendo el error. Algo
importante que acotar es que el error se debe reproducir más de una vez, si sólo
ocurre una vez, entonces no se debe informar al respecto.

No es lo mismo calidad del PRODUCTO software, que calidad del PROCESO


software, que calidad del EQUIPO
En el mundo del software, y supongo que en otras disciplinas también, cuando nos
referirnos al amplio concepto de “calidad software” hemos de ser muy conscientes de
que en realidad ese “etéreo” concepto de calidad se subdivide, principalmente, en tres
tipos de calidad: la del proceso, la del producto y la de las personas/equipos.
No se vosotros, pero yo demasiadas veces me encuentro con que este tema, aun
siendo tan antiguo, en el mundo empresarial no está tan claro y maduro. Y, a la hora
de la verdad, cuando se entrega el software, aquello que en la oferta / contrato parecía
tan claro resulta que produce enormes desengaños. “¿Pero, cómo puede ser qué la
empresa x con CMMI nivel y nos entregue este producto tan malo?” “¿Pero no usaban
la metodología z?”
Sin pretender, ni poder, resolver el mundo, déjame que en este post haga un breve
resumen de estas tres tan diferentes y determinantes áreas de la calidad software.
La calidad del proceso
La calidad vista desde el mundo de los PROCESOS nos dice que la calidad del
PRODUCTO software está determinada por la calidad del PROCESO. No me voy a
perder en definiciones de libro, pero por proceso se entiende las actividades, tareas,
entrada, salida, procedimientos, etc., para desarrollar y mantener software.
Modelos, normas y metodologías típicas aquí son los CMMI, ISO 15504 / ISO 12207,
el ciclo de vida usado, e incluso las metodologías ágiles entran aquí (aunque en el
mundo ágil la palabra proceso no guste nada, no entiendo muy bien porque, aunque
creo que es porque hay quien aún piensa que proceso = a ciclo de vida en cascada, lo
cual no es nada cierto.
Un buen proceso sin duda segura un buen producto, pero, claro, también podemos
seguir un modelo de procesos famoso, y que no sea el más adecuado para nuestra
organización y que por ello el producto no acabe siendo el mejor. Por ello, una mala,
algunas veces perversa, interpretación es asumir que, cumpliendo cierto modelo, nivel
de madurez, norma, metodología, ciclo de vida, o cualquier otra cosa relacionada con
el proceso… se ASEGURA por ello directamente productos de calidad. ¿Realmente es
garantía suficiente? ¿Una certificación sobre la calidad del proceso garantiza un
producto de calidad?…
La calidad del producto
Comentaban en IEEE software que hay poca evidencia en que cumplir un modelo de
procesos (CMMI, ISO 12207, una metodología ágil o no, etc.) asegure la calidad del
producto. Y en Computer, que las evaluaciones de calidad deberían estar basadas en
evidencias del producto (auditando el software), y no en evidencias circunstanciales o
suposiciones.
Y es por ello que existen los modelos de calidad de producto, destacando entre ellos la
ISO 9126, o la nueva serie ISO 25000, que especifica diferentes dimensiones de la
calidad de producto. Aunque aquí la dura tarea de evaluación recae en el uso de
métricas software, amplio mundo que no voy a tratar porque excedería el objetivo de
este post.
Sí una empresa que desarrolla software debe preocuparse de la calidad del
PROCESO y del PRODUCTO que desarrolla y entrega, una empresa que solo compra
software (el típico cliente) debería, principalmente, preocuparse de la calidad del
PRODUCTO que compra. Aunque vemos que, en la realidad, las empresas que
compran software lo hacen al revés, se preocupan por el proceso que usa su
proveedor (CMMI, ISO, etc.) y apenas del producto que les llega. Cosas de la
industria.
La calidad del equipo y/o personas
Ya lo decíamos en aquel post ¿Qué es lo más determinante para el éxito, o fracaso,
de un proyecto (o para el producto software)? Las personas. Lo más determinante,
complejo, y sobre lo que menos “guías”, “maneras de puntuar” o “métodos” hay. Tema
complejo donde los haya.
Aquí podemos encontrar decenas de aproximaciones para mejorar, que van desde el
tan de moda coaching, a la filosofía ágil de lograr la auto-organización de los equipos,
estrategias de motivación, combinaciones de los anteriores, etc. E incluso hasta hay
modelos, como son los TSP y PSP.
Conclusión
Si quieres calidad, vas a necesitar los tres anteriores. Aunque depende del rol que
juegues te puede importar más uno u otro, y esto es muy importante saberlo. Si eres
un cliente que solo compra software no puedes perder la prioridad, procesos,
productos y personas son importantes, pero la calidad del producto es para ti
determinante. Si eres fabricante de software, vas a necesitar los tres y no puedes
olvidar ninguno.
La calidad se define en la norma ISO 9000 como “el grado en el que un
conjunto de características inherentes cumple con los requisitos”. Esta norma
ISO 9000, “es el conjunto de normas y directrices de calidad que se deben
llevar a cabo en un proceso”. De esta norma ISO 9000 deriva la norma ISO
9001, mediante la cual la organización demuestra su capacidad para
proporcionar de forma coherente productos o servicios que satisfacen los
requisitos del cliente y los reglamentarios aplicables. Aplicar la norma ISO 9001
en las organizaciones, facilitará la implantación de sistemas de control de la
calidad en los procesos de producción.

La calidad no debe ofrecerse única y exclusivamente en los productos finales,


sino que debe estar presente a lo largo de todo el proceso de producción,
incluyendo la fabricación. Es cometido del Departamento de Calidad de cada
organización el aseguramiento de la calidad como parte de la gestión de la
calidad orientada a proporcionar confianza en que se cumplirán los requisitos
de calidad y resultando clave para asegurar la eficiencia de la producción. Es
decir, le corresponde a este departamento controlar y supervisar la calidad a lo
largo de todo el proceso de producción que tenga lugar en una organización.

Cada vez es mayor el número de organizaciones que implantan la norma ISO


9001, debido mayormente a la evolución que ha sufrido este concepto en el
último siglo.

¿POR QUÉ APOSTAR POR LA CALIDAD?

¿Por qué apostar por la calidad en el proceso de producción? Las respuestas a


esta compleja pregunta se ramifican en diversos ámbitos. Nos encontramos
con razones financieras, razones comerciales, razones técnicas, las
condiciones externas y el ambiente de la empresa.

FASES PARA LA IMPLEMENTACIÓN DE UN SISTEMA DE GESTIÓN DE LA


CALIDAD
La calidad en los procesos de producción de una organización se implanta en
una organización siguiendo tres etapas:

1. EVALUACIÓN Y PLANIFICACIÓN

Lo primero que debe hacerse es realizar una clara definición del sistema de
gestión de calidad que se vaya a implantar y establecer el equipo de trabajo del
mismo, valorando la posibilidad de contar o no con apoyo externo, por ejemplo,
de un consultor.

A nivel interno de la organización, es necesario nombrar a un coordinador del


proyecto que sea el responsable de diseñar, desarrollar e implantar el sistema
de calidad en el proceso de producción de la organización, así como es
necesario contar con el apoyo continuo del equipo directivo.

Será necesario, del mismo modo, elaborar un presupuesto y mantener el


compromiso de cumplimiento, junto a las necesidades de formación de cara a
la implantación del sistema, así como diseñar el mejor sistema con el fin de
garantizar que todos los miembros de la organización reciban toda la
información necesaria relativa a la implantación del sistema de calidad.

El éxito de la implantación de un sistema de calidad vendrá condicionado por la


respuesta a estas siete cuestiones imprescindibles:

1. Proyecto o tarea: ¿Qué hay que hacer?

2. Objetivos: ¿Qué debemos / queremos? ¿Para qué queremos lograrlo?

3. Resultados: ¿Qué debe obtenerse? ¿Cómo reconocemos el logro de los


objetivos?

4. ¿Con qué “inputs” contamos?

5. ¿Qué “inputs” necesitamos?

6. ¿Cuáles son las condiciones básicas para la implantación?

7. ¿Qué medidas concretas han de llevarse a cabo para lograr ese


resultado

2. FASE DE IMPLANTACIÓN: DOCUMENTACIÓN DEL SISTEMA

La normativa exige que el sistema de gestión de la calidad se encuentre


documentado. Dicha documentación debe ser sencilla, eficaz y reflejar de la
realidad de la empresa.

Los documentos básicos que deben contener el sistema de calidad son:


 Manual de gestión

 Procedimientos

 Instrucciones de trabajo

 Documentación externa

 Planes de calidad

 Registros

 Política de gestión

Complementariamente se podrá recurrir a documentación externa como la


legislación vigente, manuales de uso, documentación de proveedores,
documentos técnicos, etc.

En cuanto a las fases en que se llevará a cabo la documentación del sistema


de calidad nos encontramos con tres:

 Manual de calidad: Descripción de la empresa y de su historia, Política


de Calidad y objetivos de Calidad. Siendo muy importante el proceso de
difusión de la política y objetivos de la calidad dentro de la empresa.

 Mapping de procesos: definición de los procesos y niveles de procesos


de la empresa, además de sus interacciones.

 Estructura y desarrollo de los procedimientos, documentando los que se


crean oportunos.

3. AUDITORIA DEL SISTEMA

Una vez terminada la fase de documentación deberá realizarse una auditoría


interna al sistema para comprobar el correcto funcionamiento del mismo. Del
resultado se obtendrá una imagen clara de en qué medida el sistema de
calidad ha sido implantado y funciona en la práctica.

Una vez que el sistema de gestión de la calidad esté funcionando y las


primeras auditorías internas del sistema se hayan realizado con éxito, será el
momento de decidir si se desea certificar o no este Sistema de Gestión de la
Calidad, siguiendo la norma ISO 9001:2008.

EL CONTROL DE CALIDAD EN LOS PROCESOS DE PRODUCCIÓN

El control de calidad se define como “el conjunto de medidas y análisis


relacionados con las características de un elemento”. El control de calidad
parte de un elemento, producto o servicio que se realiza, a fin de comprobar el
cumplimiento de los requisitos previamente establecidos.
El grado de calidad será “el indicador de las propiedades y características de
aquellos productos / servicios que se destinan a una misma utilización y para
los que se mantiene una relación entre prestaciones y coste”.

Cuando se realiza el control de calidad en los procesos de producción se


persigue un doble objetivo:

 Comprobar la conformidad del producto con respecto a las


especificaciones de diseño del mismo.

 Identificar las causas de la variabilidad para establecer métodos de


corrección y de prevención, y para lograr que los productos fabricados
respondan a las especificaciones de diseño.

REACCIÓN EN CADENA DE LA CALIDAD

Como hemos visto hasta ahora, una calidad alta repercute en todas las fases
del proceso de producción de una organización. De un modo esquemático W.
Edwards Deming lo resume de esta manera:

Mejora de la calidad –> Pocos fallos, pocos retrasos, mejor uso de recursos y
costes reducidos –> Mejora de la productividad –> Captura de Mercado con
mayor calidad y precios más bajos –> Permanencia en el negocio –>
Proporciona trabajo y más trabajo.

Para cerrar este artículo nada menor que recurrir a las palabras de un experto
en esta materia: “Si deseas mejorar las características de un proceso de
producción, debes comenzar por interesarte en la calidad de lo que sea que
estás haciendo. Mejorando la calidad de lo que estás haciendo conduce a:
menos despilfarro, menos coste, productividad más alta, mejor calidad y más
satisfacción por parte de todos”, afirma el teórico organizacional Myron Tribus.

 Por razones financieras: sencillamente una mala calidad resulta cara


tanto a la empresa como al cliente, y consecuentemente lleva asociada
pérdida de beneficios.

 Por razones comerciales: la calidad nos ayudará a llevar mejor los


factores negativos (aumento del precio de la energía o de las materias
primas, así como las exigencias del mercado), mejorar el punto de vista
del cliente en cuanto a la relación calidad / precio y, por último, consigue
mantener o mejorar la imagen de marca, consiguiendo clientela fiel y
desarrollo del mercado.

 En cuanto a las razones técnicas nos encontramos con que la calidad


mejora las prestaciones técnicas, también mejora las propiedades
ligadas a su utilización (fiabilidad, de mantenimiento y duración de vida),
así como el dominio de la técnica (mejorando y normalizando el proceso
de fabricación, así como los métodos y procedimientos de inspección).
 La calidad también influye a la hora de mejorar las relaciones externas
que se mantengan con clientes industriales, con asociaciones de
consumidores, con poderes públicos y con asociaciones ecológicas.

 Por último, la implantación de la calidad mejora el ambiente interno de la


organización. La mayor premisa a seguir es la satisfacción por el trabajo
bien hecho.

En definitiva, una calidad en los procesos de producción más alta genera


ventajas a la organización como un menor despilfarro, menos repeticiones,
menos rechazos, menos reclamaciones y menos devoluciones, lo que se
traduce en costes más bajos y en una productividad más alta.
CALIDAD EN EL SOFTWARE
 Hay que tener en cuenta a la hora de abordar la calidad en el software un
conjunto de características del mismo que lo hace un producto peculiar:
 Se desarrolla, no se fabrica en el sentido clásico del mismo.
 Se trata de un producto lógico, sin existencia física.
 No se degrada con el uso.
 Por la complejidad del SW y la ausencia de controles adecuados, se
suele entregar el SW conscientemente con defectos (incluso
públicamente declarados).
 Un gran porcentaje de la producción se hace aún a medida en vez de
emplear componentes existentes y ensamblar.
 Es muy flexible. Se puede cambiar con facilidad e incluso reutilizar
fragmentos.

Riesgo (la posibilidad de que algo ocurra y se caracteriza a menudo por referencia a
los eventos potenciales y consecuencias, o una combinación de estos.)
Cuando la gestión del riesgo se implementa y se mantiene, le permite a la
organización, entre otros:

• aumentar la probabilidad de alcanzar los objetivos;


• fomentar la gestión proactiva;
• ser consciente de la necesidad de identificar y tratar los riesgos en toda la
organización;
• cumplir con los requisitos legales y reglamentarios pertinentes y con las
normas internacionales;
• mejorar la presentación de informes obligatorios y voluntarios;
• mejorar el gobierno;
El proceso de gestión del riesgo ayuda a tomar decisiones teniendo en cuenta la
incertidumbre y la posibilidad de futuros sucesos o circunstancias (previstas o
imprevistas) y sus efectos sobre los objetivos acordados. La gestión del riesgo incluye
la aplicación de métodos lógicos y sistemáticos para:

 comunicar y consultar a lo largo de este proceso;


 establecer del contexto para la identificación, análisis, evaluación, tratamiento
del riesgo asociado con cualquier actividad, proceso, función o producto;
 realizar el seguimiento y revisar los riesgos;
 informar y registrar los resultados de manera apropiada.
En esta norma, se usan las expresiones "gestión del riesgo" y "gestionar el riesgo".
En términos generales, la "gestión del riesgo" se refiere a la arquitectura (principios,
marco y procesos) para la gestión eficaz del riesgo,
Mientras que "gestionar el riesgo" se refiere a la aplicación de esa arquitectura a
riesgos particulares.

También podría gustarte