You are on page 1of 14

Conceptos de Calidad

Definición de Calidad:
Según el Diccionario de la Real Academia Española de la Lengua, la calidad
es:

• Propiedad o conjunto de propiedades inherentes a algo, que permiten


juzgar su valor.

• Buena calidad, superioridad o excelencia.

• Carácter, genio, índole.

• Condición o requisito que se pone en un contrato.

Definición según la ISO

• “Conjunto de propiedades o características de un producto o servicio


que le confieren aptitud para satisfacer unas necesidades expresadas o
implícitas”.

• La calidad suele ser transparente cuando está presente pero resulta


fácilmente reconocible cuando está ausente (por ejemplo, cuando el
producto falla o el servicio es deficiente).

La calidad se ha convertido hoy en día en uno de los principales objetivos


estratégicos para las organizaciones. Cada vez más la supervivencia de las
organizaciones depende de la calidad de los productos y servicios.

“No me preocupa si algo es caro o barato. Solo si es bueno. Y si algo es lo


suficientemente bueno, entonces el público pagará por ello”. Walt Disney.

“La calidad de producto o servicio puede ser definida como las características
totales compuestas de producto y servicio de marketing, ingeniería, fabricación
y mantenimiento por medio de las cuales el producto y servicio cumplirá las
expectativas del cliente”. Armand V. Feigenbaum

Calidad
¿Cómo podemos definirla?

La Calidad se refiere a características mesurables: cosas que se pueden


comparar para conocer estándares.

Se pueden mencionar dos tipos de calidad:

• Calidad de diseño: Se refiere a las características que los diseñadores


especifican para un elemento.

• Calidad de concordancia: Es el grado en el que las especificaciones de


diseño se aplican durante la fabricación.
* Satisfacción del usuario = producto manejable + buena calidad + entrega
dentro de presupuesto y tiempo.

Calidad de Software

• La calidad de software ha sido significativamente mejorada en los


últimos 15 años.

• Las compañías han adoptado nuevas técnicas y metodologías, para


manejar y mejorar la calidad de sus productos.

• La calidad de software es un concepto complejo que es muy distinto a la


calidad que se da en productos manufacturados.

• Error común respecto a la calidad: “pensar que la calidad de software es


algo que se debe de comenzar a preocupar solo después de que se
haya generado código”.

• La gestión de la calidad es una actividad protectora o de sombrilla que


se aplica a lo largo del proceso de software.

Se dice que en los productos manufacturados se debe de cumplir con la


especificación que se dio para los mismos, sin embargo en el software existen
problemas como:

• La especificación se debe de orientar hacia las características del


producto que el cliente quiere. Sin embargo, la empresa desarrolladora
del software tiene otros requerimientos (además de los solicitados por el
cliente).

Problemas con la especificación de Calidad de Software:

• Algunas veces no se sabe como especificar ciertas características de


calidad (por ejemplo la facilidad para dar mantenimiento).

• Es difícil escribir de manera completa las especificaciones de software.

Manejando la Calidad de Software

La calidad de software puede obtenerse definiendo estándares y


procedimientos de calidad en la organización que verifiquen que los estándares
sean seguidos por los equipos de desarrollo. Sin embargo no solo el
seguimiento de los estándares y las buenas prácticas harán que el software
que se construya sea de buena calidad. Se debe de construir en la empresa
una cultura de buena calidad.

Actividades principales para el manejo de la calidad:

• Aseguramiento de la calidad. Establecer una red de procedimientos


organizacionales y estándares que conducen a la alta calidad de
software.
• Planificación de la Calidad. La selección de procedimientos y
estándares, que se adapten a especificaciones de proyectos de software.

• Control de la calidad. La definición y propagación de procesos que


aseguren que el equipo de desarrollo de software ha seguido los
procedimientos de calidad y los estándares.

La mejora de la calidad de software tiene los siguientes principios básicos:

• Las mejoras con éxito se inician desde y son lideradas por la Alta
Dirección de la organización.

• La mejora de calidad del software requiere inversiones, planificación,


personal dedicado, dedicación de los gerentes y capital.

• La mejora de la calidad del software es un trabajo de equipo: los que no


participan no solo no obtienen los beneficios, sino que pueden impedir el
progreso. Al final, toda la organización está involucrada en la mejora
continua.

La gestión de la calidad pretenderá conseguir que estos tres círculos coincidan


lo más posible. Todo lo que este fuera de dicha coincidencia será motivo de
derroche, de gasto superfluo o de insatisfacción.

Aplicando Calidad
Para que las mejoras sean efectivas deben estar basadas en un conocimiento
previo de la situación actual, y en unos objetivos claros: hay que saber donde
se está y a donde se quiere llegar. La mejora es continua, no un esfuerzo en un
momento dado: debe haber aprendizaje y evolución continua. Se requiere un
esfuerzo sostenido y continuo para que las mejoras se implementen Se
requiere un apoyo visible y reiterado de la Alta Dirección.

Control de la calidad
Involucra una serie de inspecciones, revisiones y pruebas empleadas a lo largo
del proceso de software para garantizar que cada producto de trabajo satisfaga
los requisitos que se le han asignado. El control de calidad incluye un ciclo de
retroalimentación con el proceso que creó el producto de trabajo. Un concepto
clave del control de calidad es que todos los productos de trabajo tienen
especificaciones definidas mesurables con las cuales se puede comparar la
salida de cada proceso. El ciclo es esencial para minimizar los efectos
producidos.

El control de la calidad involucra el monitoreo del proceso de desarrollo de


software para asegurar que los procedimientos de aseguramiento de la calidad
están siendo seguidos.

Existen dos aproximaciones complementarias que se usan para verificar los


entregables de un proyecto:

1. Las revisiones del software, su documentación y el proceso usado para


producir dicho software son verificados por un conjunto de personas. La
revisión incluye una comprobación que el proyecto y sus entregables
han seguido los estándares predefinidos. Las desviaciones de los
estándares son anotadas y el encargado del proyecto es alertado.

2. Se realizan comparaciones para ver el grado de calidad en que se


encuentra el proyecto. Aquí se involucran métricas para verificar y
comparar el software contra lo planeado o contra el estándar que se
debió seguir.

Garantía de calidad del software (SQA)


Es una disciplina de la ingeniería de software, se especializa en la aplicación de
procesos de calidad a lo largo del proyecto de software. Consiste en los medios
de la supervisión de tecnología de dotación lógica, los procesos y los métodos
aseguramiento de calidad.

También se puede definir como un conjunto de funciones de auditoría e


información que evalúan la efectividad y que tan completas son las actividades
de control de calidad. Hace esto por medio de intervenciones de sistema de
gerencia de la calidad debajo de cuál se crea el sistema de software. La meta
es brindarle al gestor los datos necesarios para que este informado acerca de
la calidad del producto. Si los datos que ofrece el aseguramiento de la calidad
identifican problemas, es responsabilidad del gestor darle seguimiento para
resolverlos.

La calidad de los procesos de software se está convirtiendo en un elemento


estratégico de las grandes organizaciones debido a su fuerte impacto en la
competitividad de las empresas.

La garantía de calidad del software se relaciona con la práctica de garantía de


calidad en producto fabricación. Hay, sin embargo, algunas diferencias
notables entre el software y un producto manufacturado. Estas diferencias
provienen el hecho de que el producto manufacturado es físico y puede ser
visto mientras que el producto de software no es visible. Por lo tanto su
función, ventaja y costes no están según lo medido fácilmente. El software
vive, crece, se desarrolla, y transforma, desemejante de sus contrapartes
tangibles. Por lo tanto, los procesos y los métodos para manejar, para
supervisar, y para medir su calidad en curso son tan líquido y a veces evasivos
como son los defectos que se significan para mantener cheque.
Su misión no se limita a actividades de verificación, sino que además asume un
rol de liderazgo en la gestión de la calidad durante el proceso de creación y
diseño del producto. La garantía de calidad no debe confundirse con la técnica
específica de control de calidad, cuyo objetivo es verificar el producto

La garantía de calidad toma responsabilidad por los siguientes procesos:

• Gestión de los procesos de ingeniería de software


• Iniciativas de mejoramiento de procesos a lo largo de la organización,
• Integración de los procesos de calidad de ingeniería y servicios a la
clientela

El beneficio principal de un programa de garantía de calidad de software es


asegurar a la gerencia del proyecto que los procesos establecidos se han
ejecutado cabalmente. Esta evaluación es hecha por un grupo independiente,
especializado en métodos de calidad, con un criterio objetivo y con visión de
contexto

La garantía de calidad se asegura de lo siguiente:

• Se usa la metodología de desarrollo apropiada


• Las actividades de desarrollo han sido debidamente planeadas
• Se han definido estándares y procedimientos para al proyecto
• El personal ha sido debidamente entrenado en los procesos de calidad
aplicables
• Se llevan a cabo regularmente revisiones y auditorías independientes
• El desarrollo es documentado adecuadamente para facilitar la
mantención y la reutilización
• La documentación se produce oportunamente y no después que el
desarrollo ha sido completado
• Los cambios introducidos han sido debidamente controlados
• Las pruebas efectuadas son eficaces para detectar defectos,
especialmente en aquellas áreas de mayor riesgo
• Las actividades se llevan a cabo de acuerdo a los plazos y en los
términos planeados
• Las desviaciones a los estándares se identifican rápidamente
• El proyecto está en condiciones para ser sometido a auditorías externas,
si corresponde
• La calidad es verificada con respecto a criterios preestablecidos
• La gerencia es oportunamente informada de problemas y riesgos
relativos a la calidad
• Los problemas de calidad se analizan y las causas se comunican al
proyecto para tomar medidas preventivas que eviten su repetición

Costo de la calidad
El Costo de la Calidad del Software CoQ, es una técnica introducida por Juran
en 1996 con el fin de proporcionar a los directores de proyectos instrumentos
que les permitan justificar la promoción de mejoras en el proceso de desarrollo.

Incluye todos los costos que genera la búsqueda de calidad o que demanda el
desarrollo de las actividades relacionadas con la calidad. Así como incurre el
proyecto para mejorar los entregables prometidos. Estos costos pueden ser de
dos tipos: Costos de Prevención, Costos de Evaluación y fallas.

• Costos de Prevención: están causados por las medidas tomadas en el


proyecto para prevenir defectos o problemas en los entregables, para
evitar la aparición de errores. En un proyecto de software esto sería por
ejemplo implementar una metodología de desarrollo consistente.
• Costos de Evaluación: están causados por las medidas tomadas para
evaluar los entregables una vez producidos, y corregirlos si es necesario.
En un proyecto de software esto sería por ejemplo dedicar recursos a las
pruebas de integración del sistema una vez desarrollado.
• Capacitación (este es un Costo de Prevención): capacitación en la
construcción o entrega del producto o servicio. Sirve para insertar el
proceso de administración de calidad dentro del proceso de elaboración.
Sirve para implementar la calidad en términos técnicos, específicos a los
entregables.
• Mantenimiento (Costo de Prevención): definición de políticas de
mantenimiento posteriores a la finalización del proyecto. Sirve para
conservar el buen desempeño de los entregables una vez finalizado el
proyecto.
• Pruebas (Costo de Evaluación): especificación y ejecución de pruebas
para verificar el cumplimiento de los requerimientos por parte de los
entregables. Sirve para validar el funcionamiento normal de los
entregables antes de que se usen en producción.
• Auditorías (Costo de Evaluación): desarrollo de auditorías que
inspeccionen el proceso de construcción de los entregables. Sirven para
no cometer el mismo error dos veces.

Costos de Fallas
Son aquellos que no se presentan cuando el producto esta bien hecho, es decir
no existieran si no hay defectos antes de enviar un producto a los clientes.
Se dividen en:
• Costos de fallas internas: (se detectan antes de enviar el
producto) incluyen reelaboración, reparación y análisis en modo
de falla.
• Costos de fallas externas: (se detectan ya que se envió el
producto al cliente), ejemplos: resolución de quejas, devolución y
reemplazo del producto, soporte de ayuda en línea y trabajo de
garantía.

Los costos relativos para encontrar y reparar un defecto aumentan


sustancialmente conforme pasa de la prevención a detección y de los de falla
interna a externa.

Función del SQA


Se refiere al aspecto de revisión y de reporte de la administración.
Es un enfoque sistemático de evaluación de la calidad del Software
desarrollado, basado en el correcto cumplimiento de los estándares y
procedimientos durante el ciclo de vida del Software. Su función básica es
proporcionar datos sobre la calidad del producto a la gerencia y asegurarle que
los estándares de calidad especificados se están cumpliendo.

El propósito del SQA es:


• Evaluar críticamente el software desarrollado
• Comprobar si los estándares de calidad se han cumplido
• Si el producto satisface o no las necesidades del cliente y también
si identifica las debilidades que el cliente puede detectar.

Procesos de aseguramiento de la calidad


Se deben de seleccionar herramientas y metodologías para poder soportar los
estándares que se van a seguir.
Existen dos tipos de estándares que pueden ser establecidos como parte del
proceso de aseguramiento de la calidad que son:
Estándares de Productos: Estos estándares aplican al producto de software
que se va a desarrollar. Incluyen estándares de documentación, estándares o
guías para obtener requerimientos, políticas o reglas para la programación.
Estándares de Procesos: Estos estándares definen el proceso que debe de
ser seguido durante el desarrollo de software, pueden incluir definiciones de
especificación, diseño y validación de procesos y descripción de documentos
que deben de ser escritos en el transcurso de los procesos.

SQA (Software Quality Assurance; Garantía de la


Calidad del Software).
El SQA se puede definir como la conformidad a las necesidades funcionales y
de rendimiento, a los estándares de desarrollo y a las características implícitas
requeridas de todo el software que se ha desarrollado profesionalmente. A su
vez, es un set de actividades sistemáticas que aseguran que el proceso del
software y productos conformados por requerimientos, estándares, y
procedimientos. Los procesos incluyen todas las actividades involucradas en el
diseño, codificación, pruebas y mantenimiento; Los productos incluyen
software, datos asociados, documentación, y toda la documentación para
soporte y reportes.

La implementación de una disciplina de SQA tiene como principal objetivo


aumentar la calidad de los entregables durante todo el proceso de desarrollo.
Muchos requerimientos de calidad, sobre todo aquellos que tienen que ver con
el rendimiento, la usabilidad, la carga, la disponibilidad, etc. pueden ser
tratados como riesgos. Es decir que, el hecho de que uno de ellos no se
cumpla, implica un riesgo.
Entonces, al asegurar la calidad del software durante su proceso, se
disminuyen los riesgos asociados, aumentando la predictibilidad del desarrollo
de software. Esto trae aparejado una serie de beneficios de variada visibilidad.

Objetivos del SQA:


1. Planificar las actividades de aseguramiento de la calidad.
2. Revisar y auditar objetivamente los productos y las actividades para
verificar que están conformes con los procedimientos y estándares
aplicables.
3. Proporcionar los resultados de estas revisiones o auditorías informando a
la dirección cuando sea necesaria su mediación.

Brinda a la administración la seguridad de que procesos oficialmente


establecidos están siendo implementados. Y asegura que:
1. Una metodología de desarrollo apropiada este establecida
2. Que los proyectos utilicen estándares y procedimientos en su trabajo
3. Que la documentación sea creada para mantenimiento y mejoramiento
4. La administración de configuración de software este adecuada para
controlar cambios
5. Se realicen pruebas y que se aprueben
6. Cualquier deficiencia y desviaciones sean identificadas y llevadas con
atención a la administración.
Presencia de SQA

• Muchas organizaciones empiezan a crear grupos de SQA.


• Estas personas actúan como representantes internos del cliente.
• Es responsabilidad del grupo SQA ayudar a los Ing., a lograr una alta
calidad en el programa o aplicación de software determinado.

Este grupo tiene una serie de actividades que se presentan a continuación

Esta relación implica a varios responsables durante el proceso de la


elaboración del software de calidad, estos son:
• Ingenieros de software
• Jefes de proyecto
• Clientes
• Vendedores
• Quienes trabajan dentro de un grupo de la SQA

Estos últimos pueden ser independientes y tendrán las siguientes actividades


para llegar al objetivo de la SQA:
1. Establecimiento de un plan de la SQA para un proyecto.

En este plan se identifica:


• Evaluaciones a realizar
• Auditorías y revisiones a realizar
• Estándares que se pueden aplicar al proyecto
• Procedimientos para información y seguimiento de errores
• Documentos producidos por el grupo SQA
• Realimentación de información proporcionada al equipo de proyecto del
software
1. Participación en el desarrollo de la descripción del proceso de software
del proyecto
2. Revisión de las actividades de ingeniería del software para verificarsu
ajuste al proceso de software definido
3. Auditoría de los productos de software designados para verificar el
ajuste con los definidos como parte del proceso de software
4. Asegurar que las desviaciones del trabajo y los productos del software se
documenten y se manejen de acuerdo con un procedimiento establecido
5. Registrar lo que no se ajuste a los requisitos e informar a sus superiores

Actividades del Personal de SQA


Es responsable de asegurar la calidad de los productos generados en el
proyecto y del proceso utilizado. Para asegurar la calidad debe revisar la
calidad de los entregables de planificación del proyecto y los entregables de
valoración del proyecto. Además revisa el nivel de apego al modelo de proceso
de desarrollo de software y a los planes de Verificación, Gestión de Proyecto y
Gestión de Calidad, documentando las desviaciones encontradas.
Debe conocer los conceptos y técnicas de Gestión de Calidad del Software.
Debe identificar las propiedades de calidad que deben cumplir los productos
del proyecto. Centralizar y revisar las entregas que se realizan durante el ciclo
de vida del proyecto.
Realiza las Revisiones Técnicas Formales con los responsables de los productos
a revisar.

El Responsable de SQA debe:


• Asegurarse de que se desarrollen prototipos para probar y eliminar
riesgos técnicos que hagan fracasar el proyecto así como también
disminuir la calidad del mismo
• Asegurarse de que se realicen estudios de factibilidad
• Realizar mediciones para comprobar la calidad del proyecto
• Asegurarse de que se realice la actividad de implementación y se haga
según los estándares de calidad propuestos
• Evitar el desperdicio de esfuerzo en conjunto con el Administrador y el
Arquitecto
• Registrar las métricas de aceptación tomando en cuenta el Documento
de Validación con el Cliente.

Perfil del rol


• Debe conocer los requerimientos del sistema.
• Debe conocer los estándares o lineamientos del proyecto para asegurar
la calidad.

Actividades que son responsabilidad del rol


• Planificar la Calidad
• Revisión Técnica Formal (RTF)
• Revisar las Entregas
• Revisar el Ajuste al Proceso
• Evaluar la Calidad de los Productos
• Realizar el Informe Final de Calidad

Entregables que son responsabilidad del rol


• Plan de Calidad
• Informe de RTF
• Entrega Semanal de SQA
• Informe de Revisión de SQA
• Informe Final de Calidad

Actividades en las que está involucrado el rol


• Relevar los Requerimientos
• Especificar los Requerimientos
• Priorizar los Requerimientos
• Validar los Requerimientos
• Validar con Prototipo
• Definir el Alcance del Sistema
• Definir la Línea Base del Proyecto
• Planificar el Proyecto
• Describir la Versión
• Planificar la Transición
• Seguimiento de Satisfacción del Cliente
• Gestión de Riesgos
• Registrar Esfuerzo
• Auto estudio
• Reunión de Equipo
• Preparar Cierre del Proyecto
• Reunión Conmemorativa

Actividades del SQA


Es una disciplina que está compuesta por una serie de actividades que
acompañan al proceso de desarrollo.
El objetivo de estas tareas es aumentar, administrar y monitorear la calidad de
los entregables producidos.
Para poder identificar estas actividades y el momento oportuno para realizarlas
es necesario revisar el ciclo de vida de un proyecto.
Para identificar las actividades se basa en el análisis de
fases/disciplinas/esfuerzo realizado en RUP por ser un proceso muy difundido
en el mercado, aunque el mismo análisis puede aplicarse a otros procesos de
desarrollo.
• Verificación de requerimientos: esta actividad se concentra en
validar la completitud, correctitud, claridad y no ambigüedad de los
requerimientos de un sistema.
• Validación y verificación de documentación: esta actividad se
encarga de controlar la correctitud, completitud y no ambigüedad de la
documentación. La documentación en UML es muy útil para esta
práctica por el poder semántico que tiene y por la posibilidad de validar
sintácticamente la documentación.
• Validación de arquitectura: esta actividad es muy importante para
evaluar la factibilidad de cumplir con los requerimientos no funcionales y
detectar de forma temprana los principales riesgos asociados al
proyecto.
• Control de código: se subdivide en 2 actividades:
• Control estático del código: es la validación del código contra un
conjunto de reglas, mejores prácticas y estándares predefinidos.
• Control dinámico del código: el control se focaliza en el uso de los
recursos que hace la aplicación y la cobertura del código que hacen las
pruebas unitarias

Para poder lograr una buena adherencia con los estándares se debe medir
cuantitativamente, donde sea posible, los aspectos de calidad (por ejemplo
complejidad, confiabilidad, mantenimiento, seguridad, defectos, número de
problemas) utilizando métricas bien establecidas. Para cumplir con esto, se
deben realizar chequeos de:

- Administración.
- Documentación.
- Estándares, prácticas, convenciones y métricas.
- Revisiones e intervenciones.
- Actividades de testeo.
- Reporte de errores y acciones correctivas.
- Herramientas, técnicas y métodos.
- Control del código.
- Control de medios.
- Colección de registros, mantenimiento y retención.
- Control de los proveedores.
- Entrenamiento.
- Administración del riesgo.

Problemas que Resuelve SQA


• Aumenta las posibilidades del éxito final del proyecto
• Ayuda a definir los parámetros de medición de la calidad del software
• Verifica que los estándares sean aplicados correctamente
• Define un plan de monitoreo del proceso de desarrollo del software (ciclo
de vida)

Referencias

1. [Desconocido] “Calidad” 2011. <<http://buscon.rae.es/draeI/SrvltConsulta?


TIPO_BUS=3&LEMA=calidad>>
2. [Desconocido] “ISO 8402” 19 de Agosto del 2010. <<
http://es.wikipedia.org/wiki/ISO_8402>>
3. [Desconocido] “Implantación de Calidad de Software”. <<
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r67854.PPT>>
4. [Desconocido] “ARMAND V. FEIGENBAUM”. 6 de Febrero del 2009. <<
http://www.pablogiugni.com.ar/httpwwwpablogiugnicomarp91/>>
5. [Cathy Peñuñuri] “Implantación de Calidad de Software” 2011.
<<Diapositivas>>
6. [Desconocido] “Garantía de calidad del software”. 11 de Febrero del 2011.
<< http://www.worldlingo.com/ma/enwiki/es/Software_quality_assurance>>
7. [Desconocido] “La garantía de calidad en el software”. 22 de Abril del 2005.
<< http://www.idg.es/computerworld/articulo.asp?id=167022>>
8. [Luciano Guerrero] “La garantía de calidad en el software”. 11 de Octubre
del 1999. <<
http://www.reocities.com/SiliconValley/lab/3629/garantia.htm>>
9. [Desconocido] “Costo De La Calidad Del Software”.<<
http://www.mitecnologico.com/Main/CostoDeLaCalidadDelSoftware >>
10. [IAAP] “El Costo de la Calidad”. <<
http://www.deltaasesores.com/articulos/autores-invitados/iaap/3005-el-
costo-de-la-calidad >>
11. [Desconocido] << http://www.mitecnologico.com>>
12. [Roger S.Pressman] “Garantía de la Calidad del Software (SQA/GCS)
”1993. <<Libro Ingeniería de Software, un enfoque práctico 3ª Edición, The
McGraw-Hill, Inc >>

You might also like